diff --git a/Makefile b/Makefile index 1fac075e..b1dc31b7 100644 --- a/Makefile +++ b/Makefile @@ -46,6 +46,7 @@ update-protobufs: $(SED) -i 's/\.CMsgSteamLearn/CMsgSteamLearn/g' dota/*.proto $(SED) -i 's/\.CMsgShowcaseItem/CMsgShowcaseItem/g' dota/*.proto $(SED) -i 's/\.CMsgShowcaseBackground/CMsgShowcaseBackground/g' dota/*.proto + $(SED) -i 's/\.CMsgSurvivorsUserData/CMsgSurvivorsUserData/g' dota/*.proto protoc -I dota --go_out=paths=source_relative:dota dota/*.proto generate: diff --git a/callbacks.go b/callbacks.go index 7f7b1fb0..d634be60 100644 --- a/callbacks.go +++ b/callbacks.go @@ -25,6 +25,7 @@ type Callbacks struct { onCDemoSpawnGroups []func(*dota.CDemoSpawnGroups) error onCDemoAnimationData []func(*dota.CDemoAnimationData) error onCDemoAnimationHeader []func(*dota.CDemoAnimationHeader) error + onCDemoRecovery []func(*dota.CDemoRecovery) error onCNETMsg_NOP []func(*dota.CNETMsg_NOP) error onCNETMsg_SplitScreenUser []func(*dota.CNETMsg_SplitScreenUser) error onCNETMsg_Tick []func(*dota.CNETMsg_Tick) error @@ -186,7 +187,6 @@ type Callbacks struct { onCDOTAUserMsg_BoosterState []func(*dota.CDOTAUserMsg_BoosterState) error onCDOTAUserMsg_WillPurchaseAlert []func(*dota.CDOTAUserMsg_WillPurchaseAlert) error onCDOTAUserMsg_TutorialMinimapPosition []func(*dota.CDOTAUserMsg_TutorialMinimapPosition) error - onCDOTAUserMsg_PlayerMMR []func(*dota.CDOTAUserMsg_PlayerMMR) error onCDOTAUserMsg_AbilitySteal []func(*dota.CDOTAUserMsg_AbilitySteal) error onCDOTAUserMsg_CourierKilledAlert []func(*dota.CDOTAUserMsg_CourierKilledAlert) error onCDOTAUserMsg_EnemyItemAlert []func(*dota.CDOTAUserMsg_EnemyItemAlert) error @@ -275,6 +275,10 @@ type Callbacks struct { onCDOTAUserMsg_GiftPlayer []func(*dota.CDOTAUserMsg_GiftPlayer) error onCDOTAUserMsg_FacetPing []func(*dota.CDOTAUserMsg_FacetPing) error onCDOTAUserMsg_InnatePing []func(*dota.CDOTAUserMsg_InnatePing) error + onCDOTAUserMsg_RoshanTimer []func(*dota.CDOTAUserMsg_RoshanTimer) error + onCDOTAUserMsg_NeutralCraftAvailable []func(*dota.CDOTAUserMsg_NeutralCraftAvailable) error + onCDOTAUserMsg_TimerAlert []func(*dota.CDOTAUserMsg_TimerAlert) error + onCDOTAUserMsg_MadstoneAlert []func(*dota.CDOTAUserMsg_MadstoneAlert) error pb *proto.Buffer } @@ -375,6 +379,11 @@ func (c *Callbacks) OnCDemoAnimationHeader(fn func(*dota.CDemoAnimationHeader) e c.onCDemoAnimationHeader = append(c.onCDemoAnimationHeader, fn) } +// OnCDemoRecovery registers a callback EDemoCommands_DEM_Recovery +func (c *Callbacks) OnCDemoRecovery(fn func(*dota.CDemoRecovery) error) { + c.onCDemoRecovery = append(c.onCDemoRecovery, fn) +} + // OnCNETMsg_NOP registers a callback for NET_Messages_net_NOP func (c *Callbacks) OnCNETMsg_NOP(fn func(*dota.CNETMsg_NOP) error) { c.onCNETMsg_NOP = append(c.onCNETMsg_NOP, fn) @@ -1180,11 +1189,6 @@ func (c *Callbacks) OnCDOTAUserMsg_TutorialMinimapPosition(fn func(*dota.CDOTAUs c.onCDOTAUserMsg_TutorialMinimapPosition = append(c.onCDOTAUserMsg_TutorialMinimapPosition, fn) } -// OnCDOTAUserMsg_PlayerMMR registers a callback for EDotaUserMessages_DOTA_UM_PlayerMMR -func (c *Callbacks) OnCDOTAUserMsg_PlayerMMR(fn func(*dota.CDOTAUserMsg_PlayerMMR) error) { - c.onCDOTAUserMsg_PlayerMMR = append(c.onCDOTAUserMsg_PlayerMMR, fn) -} - // OnCDOTAUserMsg_AbilitySteal registers a callback for EDotaUserMessages_DOTA_UM_AbilitySteal func (c *Callbacks) OnCDOTAUserMsg_AbilitySteal(fn func(*dota.CDOTAUserMsg_AbilitySteal) error) { c.onCDOTAUserMsg_AbilitySteal = append(c.onCDOTAUserMsg_AbilitySteal, fn) @@ -1625,6 +1629,26 @@ func (c *Callbacks) OnCDOTAUserMsg_InnatePing(fn func(*dota.CDOTAUserMsg_InnateP c.onCDOTAUserMsg_InnatePing = append(c.onCDOTAUserMsg_InnatePing, fn) } +// OnCDOTAUserMsg_RoshanTimer registers a callback for EDotaUserMessages_DOTA_UM_RoshanTimer +func (c *Callbacks) OnCDOTAUserMsg_RoshanTimer(fn func(*dota.CDOTAUserMsg_RoshanTimer) error) { + c.onCDOTAUserMsg_RoshanTimer = append(c.onCDOTAUserMsg_RoshanTimer, fn) +} + +// OnCDOTAUserMsg_NeutralCraftAvailable registers a callback for EDotaUserMessages_DOTA_UM_NeutralCraftAvailable +func (c *Callbacks) OnCDOTAUserMsg_NeutralCraftAvailable(fn func(*dota.CDOTAUserMsg_NeutralCraftAvailable) error) { + c.onCDOTAUserMsg_NeutralCraftAvailable = append(c.onCDOTAUserMsg_NeutralCraftAvailable, fn) +} + +// OnCDOTAUserMsg_TimerAlert registers a callback for EDotaUserMessages_DOTA_UM_TimerAlert +func (c *Callbacks) OnCDOTAUserMsg_TimerAlert(fn func(*dota.CDOTAUserMsg_TimerAlert) error) { + c.onCDOTAUserMsg_TimerAlert = append(c.onCDOTAUserMsg_TimerAlert, fn) +} + +// OnCDOTAUserMsg_MadstoneAlert registers a callback for EDotaUserMessages_DOTA_UM_MadstoneAlert +func (c *Callbacks) OnCDOTAUserMsg_MadstoneAlert(fn func(*dota.CDOTAUserMsg_MadstoneAlert) error) { + c.onCDOTAUserMsg_MadstoneAlert = append(c.onCDOTAUserMsg_MadstoneAlert, fn) +} + func (c *Callbacks) callByDemoType(t int32, buf []byte) error { switch t { case 0: // dota.EDemoCommands_DEM_Stop @@ -1969,6 +1993,25 @@ func (c *Callbacks) callByDemoType(t int32, buf []byte) error { return nil + case 18: // dota.EDemoCommands_DEM_Recovery + if c.onCDemoRecovery == nil { + return nil + } + + msg := &dota.CDemoRecovery{} + c.pb.SetBuf(buf) + if err := c.pb.Unmarshal(msg); err != nil { + return err + } + + for _, fn := range c.onCDemoRecovery { + if err := fn(msg); err != nil { + return err + } + } + + return nil + } if v(1) { @@ -5039,25 +5082,6 @@ func (c *Callbacks) callByPacketType(t int32, buf []byte) error { return nil - case 531: // dota.EDotaUserMessages_DOTA_UM_PlayerMMR - if c.onCDOTAUserMsg_PlayerMMR == nil { - return nil - } - - msg := &dota.CDOTAUserMsg_PlayerMMR{} - c.pb.SetBuf(buf) - if err := c.pb.Unmarshal(msg); err != nil { - return err - } - - for _, fn := range c.onCDOTAUserMsg_PlayerMMR { - if err := fn(msg); err != nil { - return err - } - } - - return nil - case 532: // dota.EDotaUserMessages_DOTA_UM_AbilitySteal if c.onCDOTAUserMsg_AbilitySteal == nil { return nil @@ -6730,6 +6754,82 @@ func (c *Callbacks) callByPacketType(t int32, buf []byte) error { return nil + case 626: // dota.EDotaUserMessages_DOTA_UM_RoshanTimer + if c.onCDOTAUserMsg_RoshanTimer == nil { + return nil + } + + msg := &dota.CDOTAUserMsg_RoshanTimer{} + c.pb.SetBuf(buf) + if err := c.pb.Unmarshal(msg); err != nil { + return err + } + + for _, fn := range c.onCDOTAUserMsg_RoshanTimer { + if err := fn(msg); err != nil { + return err + } + } + + return nil + + case 627: // dota.EDotaUserMessages_DOTA_UM_NeutralCraftAvailable + if c.onCDOTAUserMsg_NeutralCraftAvailable == nil { + return nil + } + + msg := &dota.CDOTAUserMsg_NeutralCraftAvailable{} + c.pb.SetBuf(buf) + if err := c.pb.Unmarshal(msg); err != nil { + return err + } + + for _, fn := range c.onCDOTAUserMsg_NeutralCraftAvailable { + if err := fn(msg); err != nil { + return err + } + } + + return nil + + case 628: // dota.EDotaUserMessages_DOTA_UM_TimerAlert + if c.onCDOTAUserMsg_TimerAlert == nil { + return nil + } + + msg := &dota.CDOTAUserMsg_TimerAlert{} + c.pb.SetBuf(buf) + if err := c.pb.Unmarshal(msg); err != nil { + return err + } + + for _, fn := range c.onCDOTAUserMsg_TimerAlert { + if err := fn(msg); err != nil { + return err + } + } + + return nil + + case 629: // dota.EDotaUserMessages_DOTA_UM_MadstoneAlert + if c.onCDOTAUserMsg_MadstoneAlert == nil { + return nil + } + + msg := &dota.CDOTAUserMsg_MadstoneAlert{} + c.pb.SetBuf(buf) + if err := c.pb.Unmarshal(msg); err != nil { + return err + } + + for _, fn := range c.onCDOTAUserMsg_MadstoneAlert { + if err := fn(msg); err != nil { + return err + } + } + + return nil + } return nil diff --git a/dota/base_gcmessages.pb.go b/dota/base_gcmessages.pb.go index 2907007f..f58f76f8 100644 --- a/dota/base_gcmessages.pb.go +++ b/dota/base_gcmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: base_gcmessages.proto package dota @@ -23,28 +23,30 @@ const ( type EGCBaseMsg int32 const ( - EGCBaseMsg_k_EMsgGCInviteToParty EGCBaseMsg = 4501 - EGCBaseMsg_k_EMsgGCInvitationCreated EGCBaseMsg = 4502 - EGCBaseMsg_k_EMsgGCPartyInviteResponse EGCBaseMsg = 4503 - EGCBaseMsg_k_EMsgGCKickFromParty EGCBaseMsg = 4504 - EGCBaseMsg_k_EMsgGCLeaveParty EGCBaseMsg = 4505 - EGCBaseMsg_k_EMsgGCServerAvailable EGCBaseMsg = 4506 - EGCBaseMsg_k_EMsgGCClientConnectToServer EGCBaseMsg = 4507 - EGCBaseMsg_k_EMsgGCGameServerInfo EGCBaseMsg = 4508 - EGCBaseMsg_k_EMsgGCLANServerAvailable EGCBaseMsg = 4511 - EGCBaseMsg_k_EMsgGCInviteToLobby EGCBaseMsg = 4512 - EGCBaseMsg_k_EMsgGCLobbyInviteResponse EGCBaseMsg = 4513 - EGCBaseMsg_k_EMsgGCToClientPollFileRequest EGCBaseMsg = 4514 - EGCBaseMsg_k_EMsgGCToClientPollFileResponse EGCBaseMsg = 4515 - EGCBaseMsg_k_EMsgGCToGCPerformManualOp EGCBaseMsg = 4516 - EGCBaseMsg_k_EMsgGCToGCPerformManualOpCompleted EGCBaseMsg = 4517 - EGCBaseMsg_k_EMsgGCToGCReloadServerRegionSettings EGCBaseMsg = 4518 - EGCBaseMsg_k_EMsgGCAdditionalWelcomeMsgList EGCBaseMsg = 4519 - EGCBaseMsg_k_EMsgGCToClientApplyRemoteConVars EGCBaseMsg = 4520 - EGCBaseMsg_k_EMsgGCToServerApplyRemoteConVars EGCBaseMsg = 4521 - EGCBaseMsg_k_EMsgClientToGCIntegrityStatus EGCBaseMsg = 4522 - EGCBaseMsg_k_EMsgClientToGCAggregateMetrics EGCBaseMsg = 4523 - EGCBaseMsg_k_EMsgGCToClientAggregateMetricsBackoff EGCBaseMsg = 4524 + EGCBaseMsg_k_EMsgGCInviteToParty EGCBaseMsg = 4501 + EGCBaseMsg_k_EMsgGCInvitationCreated EGCBaseMsg = 4502 + EGCBaseMsg_k_EMsgGCPartyInviteResponse EGCBaseMsg = 4503 + EGCBaseMsg_k_EMsgGCKickFromParty EGCBaseMsg = 4504 + EGCBaseMsg_k_EMsgGCLeaveParty EGCBaseMsg = 4505 + EGCBaseMsg_k_EMsgGCServerAvailable EGCBaseMsg = 4506 + EGCBaseMsg_k_EMsgGCClientConnectToServer EGCBaseMsg = 4507 + EGCBaseMsg_k_EMsgGCGameServerInfo EGCBaseMsg = 4508 + EGCBaseMsg_k_EMsgGCLANServerAvailable EGCBaseMsg = 4511 + EGCBaseMsg_k_EMsgGCInviteToLobby EGCBaseMsg = 4512 + EGCBaseMsg_k_EMsgGCLobbyInviteResponse EGCBaseMsg = 4513 + EGCBaseMsg_k_EMsgGCToClientPollFileRequest EGCBaseMsg = 4514 + EGCBaseMsg_k_EMsgGCToClientPollFileResponse EGCBaseMsg = 4515 + EGCBaseMsg_k_EMsgGCToGCPerformManualOp EGCBaseMsg = 4516 + EGCBaseMsg_k_EMsgGCToGCPerformManualOpCompleted EGCBaseMsg = 4517 + EGCBaseMsg_k_EMsgGCToGCReloadServerRegionSettings EGCBaseMsg = 4518 + EGCBaseMsg_k_EMsgGCAdditionalWelcomeMsgList EGCBaseMsg = 4519 + EGCBaseMsg_k_EMsgGCToClientApplyRemoteConVars EGCBaseMsg = 4520 + EGCBaseMsg_k_EMsgGCToServerApplyRemoteConVars EGCBaseMsg = 4521 + EGCBaseMsg_k_EMsgClientToGCIntegrityStatus EGCBaseMsg = 4522 + EGCBaseMsg_k_EMsgClientToGCAggregateMetrics EGCBaseMsg = 4523 + EGCBaseMsg_k_EMsgGCToClientAggregateMetricsBackoff EGCBaseMsg = 4524 + EGCBaseMsg_k_EMsgGCToServerSteamLearnAccessTokensChanged EGCBaseMsg = 4525 + EGCBaseMsg_k_EMsgGCToServerSteamLearnUseHTTP EGCBaseMsg = 4526 ) // Enum value maps for EGCBaseMsg. @@ -72,30 +74,34 @@ var ( 4522: "k_EMsgClientToGCIntegrityStatus", 4523: "k_EMsgClientToGCAggregateMetrics", 4524: "k_EMsgGCToClientAggregateMetricsBackoff", + 4525: "k_EMsgGCToServerSteamLearnAccessTokensChanged", + 4526: "k_EMsgGCToServerSteamLearnUseHTTP", } EGCBaseMsg_value = map[string]int32{ - "k_EMsgGCInviteToParty": 4501, - "k_EMsgGCInvitationCreated": 4502, - "k_EMsgGCPartyInviteResponse": 4503, - "k_EMsgGCKickFromParty": 4504, - "k_EMsgGCLeaveParty": 4505, - "k_EMsgGCServerAvailable": 4506, - "k_EMsgGCClientConnectToServer": 4507, - "k_EMsgGCGameServerInfo": 4508, - "k_EMsgGCLANServerAvailable": 4511, - "k_EMsgGCInviteToLobby": 4512, - "k_EMsgGCLobbyInviteResponse": 4513, - "k_EMsgGCToClientPollFileRequest": 4514, - "k_EMsgGCToClientPollFileResponse": 4515, - "k_EMsgGCToGCPerformManualOp": 4516, - "k_EMsgGCToGCPerformManualOpCompleted": 4517, - "k_EMsgGCToGCReloadServerRegionSettings": 4518, - "k_EMsgGCAdditionalWelcomeMsgList": 4519, - "k_EMsgGCToClientApplyRemoteConVars": 4520, - "k_EMsgGCToServerApplyRemoteConVars": 4521, - "k_EMsgClientToGCIntegrityStatus": 4522, - "k_EMsgClientToGCAggregateMetrics": 4523, - "k_EMsgGCToClientAggregateMetricsBackoff": 4524, + "k_EMsgGCInviteToParty": 4501, + "k_EMsgGCInvitationCreated": 4502, + "k_EMsgGCPartyInviteResponse": 4503, + "k_EMsgGCKickFromParty": 4504, + "k_EMsgGCLeaveParty": 4505, + "k_EMsgGCServerAvailable": 4506, + "k_EMsgGCClientConnectToServer": 4507, + "k_EMsgGCGameServerInfo": 4508, + "k_EMsgGCLANServerAvailable": 4511, + "k_EMsgGCInviteToLobby": 4512, + "k_EMsgGCLobbyInviteResponse": 4513, + "k_EMsgGCToClientPollFileRequest": 4514, + "k_EMsgGCToClientPollFileResponse": 4515, + "k_EMsgGCToGCPerformManualOp": 4516, + "k_EMsgGCToGCPerformManualOpCompleted": 4517, + "k_EMsgGCToGCReloadServerRegionSettings": 4518, + "k_EMsgGCAdditionalWelcomeMsgList": 4519, + "k_EMsgGCToClientApplyRemoteConVars": 4520, + "k_EMsgGCToServerApplyRemoteConVars": 4521, + "k_EMsgClientToGCIntegrityStatus": 4522, + "k_EMsgClientToGCAggregateMetrics": 4523, + "k_EMsgGCToClientAggregateMetricsBackoff": 4524, + "k_EMsgGCToServerSteamLearnAccessTokensChanged": 4525, + "k_EMsgGCToServerSteamLearnUseHTTP": 4526, } ) @@ -3734,6 +3740,100 @@ func (x *CMsgGCToClientAggregateMetricsBackoff) GetUploadRateModifier() float32 return 0 } +type CMsgGCToServerSteamLearnAccessTokensChanged struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccessTokens *CMsgSteamLearnAccessTokens `protobuf:"bytes,1,opt,name=access_tokens,json=accessTokens" json:"access_tokens,omitempty"` +} + +func (x *CMsgGCToServerSteamLearnAccessTokensChanged) Reset() { + *x = CMsgGCToServerSteamLearnAccessTokensChanged{} + if protoimpl.UnsafeEnabled { + mi := &file_base_gcmessages_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgGCToServerSteamLearnAccessTokensChanged) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgGCToServerSteamLearnAccessTokensChanged) ProtoMessage() {} + +func (x *CMsgGCToServerSteamLearnAccessTokensChanged) ProtoReflect() protoreflect.Message { + mi := &file_base_gcmessages_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgGCToServerSteamLearnAccessTokensChanged.ProtoReflect.Descriptor instead. +func (*CMsgGCToServerSteamLearnAccessTokensChanged) Descriptor() ([]byte, []int) { + return file_base_gcmessages_proto_rawDescGZIP(), []int{56} +} + +func (x *CMsgGCToServerSteamLearnAccessTokensChanged) GetAccessTokens() *CMsgSteamLearnAccessTokens { + if x != nil { + return x.AccessTokens + } + return nil +} + +type CMsgGCToServerSteamLearnUseHTTP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UseHttp *bool `protobuf:"varint,1,opt,name=use_http,json=useHttp" json:"use_http,omitempty"` +} + +func (x *CMsgGCToServerSteamLearnUseHTTP) Reset() { + *x = CMsgGCToServerSteamLearnUseHTTP{} + if protoimpl.UnsafeEnabled { + mi := &file_base_gcmessages_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgGCToServerSteamLearnUseHTTP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgGCToServerSteamLearnUseHTTP) ProtoMessage() {} + +func (x *CMsgGCToServerSteamLearnUseHTTP) ProtoReflect() protoreflect.Message { + mi := &file_base_gcmessages_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgGCToServerSteamLearnUseHTTP.ProtoReflect.Descriptor instead. +func (*CMsgGCToServerSteamLearnUseHTTP) Descriptor() ([]byte, []int) { + return file_base_gcmessages_proto_rawDescGZIP(), []int{57} +} + +func (x *CMsgGCToServerSteamLearnUseHTTP) GetUseHttp() bool { + if x != nil && x.UseHttp != nil { + return *x.UseHttp + } + return false +} + type CMsgSetItemPositions_ItemPosition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3746,7 +3846,7 @@ type CMsgSetItemPositions_ItemPosition struct { func (x *CMsgSetItemPositions_ItemPosition) Reset() { *x = CMsgSetItemPositions_ItemPosition{} if protoimpl.UnsafeEnabled { - mi := &file_base_gcmessages_proto_msgTypes[56] + mi := &file_base_gcmessages_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3759,7 +3859,7 @@ func (x *CMsgSetItemPositions_ItemPosition) String() string { func (*CMsgSetItemPositions_ItemPosition) ProtoMessage() {} func (x *CMsgSetItemPositions_ItemPosition) ProtoReflect() protoreflect.Message { - mi := &file_base_gcmessages_proto_msgTypes[56] + mi := &file_base_gcmessages_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3804,7 +3904,7 @@ type CMsgApplyRemoteConVars_ConVar struct { func (x *CMsgApplyRemoteConVars_ConVar) Reset() { *x = CMsgApplyRemoteConVars_ConVar{} if protoimpl.UnsafeEnabled { - mi := &file_base_gcmessages_proto_msgTypes[57] + mi := &file_base_gcmessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3817,7 +3917,7 @@ func (x *CMsgApplyRemoteConVars_ConVar) String() string { func (*CMsgApplyRemoteConVars_ConVar) ProtoMessage() {} func (x *CMsgApplyRemoteConVars_ConVar) ProtoReflect() protoreflect.Message { - mi := &file_base_gcmessages_proto_msgTypes[57] + mi := &file_base_gcmessages_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3882,7 +3982,7 @@ type CMsgClientToGCIntegrityStatusKeyvalue struct { func (x *CMsgClientToGCIntegrityStatusKeyvalue) Reset() { *x = CMsgClientToGCIntegrityStatusKeyvalue{} if protoimpl.UnsafeEnabled { - mi := &file_base_gcmessages_proto_msgTypes[58] + mi := &file_base_gcmessages_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3895,7 +3995,7 @@ func (x *CMsgClientToGCIntegrityStatusKeyvalue) String() string { func (*CMsgClientToGCIntegrityStatusKeyvalue) ProtoMessage() {} func (x *CMsgClientToGCIntegrityStatusKeyvalue) ProtoReflect() protoreflect.Message { - mi := &file_base_gcmessages_proto_msgTypes[58] + mi := &file_base_gcmessages_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3951,7 +4051,7 @@ type CMsgClientToGCAggregateMetrics_SingleMetric struct { func (x *CMsgClientToGCAggregateMetrics_SingleMetric) Reset() { *x = CMsgClientToGCAggregateMetrics_SingleMetric{} if protoimpl.UnsafeEnabled { - mi := &file_base_gcmessages_proto_msgTypes[59] + mi := &file_base_gcmessages_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3964,7 +4064,7 @@ func (x *CMsgClientToGCAggregateMetrics_SingleMetric) String() string { func (*CMsgClientToGCAggregateMetrics_SingleMetric) ProtoMessage() {} func (x *CMsgClientToGCAggregateMetrics_SingleMetric) ProtoReflect() protoreflect.Message { - mi := &file_base_gcmessages_proto_msgTypes[59] + mi := &file_base_gcmessages_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4001,592 +4101,612 @@ var file_base_gcmessages_proto_rawDesc = []byte{ 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x1d, 0x43, - 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, - 0x6e, 0x69, 0x74, 0x5f, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0b, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x73, 0x74, - 0x5f, 0x69, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x6e, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, - 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6c, + 0x65, 0x61, 0x72, 0x6e, 0x2e, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x73, + 0x64, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x1d, 0x43, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, - 0x74, 0x5f, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, - 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x64, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x69, 0x74, - 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x69, 0x74, 0x6d, - 0x61, 0x73, 0x6b, 0x22, 0xc0, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x54, 0x6f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, + 0x74, 0x5f, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, + 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, + 0x42, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x5f, + 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x15, + 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x74, 0x78, 0x6e, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x07, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x69, 0x74, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x50, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x73, + 0x6b, 0x22, 0xc0, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x54, 0x6f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x73, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x12, 0x35, 0x0a, + 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x61, 0x63, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x73, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x12, - 0x35, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x70, 0x69, - 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, - 0x15, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, - 0xaa, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, - 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, - 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x25, - 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0xcf, 0x01, 0x0a, - 0x17, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, - 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, - 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x2e, - 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x4b, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, - 0x72, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x10, - 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x22, 0xae, 0x01, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, - 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, - 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x18, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x22, 0x75, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, - 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x33, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, - 0x4c, 0x41, 0x4e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x22, 0xb9, 0x03, - 0x0a, 0x18, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, - 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x61, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, - 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, - 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x65, - 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, - 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x50, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x22, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, - 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x6c, 0x70, - 0x66, 0x75, 0x6c, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x1d, 0x6e, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x4d, 0x6f, - 0x73, 0x74, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, - 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x43, 0x6f, 0x61, 0x63, - 0x68, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x75, 0x65, - 0x6c, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x11, 0x64, 0x75, 0x65, 0x6c, 0x42, 0x61, 0x6e, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61, 0x64, - 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x64, 0x65, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x14, 0x43, 0x4d, 0x73, - 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, - 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x11, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x50, 0x65, 0x6e, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, - 0x26, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x6e, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, - 0x5d, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x67, 0x67, 0x45, - 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0d, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0b, 0x65, 0x67, 0x67, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x67, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x6a, - 0x0a, 0x14, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x13, 0x43, 0x53, - 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x6e, 0x65, 0x77, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0xdc, 0x03, 0x0a, 0x0b, 0x43, 0x53, - 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x38, 0x0a, - 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x09, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x69, 0x6f, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x15, 0x43, + 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xaa, 0x01, + 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, + 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x72, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0xcf, 0x01, 0x0a, 0x17, 0x43, + 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x63, 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x2e, 0x0a, 0x11, + 0x43, 0x4d, 0x73, 0x67, 0x4b, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, + 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0xae, + 0x01, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x3d, 0x0a, 0x1b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x18, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x22, + 0x75, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x17, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x33, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x41, + 0x4e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x22, 0xb9, 0x03, 0x0a, 0x18, + 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, 0x6b, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x61, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, 0x6b, 0x53, + 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x72, 0x69, + 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x65, 0x6c, 0x69, + 0x67, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6c, 0x69, + 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x12, 0x49, 0x0a, 0x22, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x68, + 0x6f, 0x6f, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, + 0x6c, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, + 0x6e, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x4d, 0x6f, 0x73, 0x74, + 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, + 0x0f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x65, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, + 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x75, 0x65, 0x6c, 0x5f, + 0x62, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x11, 0x64, 0x75, 0x65, 0x6c, 0x42, 0x61, 0x6e, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61, 0x64, 0x65, 0x5f, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x64, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x74, 0x12, + 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, + 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x22, 0x69, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, + 0x65, 0x6e, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x26, 0x0a, + 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x6e, 0x61, 0x6e, 0x74, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, + 0x70, 0x65, 0x6e, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x5d, 0x0a, + 0x13, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x67, 0x67, 0x45, 0x73, 0x73, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x65, + 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, + 0x65, 0x67, 0x67, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x65, 0x67, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x6a, 0x0a, 0x14, + 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x13, 0x43, 0x53, 0x4f, 0x45, + 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x6e, 0x65, 0x77, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0xdc, 0x03, 0x0a, 0x0b, 0x43, 0x53, 0x4f, 0x45, + 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, - 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x70, - 0x70, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, - 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x49, - 0x74, 0x65, 0x6d, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, - 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0e, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x69, - 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x0c, - 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x32, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x15, - 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x74, 0x78, 0x6e, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x22, 0x34, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, - 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, - 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, - 0x22, 0x53, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x69, - 0x72, 0x74, 0x79, 0x53, 0x44, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x64, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, - 0x64, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x55, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x44, 0x4f, - 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1b, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x51, 0x4c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x1a, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x20, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x65, 0x62, - 0x41, 0x50, 0x49, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x64, 0x22, 0x7b, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x47, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, - 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xd2, - 0x02, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, + 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, + 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x6c, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x45, + 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, + 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, + 0x6d, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, + 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, + 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0e, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, + 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x69, 0x74, 0x65, + 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x43, 0x0a, 0x0c, 0x49, 0x74, + 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, - 0x73, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x0c, - 0x45, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x17, - 0x6b, 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x5f, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, - 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x5f, 0x54, 0x6f, 0x6f, 0x6c, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, - 0x01, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, - 0x6d, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x73, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, - 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x5f, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x47, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x78, 0x74, + 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x32, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x15, 0x0a, 0x06, + 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x78, + 0x6e, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0x34, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, + 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, + 0x22, 0x3c, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x53, + 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x69, 0x72, 0x74, + 0x79, 0x53, 0x44, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x64, 0x6f, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x64, 0x6f, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x44, 0x4f, 0x4e, 0x6f, + 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x1b, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x51, 0x4c, + 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x65, 0x62, 0x41, 0x50, + 0x49, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, + 0x7b, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, + 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x69, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xd2, 0x02, 0x0a, + 0x17, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x45, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x0c, 0x45, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x5f, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, - 0x6d, 0x10, 0x04, 0x22, 0x6d, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, - 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x6e, 0x75, 0x73, - 0x75, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x6e, 0x75, 0x73, 0x75, - 0x61, 0x6c, 0x22, 0xcd, 0x02, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x0a, - 0x45, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, - 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, - 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x53, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x54, 0x6f, 0x6f, 0x6c, - 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, - 0x5f, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x53, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x65, 0x64, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x41, 0x64, - 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x10, 0x03, 0x22, 0x5c, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, - 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, - 0x0b, 0x67, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x67, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x22, 0x7c, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, - 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, - 0x74, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x67, 0x65, 0x6d, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x0c, 0x67, 0x65, 0x6d, 0x73, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x22, 0xfa, - 0x03, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, - 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, - 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, - 0x12, 0x30, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x07, 0x45, 0x41, - 0x64, 0x64, 0x47, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, - 0x6d, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x5f, 0x47, 0x65, 0x6d, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, 0x12, - 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x64, - 0x64, 0x47, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, - 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x47, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6f, 0x72, 0x53, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x47, 0x65, - 0x6d, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6f, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x05, 0x12, 0x29, - 0x0a, 0x25, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x47, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, - 0x46, 0x6f, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x10, 0x06, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x41, - 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x53, 0x6f, 0x63, - 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x6e, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x65, 0x6d, 0x10, 0x07, 0x22, 0x5f, 0x0a, 0x18, 0x43, + 0x54, 0x6f, 0x6f, 0x6c, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, 0x12, + 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, + 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x73, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x78, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, + 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x47, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, 0x6d, 0x10, + 0x04, 0x22, 0x6d, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x6e, 0x75, 0x73, 0x75, 0x61, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, + 0x22, 0xcd, 0x02, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x0a, 0x45, 0x41, + 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x41, 0x64, + 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x54, 0x6f, 0x6f, 0x6c, 0x49, 0x73, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x41, + 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, + 0x49, 0x74, 0x65, 0x6d, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x53, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x64, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x53, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x03, + 0x22, 0x5c, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, + 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0b, 0x67, + 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x67, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x7c, + 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x67, 0x65, 0x6d, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x49, 0x74, + 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, + 0x67, 0x65, 0x6d, 0x73, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x22, 0xfa, 0x03, 0x0a, + 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x30, + 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, + 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x07, 0x45, 0x41, 0x64, 0x64, + 0x47, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, + 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x47, + 0x65, 0x6d, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, 0x12, 0x21, 0x0a, + 0x1d, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x02, + 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x47, + 0x65, 0x6d, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, + 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x47, + 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6f, 0x72, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x10, + 0x04, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x47, 0x65, 0x6d, 0x54, + 0x79, 0x70, 0x65, 0x46, 0x6f, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x05, 0x12, 0x29, 0x0a, 0x25, + 0x6b, 0x5f, 0x41, 0x64, 0x64, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x47, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6f, + 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x10, 0x06, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x41, 0x64, 0x64, + 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x53, 0x6f, 0x63, 0x6b, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x55, 0x6e, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x61, 0x62, 0x6c, 0x65, 0x47, 0x65, 0x6d, 0x10, 0x07, 0x22, 0x5f, 0x0a, 0x18, 0x43, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb7, 0x02, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, - 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, - 0x74, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb7, 0x02, 0x0a, - 0x20, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x47, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x47, 0x65, 0x6d, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xc4, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x12, 0x18, 0x0a, - 0x14, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x5f, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x10, 0x01, 0x12, - 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, - 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x6b, - 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x5f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x10, 0x04, 0x22, 0x7c, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x70, - 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, - 0x6c, 0x6c, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x47, 0x65, 0x6d, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, + 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x14, 0x6b, + 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x54, 0x6f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x10, 0x01, 0x12, 0x23, 0x0a, + 0x1f, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, + 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x47, 0x65, 0x6d, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x53, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x10, 0x04, 0x22, 0x7c, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x66, 0x69, 0x6c, 0x65, 0x43, 0x72, 0x63, 0x22, 0x4f, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x6e, 0x75, - 0x61, 0x6c, 0x4f, 0x70, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x5b, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x6e, - 0x75, 0x61, 0x6c, 0x4f, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x67, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x47, 0x63, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x61, 0x0a, - 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x3f, 0x0a, 0x10, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x0f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x22, 0xfe, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x63, - 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x56, - 0x61, 0x72, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x1a, 0xa3, 0x01, 0x0a, 0x06, - 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, - 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, - 0x61, 0x78, 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x47, 0x43, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x22, 0x52, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x56, 0x61, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x52, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x56, 0x61, 0x72, 0x73, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9f, 0x02, 0x0a, 0x1d, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x2e, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x1a, 0x6f, 0x0a, 0x08, 0x6b, 0x65, - 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, - 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x1e, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4b, - 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x52, 0x0a, 0x0c, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0x59, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, - 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2a, 0x98, 0x06, 0x0a, 0x0a, 0x45, - 0x47, 0x43, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x15, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x50, 0x61, 0x72, - 0x74, 0x79, 0x10, 0x95, 0x23, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x10, 0x96, 0x23, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x97, 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x4b, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x10, 0x98, 0x23, 0x12, 0x17, 0x0a, 0x12, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4c, - 0x65, 0x61, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x99, 0x23, 0x12, 0x1c, 0x0a, 0x17, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x9a, 0x23, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x9b, 0x23, 0x12, 0x1b, - 0x0a, 0x16, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x9c, 0x23, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4c, 0x41, 0x4e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x9f, 0x23, 0x12, 0x1a, 0x0a, 0x15, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0xa0, 0x23, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa1, 0x23, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, - 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xa2, 0x23, - 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6c, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, + 0x49, 0x64, 0x22, 0x71, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa3, 0x23, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, - 0x6e, 0x75, 0x61, 0x6c, 0x4f, 0x70, 0x10, 0xa4, 0x23, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, - 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4f, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x10, 0xa5, 0x23, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0xa6, - 0x23, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x73, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xa7, 0x23, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x10, 0xa8, - 0x23, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x69, + 0x6c, 0x65, 0x43, 0x72, 0x63, 0x22, 0x4f, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, + 0x4f, 0x70, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x5b, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x4f, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x67, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x47, 0x63, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, + 0x43, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x61, 0x0a, 0x1e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, + 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, + 0x10, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0f, 0x77, + 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xfe, + 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x63, 0x6f, 0x6e, + 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x1a, 0xa3, 0x01, 0x0a, 0x06, 0x43, 0x6f, + 0x6e, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x12, + 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, + 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x47, 0x43, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, + 0x52, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, + 0x61, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x52, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x10, 0xa9, 0x23, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xaa, 0x23, - 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x10, 0xab, 0x23, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x6f, - 0x66, 0x66, 0x10, 0xac, 0x23, 0x2a, 0xe8, 0x03, 0x0a, 0x18, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, + 0x72, 0x73, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9f, 0x02, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x1a, 0x6f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x1e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4b, 0x0a, 0x07, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x52, 0x0a, 0x0c, 0x53, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x59, 0x0a, + 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, + 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x74, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x3c, + 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x55, 0x73, 0x65, 0x48, 0x54, 0x54, + 0x50, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70, 0x2a, 0xf4, 0x06, 0x0a, + 0x0a, 0x45, 0x47, 0x43, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x15, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x10, 0x95, 0x23, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x10, 0x96, 0x23, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x97, 0x23, 0x12, 0x1a, 0x0a, 0x15, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4b, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x72, + 0x74, 0x79, 0x10, 0x98, 0x23, 0x12, 0x17, 0x0a, 0x12, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x99, 0x23, 0x12, 0x1c, + 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x9a, 0x23, 0x12, 0x22, 0x0a, 0x1d, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x9b, 0x23, + 0x12, 0x1b, 0x0a, 0x16, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x61, 0x6d, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x9c, 0x23, 0x12, 0x1f, 0x0a, + 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4c, 0x41, 0x4e, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x9f, 0x23, 0x12, 0x1a, + 0x0a, 0x15, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0xa0, 0x23, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa1, 0x23, 0x12, 0x24, 0x0a, 0x1f, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x50, 0x6f, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, + 0xa2, 0x23, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa3, 0x23, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4f, 0x70, 0x10, 0xa4, 0x23, 0x12, 0x29, 0x0a, 0x24, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x6d, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x4f, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x10, 0xa5, 0x23, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x10, 0xa6, 0x23, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, + 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xa7, 0x23, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, + 0x10, 0xa8, 0x23, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x73, 0x10, 0xa9, 0x23, 0x12, 0x24, 0x0a, 0x1f, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, + 0xaa, 0x23, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x10, 0xab, 0x23, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x61, 0x63, + 0x6b, 0x6f, 0x66, 0x66, 0x10, 0xac, 0x23, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0xad, 0x23, 0x12, 0x26, 0x0a, 0x21, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x55, 0x73, 0x65, 0x48, 0x54, 0x54, 0x50, + 0x10, 0xae, 0x23, 0x2a, 0xe8, 0x03, 0x0a, 0x18, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, - 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x01, - 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x42, - 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, - 0x63, 0x10, 0x65, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x55, + 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x01, 0x12, 0x23, + 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x42, 0x75, 0x73, + 0x79, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x66, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x54, 0x6f, 0x6f, 0x4f, 0x6c, 0x64, 0x10, 0x67, - 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x54, 0x6f, 0x6f, 0x4e, 0x65, 0x77, 0x10, 0x68, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x52, 0x43, 0x4d, 0x69, 0x73, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x10, 0x69, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x10, - 0x6a, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, + 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x10, + 0x65, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x10, 0x6b, - 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, - 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, - 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x10, 0x66, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x54, 0x6f, 0x6f, 0x4f, 0x6c, 0x64, 0x10, 0x67, 0x12, 0x37, + 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x54, + 0x6f, 0x6f, 0x4e, 0x65, 0x77, 0x10, 0x68, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x52, 0x43, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x10, 0x69, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x10, 0x6a, 0x12, + 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x10, 0x6b, 0x42, 0x25, + 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, + 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, + 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -4602,7 +4722,7 @@ func file_base_gcmessages_proto_rawDescGZIP() []byte { } var file_base_gcmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_base_gcmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 60) +var file_base_gcmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 62) var file_base_gcmessages_proto_goTypes = []interface{}{ (EGCBaseMsg)(0), // 0: dota.EGCBaseMsg (ECustomGameInstallStatus)(0), // 1: dota.ECustomGameInstallStatus @@ -4666,12 +4786,15 @@ var file_base_gcmessages_proto_goTypes = []interface{}{ (*CMsgClientToGCIntegrityStatus)(nil), // 59: dota.CMsgClientToGCIntegrityStatus (*CMsgClientToGCAggregateMetrics)(nil), // 60: dota.CMsgClientToGCAggregateMetrics (*CMsgGCToClientAggregateMetricsBackoff)(nil), // 61: dota.CMsgGCToClientAggregateMetricsBackoff - (*CMsgSetItemPositions_ItemPosition)(nil), // 62: dota.CMsgSetItemPositions.ItemPosition - (*CMsgApplyRemoteConVars_ConVar)(nil), // 63: dota.CMsgApplyRemoteConVars.ConVar - (*CMsgClientToGCIntegrityStatusKeyvalue)(nil), // 64: dota.CMsgClientToGCIntegrityStatus.keyvalue - (*CMsgClientToGCAggregateMetrics_SingleMetric)(nil), // 65: dota.CMsgClientToGCAggregateMetrics.SingleMetric - (*CExtraMsgBlock)(nil), // 66: dota.CExtraMsgBlock - (EGCPlatform)(0), // 67: dota.EGCPlatform + (*CMsgGCToServerSteamLearnAccessTokensChanged)(nil), // 62: dota.CMsgGCToServerSteamLearnAccessTokensChanged + (*CMsgGCToServerSteamLearnUseHTTP)(nil), // 63: dota.CMsgGCToServerSteamLearnUseHTTP + (*CMsgSetItemPositions_ItemPosition)(nil), // 64: dota.CMsgSetItemPositions.ItemPosition + (*CMsgApplyRemoteConVars_ConVar)(nil), // 65: dota.CMsgApplyRemoteConVars.ConVar + (*CMsgClientToGCIntegrityStatusKeyvalue)(nil), // 66: dota.CMsgClientToGCIntegrityStatus.keyvalue + (*CMsgClientToGCAggregateMetrics_SingleMetric)(nil), // 67: dota.CMsgClientToGCAggregateMetrics.SingleMetric + (*CExtraMsgBlock)(nil), // 68: dota.CExtraMsgBlock + (*CMsgSteamLearnAccessTokens)(nil), // 69: dota.CMsgSteamLearnAccessTokens + (EGCPlatform)(0), // 70: dota.EGCPlatform } var file_base_gcmessages_proto_depIdxs = []int32{ 6, // 0: dota.CMsgGCStorePurchaseInit.line_items:type_name -> dota.CGCStorePurchaseInit_LineItem @@ -4682,24 +4805,25 @@ var file_base_gcmessages_proto_depIdxs = []int32{ 24, // 5: dota.CSOEconItem.attribute:type_name -> dota.CSOEconItemAttribute 26, // 6: dota.CSOEconItem.interior_item:type_name -> dota.CSOEconItem 25, // 7: dota.CSOEconItem.equipped_state:type_name -> dota.CSOEconItemEquipped - 62, // 8: dota.CMsgSetItemPositions.item_positions:type_name -> dota.CMsgSetItemPositions.ItemPosition + 64, // 8: dota.CMsgSetItemPositions.item_positions:type_name -> dota.CMsgSetItemPositions.ItemPosition 2, // 9: dota.CMsgExtractGemsResponse.response:type_name -> dota.CMsgExtractGemsResponse.EExtractGems 3, // 10: dota.CMsgAddSocketResponse.response:type_name -> dota.CMsgAddSocketResponse.EAddSocket 45, // 11: dota.CMsgAddItemToSocket.gems_to_socket:type_name -> dota.CMsgAddItemToSocketData 4, // 12: dota.CMsgAddItemToSocketResponse.response:type_name -> dota.CMsgAddItemToSocketResponse.EAddGem 5, // 13: dota.CMsgResetStrangeGemCountResponse.response:type_name -> dota.CMsgResetStrangeGemCountResponse.EResetGem - 66, // 14: dota.CMsgGCAdditionalWelcomeMsgList.welcome_messages:type_name -> dota.CExtraMsgBlock - 63, // 15: dota.CMsgApplyRemoteConVars.con_vars:type_name -> dota.CMsgApplyRemoteConVars.ConVar + 68, // 14: dota.CMsgGCAdditionalWelcomeMsgList.welcome_messages:type_name -> dota.CExtraMsgBlock + 65, // 15: dota.CMsgApplyRemoteConVars.con_vars:type_name -> dota.CMsgApplyRemoteConVars.ConVar 56, // 16: dota.CMsgGCToClientApplyRemoteConVars.msg:type_name -> dota.CMsgApplyRemoteConVars 56, // 17: dota.CMsgGCToServerApplyRemoteConVars.msg:type_name -> dota.CMsgApplyRemoteConVars - 64, // 18: dota.CMsgClientToGCIntegrityStatus.diagnostics:type_name -> dota.CMsgClientToGCIntegrityStatus.keyvalue - 65, // 19: dota.CMsgClientToGCAggregateMetrics.metrics:type_name -> dota.CMsgClientToGCAggregateMetrics.SingleMetric - 67, // 20: dota.CMsgApplyRemoteConVars.ConVar.platform:type_name -> dota.EGCPlatform - 21, // [21:21] is the sub-list for method output_type - 21, // [21:21] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 66, // 18: dota.CMsgClientToGCIntegrityStatus.diagnostics:type_name -> dota.CMsgClientToGCIntegrityStatus.keyvalue + 67, // 19: dota.CMsgClientToGCAggregateMetrics.metrics:type_name -> dota.CMsgClientToGCAggregateMetrics.SingleMetric + 69, // 20: dota.CMsgGCToServerSteamLearnAccessTokensChanged.access_tokens:type_name -> dota.CMsgSteamLearnAccessTokens + 70, // 21: dota.CMsgApplyRemoteConVars.ConVar.platform:type_name -> dota.EGCPlatform + 22, // [22:22] is the sub-list for method output_type + 22, // [22:22] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_base_gcmessages_proto_init() } @@ -4709,6 +4833,7 @@ func file_base_gcmessages_proto_init() { } file_steammessages_proto_init() file_gcsdk_gcmessages_proto_init() + file_steammessages_steamlearn_steamworkssdk_proto_init() if !protoimpl.UnsafeEnabled { file_base_gcmessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CGCStorePurchaseInit_LineItem); i { @@ -5383,7 +5508,7 @@ func file_base_gcmessages_proto_init() { } } file_base_gcmessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSetItemPositions_ItemPosition); i { + switch v := v.(*CMsgGCToServerSteamLearnAccessTokensChanged); i { case 0: return &v.state case 1: @@ -5395,7 +5520,7 @@ func file_base_gcmessages_proto_init() { } } file_base_gcmessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgApplyRemoteConVars_ConVar); i { + switch v := v.(*CMsgGCToServerSteamLearnUseHTTP); i { case 0: return &v.state case 1: @@ -5407,7 +5532,7 @@ func file_base_gcmessages_proto_init() { } } file_base_gcmessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCIntegrityStatusKeyvalue); i { + switch v := v.(*CMsgSetItemPositions_ItemPosition); i { case 0: return &v.state case 1: @@ -5419,6 +5544,30 @@ func file_base_gcmessages_proto_init() { } } file_base_gcmessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgApplyRemoteConVars_ConVar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_base_gcmessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCIntegrityStatusKeyvalue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_base_gcmessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCAggregateMetrics_SingleMetric); i { case 0: return &v.state @@ -5437,7 +5586,7 @@ func file_base_gcmessages_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_base_gcmessages_proto_rawDesc, NumEnums: 6, - NumMessages: 60, + NumMessages: 62, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/base_gcmessages.proto b/dota/base_gcmessages.proto index 515e9c9e..bc960e10 100644 --- a/dota/base_gcmessages.proto +++ b/dota/base_gcmessages.proto @@ -5,6 +5,7 @@ option go_package = "github.com/dotabuff/manta/dota;dota"; import "steammessages.proto"; import "gcsdk_gcmessages.proto"; +import "steammessages_steamlearn.steamworkssdk.proto"; enum EGCBaseMsg { k_EMsgGCInviteToParty = 4501; @@ -29,6 +30,8 @@ enum EGCBaseMsg { k_EMsgClientToGCIntegrityStatus = 4522; k_EMsgClientToGCAggregateMetrics = 4523; k_EMsgGCToClientAggregateMetricsBackoff = 4524; + k_EMsgGCToServerSteamLearnAccessTokensChanged = 4525; + k_EMsgGCToServerSteamLearnUseHTTP = 4526; } enum ECustomGameInstallStatus { @@ -404,3 +407,11 @@ message CMsgClientToGCAggregateMetrics { message CMsgGCToClientAggregateMetricsBackoff { optional float upload_rate_modifier = 1; } + +message CMsgGCToServerSteamLearnAccessTokensChanged { + optional CMsgSteamLearnAccessTokens access_tokens = 1; +} + +message CMsgGCToServerSteamLearnUseHTTP { + optional bool use_http = 1; +} diff --git a/dota/c_peer2peer_netmessages.pb.go b/dota/c_peer2peer_netmessages.pb.go index d7391841..785705cb 100644 --- a/dota/c_peer2peer_netmessages.pb.go +++ b/dota/c_peer2peer_netmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: c_peer2peer_netmessages.proto package dota diff --git a/dota/clientmessages.pb.go b/dota/clientmessages.pb.go index ac52456b..2f019ab7 100644 --- a/dota/clientmessages.pb.go +++ b/dota/clientmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: clientmessages.proto package dota diff --git a/dota/connectionless_netmessages.pb.go b/dota/connectionless_netmessages.pb.go index e6286894..e69daec8 100644 --- a/dota/connectionless_netmessages.pb.go +++ b/dota/connectionless_netmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: connectionless_netmessages.proto package dota diff --git a/dota/demo.pb.go b/dota/demo.pb.go index d2389e20..9f0e42f8 100644 --- a/dota/demo.pb.go +++ b/dota/demo.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: demo.proto package dota @@ -42,7 +42,8 @@ const ( EDemoCommands_DEM_SpawnGroups EDemoCommands = 15 EDemoCommands_DEM_AnimationData EDemoCommands = 16 EDemoCommands_DEM_AnimationHeader EDemoCommands = 17 - EDemoCommands_DEM_Max EDemoCommands = 18 + EDemoCommands_DEM_Recovery EDemoCommands = 18 + EDemoCommands_DEM_Max EDemoCommands = 19 EDemoCommands_DEM_IsCompressed EDemoCommands = 64 ) @@ -68,7 +69,8 @@ var ( 15: "DEM_SpawnGroups", 16: "DEM_AnimationData", 17: "DEM_AnimationHeader", - 18: "DEM_Max", + 18: "DEM_Recovery", + 19: "DEM_Max", 64: "DEM_IsCompressed", } EDemoCommands_value = map[string]int32{ @@ -91,7 +93,8 @@ var ( "DEM_SpawnGroups": 15, "DEM_AnimationData": 16, "DEM_AnimationHeader": 17, - "DEM_Max": 18, + "DEM_Recovery": 18, + "DEM_Max": 19, "DEM_IsCompressed": 64, } ) @@ -1201,6 +1204,61 @@ func (x *CDemoSpawnGroups) GetMsgs() [][]byte { return nil } +type CDemoRecovery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InitialSpawnGroup *CDemoRecovery_DemoInitialSpawnGroupEntry `protobuf:"bytes,1,opt,name=initial_spawn_group,json=initialSpawnGroup" json:"initial_spawn_group,omitempty"` + SpawnGroupMessage []byte `protobuf:"bytes,2,opt,name=spawn_group_message,json=spawnGroupMessage" json:"spawn_group_message,omitempty"` +} + +func (x *CDemoRecovery) Reset() { + *x = CDemoRecovery{} + if protoimpl.UnsafeEnabled { + mi := &file_demo_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDemoRecovery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDemoRecovery) ProtoMessage() {} + +func (x *CDemoRecovery) ProtoReflect() protoreflect.Message { + mi := &file_demo_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDemoRecovery.ProtoReflect.Descriptor instead. +func (*CDemoRecovery) Descriptor() ([]byte, []int) { + return file_demo_proto_rawDescGZIP(), []int{18} +} + +func (x *CDemoRecovery) GetInitialSpawnGroup() *CDemoRecovery_DemoInitialSpawnGroupEntry { + if x != nil { + return x.InitialSpawnGroup + } + return nil +} + +func (x *CDemoRecovery) GetSpawnGroupMessage() []byte { + if x != nil { + return x.SpawnGroupMessage + } + return nil +} + type CGameInfo_CDotaGameInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1222,7 +1280,7 @@ type CGameInfo_CDotaGameInfo struct { func (x *CGameInfo_CDotaGameInfo) Reset() { *x = CGameInfo_CDotaGameInfo{} if protoimpl.UnsafeEnabled { - mi := &file_demo_proto_msgTypes[18] + mi := &file_demo_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1235,7 +1293,7 @@ func (x *CGameInfo_CDotaGameInfo) String() string { func (*CGameInfo_CDotaGameInfo) ProtoMessage() {} func (x *CGameInfo_CDotaGameInfo) ProtoReflect() protoreflect.Message { - mi := &file_demo_proto_msgTypes[18] + mi := &file_demo_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1339,7 +1397,7 @@ type CGameInfo_CCSGameInfo struct { func (x *CGameInfo_CCSGameInfo) Reset() { *x = CGameInfo_CCSGameInfo{} if protoimpl.UnsafeEnabled { - mi := &file_demo_proto_msgTypes[19] + mi := &file_demo_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1352,7 +1410,7 @@ func (x *CGameInfo_CCSGameInfo) String() string { func (*CGameInfo_CCSGameInfo) ProtoMessage() {} func (x *CGameInfo_CCSGameInfo) ProtoReflect() protoreflect.Message { - mi := &file_demo_proto_msgTypes[19] + mi := &file_demo_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1390,7 +1448,7 @@ type CGameInfo_CDotaGameInfo_CPlayerInfo struct { func (x *CGameInfo_CDotaGameInfo_CPlayerInfo) Reset() { *x = CGameInfo_CDotaGameInfo_CPlayerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_demo_proto_msgTypes[20] + mi := &file_demo_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1403,7 +1461,7 @@ func (x *CGameInfo_CDotaGameInfo_CPlayerInfo) String() string { func (*CGameInfo_CDotaGameInfo_CPlayerInfo) ProtoMessage() {} func (x *CGameInfo_CDotaGameInfo_CPlayerInfo) ProtoReflect() protoreflect.Message { - mi := &file_demo_proto_msgTypes[20] + mi := &file_demo_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1467,7 +1525,7 @@ type CGameInfo_CDotaGameInfo_CHeroSelectEvent struct { func (x *CGameInfo_CDotaGameInfo_CHeroSelectEvent) Reset() { *x = CGameInfo_CDotaGameInfo_CHeroSelectEvent{} if protoimpl.UnsafeEnabled { - mi := &file_demo_proto_msgTypes[21] + mi := &file_demo_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1480,7 +1538,7 @@ func (x *CGameInfo_CDotaGameInfo_CHeroSelectEvent) String() string { func (*CGameInfo_CDotaGameInfo_CHeroSelectEvent) ProtoMessage() {} func (x *CGameInfo_CDotaGameInfo_CHeroSelectEvent) ProtoReflect() protoreflect.Message { - mi := &file_demo_proto_msgTypes[21] + mi := &file_demo_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1530,7 +1588,7 @@ type CDemoClassInfoClassT struct { func (x *CDemoClassInfoClassT) Reset() { *x = CDemoClassInfoClassT{} if protoimpl.UnsafeEnabled { - mi := &file_demo_proto_msgTypes[22] + mi := &file_demo_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1543,7 +1601,7 @@ func (x *CDemoClassInfoClassT) String() string { func (*CDemoClassInfoClassT) ProtoMessage() {} func (x *CDemoClassInfoClassT) ProtoReflect() protoreflect.Message { - mi := &file_demo_proto_msgTypes[22] + mi := &file_demo_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1592,7 +1650,7 @@ type CDemoStringTablesItemsT struct { func (x *CDemoStringTablesItemsT) Reset() { *x = CDemoStringTablesItemsT{} if protoimpl.UnsafeEnabled { - mi := &file_demo_proto_msgTypes[23] + mi := &file_demo_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1605,7 +1663,7 @@ func (x *CDemoStringTablesItemsT) String() string { func (*CDemoStringTablesItemsT) ProtoMessage() {} func (x *CDemoStringTablesItemsT) ProtoReflect() protoreflect.Message { - mi := &file_demo_proto_msgTypes[23] + mi := &file_demo_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1649,7 +1707,7 @@ type CDemoStringTablesTableT struct { func (x *CDemoStringTablesTableT) Reset() { *x = CDemoStringTablesTableT{} if protoimpl.UnsafeEnabled { - mi := &file_demo_proto_msgTypes[24] + mi := &file_demo_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1662,7 +1720,7 @@ func (x *CDemoStringTablesTableT) String() string { func (*CDemoStringTablesTableT) ProtoMessage() {} func (x *CDemoStringTablesTableT) ProtoReflect() protoreflect.Message { - mi := &file_demo_proto_msgTypes[24] + mi := &file_demo_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1706,6 +1764,61 @@ func (x *CDemoStringTablesTableT) GetTableFlags() int32 { return 0 } +type CDemoRecovery_DemoInitialSpawnGroupEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spawngrouphandle *uint32 `protobuf:"varint,1,opt,name=spawngrouphandle" json:"spawngrouphandle,omitempty"` + WasCreated *bool `protobuf:"varint,2,opt,name=was_created,json=wasCreated" json:"was_created,omitempty"` +} + +func (x *CDemoRecovery_DemoInitialSpawnGroupEntry) Reset() { + *x = CDemoRecovery_DemoInitialSpawnGroupEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_demo_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDemoRecovery_DemoInitialSpawnGroupEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDemoRecovery_DemoInitialSpawnGroupEntry) ProtoMessage() {} + +func (x *CDemoRecovery_DemoInitialSpawnGroupEntry) ProtoReflect() protoreflect.Message { + mi := &file_demo_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDemoRecovery_DemoInitialSpawnGroupEntry.ProtoReflect.Descriptor instead. +func (*CDemoRecovery_DemoInitialSpawnGroupEntry) Descriptor() ([]byte, []int) { + return file_demo_proto_rawDescGZIP(), []int{18, 0} +} + +func (x *CDemoRecovery_DemoInitialSpawnGroupEntry) GetSpawngrouphandle() uint32 { + if x != nil && x.Spawngrouphandle != nil { + return *x.Spawngrouphandle + } + return 0 +} + +func (x *CDemoRecovery_DemoInitialSpawnGroupEntry) GetWasCreated() bool { + if x != nil && x.WasCreated != nil { + return *x.WasCreated + } + return false +} + var File_demo_proto protoreflect.FileDescriptor var file_demo_proto_rawDesc = []byte{ @@ -1903,37 +2016,55 @@ var file_demo_proto_rawDesc = []byte{ 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x26, 0x0a, 0x10, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x2a, 0xb4, 0x03, 0x0a, - 0x0d, 0x45, 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x16, - 0x0a, 0x09, 0x44, 0x45, 0x4d, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, - 0x6f, 0x70, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x6c, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, - 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, - 0x4d, 0x5f, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x63, 0x6b, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, - 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x04, - 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x4d, - 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, - 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x08, 0x12, - 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6d, - 0x64, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x45, 0x4d, 0x5f, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, - 0x6b, 0x73, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x4d, 0x5f, 0x55, 0x73, 0x65, 0x72, - 0x43, 0x6d, 0x64, 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x75, 0x6c, - 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, - 0x5f, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, 0x44, - 0x45, 0x4d, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x10, 0x0f, - 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x4d, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0x10, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x4d, 0x5f, 0x41, - 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x10, 0x11, - 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4d, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x12, 0x12, 0x14, 0x0a, - 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x49, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x10, 0x40, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, - 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0x8a, 0x02, 0x0a, + 0x0d, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x5e, + 0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, + 0x2e, 0x44, 0x65, 0x6d, 0x6f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x77, + 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2e, + 0x0a, 0x13, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x70, 0x61, + 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x69, + 0x0a, 0x1a, 0x44, 0x65, 0x6d, 0x6f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x61, + 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x10, + 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x61, 0x73, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, + 0x61, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2a, 0xc6, 0x03, 0x0a, 0x0d, 0x45, 0x44, + 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x09, 0x44, + 0x45, 0x4d, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x10, + 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, 0x53, + 0x79, 0x6e, 0x63, 0x54, 0x69, 0x63, 0x6b, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, + 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x04, 0x12, 0x11, 0x0a, + 0x0d, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x05, + 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x4d, 0x5f, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x69, + 0x67, 0x6e, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, + 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x10, 0x09, + 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x10, + 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x4d, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, + 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x61, + 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x4d, 0x5f, + 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x10, 0x0f, 0x12, 0x15, 0x0a, + 0x11, 0x44, 0x45, 0x4d, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x10, 0x10, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x4d, 0x5f, 0x41, 0x6e, 0x69, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x10, 0x11, 0x12, 0x10, 0x0a, + 0x0c, 0x44, 0x45, 0x4d, 0x5f, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x10, 0x12, 0x12, + 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4d, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, + 0x44, 0x45, 0x4d, 0x5f, 0x49, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, + 0x10, 0x40, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, + 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -1949,7 +2080,7 @@ func file_demo_proto_rawDescGZIP() []byte { } var file_demo_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_demo_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_demo_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_demo_proto_goTypes = []interface{}{ (EDemoCommands)(0), // 0: dota.EDemoCommands (*CDemoFileHeader)(nil), // 1: dota.CDemoFileHeader @@ -1970,31 +2101,34 @@ var file_demo_proto_goTypes = []interface{}{ (*CDemoStop)(nil), // 16: dota.CDemoStop (*CDemoUserCmd)(nil), // 17: dota.CDemoUserCmd (*CDemoSpawnGroups)(nil), // 18: dota.CDemoSpawnGroups - (*CGameInfo_CDotaGameInfo)(nil), // 19: dota.CGameInfo.CDotaGameInfo - (*CGameInfo_CCSGameInfo)(nil), // 20: dota.CGameInfo.CCSGameInfo - (*CGameInfo_CDotaGameInfo_CPlayerInfo)(nil), // 21: dota.CGameInfo.CDotaGameInfo.CPlayerInfo - (*CGameInfo_CDotaGameInfo_CHeroSelectEvent)(nil), // 22: dota.CGameInfo.CDotaGameInfo.CHeroSelectEvent - (*CDemoClassInfoClassT)(nil), // 23: dota.CDemoClassInfo.class_t - (*CDemoStringTablesItemsT)(nil), // 24: dota.CDemoStringTables.items_t - (*CDemoStringTablesTableT)(nil), // 25: dota.CDemoStringTables.table_t + (*CDemoRecovery)(nil), // 19: dota.CDemoRecovery + (*CGameInfo_CDotaGameInfo)(nil), // 20: dota.CGameInfo.CDotaGameInfo + (*CGameInfo_CCSGameInfo)(nil), // 21: dota.CGameInfo.CCSGameInfo + (*CGameInfo_CDotaGameInfo_CPlayerInfo)(nil), // 22: dota.CGameInfo.CDotaGameInfo.CPlayerInfo + (*CGameInfo_CDotaGameInfo_CHeroSelectEvent)(nil), // 23: dota.CGameInfo.CDotaGameInfo.CHeroSelectEvent + (*CDemoClassInfoClassT)(nil), // 24: dota.CDemoClassInfo.class_t + (*CDemoStringTablesItemsT)(nil), // 25: dota.CDemoStringTables.items_t + (*CDemoStringTablesTableT)(nil), // 26: dota.CDemoStringTables.table_t + (*CDemoRecovery_DemoInitialSpawnGroupEntry)(nil), // 27: dota.CDemoRecovery.DemoInitialSpawnGroupEntry } var file_demo_proto_depIdxs = []int32{ - 19, // 0: dota.CGameInfo.dota:type_name -> dota.CGameInfo.CDotaGameInfo - 20, // 1: dota.CGameInfo.cs:type_name -> dota.CGameInfo.CCSGameInfo + 20, // 0: dota.CGameInfo.dota:type_name -> dota.CGameInfo.CDotaGameInfo + 21, // 1: dota.CGameInfo.cs:type_name -> dota.CGameInfo.CCSGameInfo 2, // 2: dota.CDemoFileInfo.game_info:type_name -> dota.CGameInfo 15, // 3: dota.CDemoFullPacket.string_table:type_name -> dota.CDemoStringTables 4, // 4: dota.CDemoFullPacket.packet:type_name -> dota.CDemoPacket - 23, // 5: dota.CDemoClassInfo.classes:type_name -> dota.CDemoClassInfo.class_t - 25, // 6: dota.CDemoStringTables.tables:type_name -> dota.CDemoStringTables.table_t - 21, // 7: dota.CGameInfo.CDotaGameInfo.player_info:type_name -> dota.CGameInfo.CDotaGameInfo.CPlayerInfo - 22, // 8: dota.CGameInfo.CDotaGameInfo.picks_bans:type_name -> dota.CGameInfo.CDotaGameInfo.CHeroSelectEvent - 24, // 9: dota.CDemoStringTables.table_t.items:type_name -> dota.CDemoStringTables.items_t - 24, // 10: dota.CDemoStringTables.table_t.items_clientside:type_name -> dota.CDemoStringTables.items_t - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 24, // 5: dota.CDemoClassInfo.classes:type_name -> dota.CDemoClassInfo.class_t + 26, // 6: dota.CDemoStringTables.tables:type_name -> dota.CDemoStringTables.table_t + 27, // 7: dota.CDemoRecovery.initial_spawn_group:type_name -> dota.CDemoRecovery.DemoInitialSpawnGroupEntry + 22, // 8: dota.CGameInfo.CDotaGameInfo.player_info:type_name -> dota.CGameInfo.CDotaGameInfo.CPlayerInfo + 23, // 9: dota.CGameInfo.CDotaGameInfo.picks_bans:type_name -> dota.CGameInfo.CDotaGameInfo.CHeroSelectEvent + 25, // 10: dota.CDemoStringTables.table_t.items:type_name -> dota.CDemoStringTables.items_t + 25, // 11: dota.CDemoStringTables.table_t.items_clientside:type_name -> dota.CDemoStringTables.items_t + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_demo_proto_init() } @@ -2220,7 +2354,7 @@ func file_demo_proto_init() { } } file_demo_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGameInfo_CDotaGameInfo); i { + switch v := v.(*CDemoRecovery); i { case 0: return &v.state case 1: @@ -2232,7 +2366,7 @@ func file_demo_proto_init() { } } file_demo_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGameInfo_CCSGameInfo); i { + switch v := v.(*CGameInfo_CDotaGameInfo); i { case 0: return &v.state case 1: @@ -2244,7 +2378,7 @@ func file_demo_proto_init() { } } file_demo_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGameInfo_CDotaGameInfo_CPlayerInfo); i { + switch v := v.(*CGameInfo_CCSGameInfo); i { case 0: return &v.state case 1: @@ -2256,7 +2390,7 @@ func file_demo_proto_init() { } } file_demo_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGameInfo_CDotaGameInfo_CHeroSelectEvent); i { + switch v := v.(*CGameInfo_CDotaGameInfo_CPlayerInfo); i { case 0: return &v.state case 1: @@ -2268,7 +2402,7 @@ func file_demo_proto_init() { } } file_demo_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDemoClassInfoClassT); i { + switch v := v.(*CGameInfo_CDotaGameInfo_CHeroSelectEvent); i { case 0: return &v.state case 1: @@ -2280,7 +2414,7 @@ func file_demo_proto_init() { } } file_demo_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDemoStringTablesItemsT); i { + switch v := v.(*CDemoClassInfoClassT); i { case 0: return &v.state case 1: @@ -2292,6 +2426,18 @@ func file_demo_proto_init() { } } file_demo_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDemoStringTablesItemsT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_demo_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CDemoStringTablesTableT); i { case 0: return &v.state @@ -2303,6 +2449,18 @@ func file_demo_proto_init() { return nil } } + file_demo_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDemoRecovery_DemoInitialSpawnGroupEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2310,7 +2468,7 @@ func file_demo_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_demo_proto_rawDesc, NumEnums: 1, - NumMessages: 25, + NumMessages: 27, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/demo.proto b/dota/demo.proto index 5b822688..f68f6bff 100644 --- a/dota/demo.proto +++ b/dota/demo.proto @@ -23,7 +23,8 @@ enum EDemoCommands { DEM_SpawnGroups = 15; DEM_AnimationData = 16; DEM_AnimationHeader = 17; - DEM_Max = 18; + DEM_Recovery = 18; + DEM_Max = 19; DEM_IsCompressed = 64; } @@ -176,3 +177,13 @@ message CDemoUserCmd { message CDemoSpawnGroups { repeated bytes msgs = 3; } + +message CDemoRecovery { + message DemoInitialSpawnGroupEntry { + optional uint32 spawngrouphandle = 1; + optional bool was_created = 2; + } + + optional CDemoRecovery.DemoInitialSpawnGroupEntry initial_spawn_group = 1; + optional bytes spawn_group_message = 2; +} diff --git a/dota/dota_broadcastmessages.pb.go b/dota/dota_broadcastmessages.pb.go index ccf94df7..0006c458 100644 --- a/dota/dota_broadcastmessages.pb.go +++ b/dota/dota_broadcastmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_broadcastmessages.proto package dota diff --git a/dota/dota_client_enums.pb.go b/dota/dota_client_enums.pb.go index d0202a8e..14f6c513 100644 --- a/dota/dota_client_enums.pb.go +++ b/dota/dota_client_enums.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_client_enums.proto package dota diff --git a/dota/dota_clientmessages.pb.go b/dota/dota_clientmessages.pb.go index 0039edec..fc5edde5 100644 --- a/dota/dota_clientmessages.pb.go +++ b/dota/dota_clientmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_clientmessages.proto package dota @@ -129,6 +129,13 @@ const ( EDotaClientMessages_DOTA_CM_FacetAlert EDotaClientMessages = 810 EDotaClientMessages_DOTA_CM_InnateAlert EDotaClientMessages = 811 EDotaClientMessages_DOTA_CM_SelectOverworldID EDotaClientMessages = 812 + EDotaClientMessages_DOTA_CM_RerollNeutralItem EDotaClientMessages = 813 + EDotaClientMessages_DOTA_CM_RoshanTimer EDotaClientMessages = 814 + EDotaClientMessages_DOTA_CM_SuggestItemPreference EDotaClientMessages = 815 + EDotaClientMessages_DOTA_CM_CraftNeutralItem EDotaClientMessages = 816 + EDotaClientMessages_DOTA_CM_ChooseCraftedNeutral EDotaClientMessages = 817 + EDotaClientMessages_DOTA_CM_TimerAlert EDotaClientMessages = 818 + EDotaClientMessages_DOTA_CM_MadstoneAlert EDotaClientMessages = 819 ) // Enum value maps for EDotaClientMessages. @@ -240,6 +247,13 @@ var ( 810: "DOTA_CM_FacetAlert", 811: "DOTA_CM_InnateAlert", 812: "DOTA_CM_SelectOverworldID", + 813: "DOTA_CM_RerollNeutralItem", + 814: "DOTA_CM_RoshanTimer", + 815: "DOTA_CM_SuggestItemPreference", + 816: "DOTA_CM_CraftNeutralItem", + 817: "DOTA_CM_ChooseCraftedNeutral", + 818: "DOTA_CM_TimerAlert", + 819: "DOTA_CM_MadstoneAlert", } EDotaClientMessages_value = map[string]int32{ "DOTA_CM_MapLine": 301, @@ -348,6 +362,13 @@ var ( "DOTA_CM_FacetAlert": 810, "DOTA_CM_InnateAlert": 811, "DOTA_CM_SelectOverworldID": 812, + "DOTA_CM_RerollNeutralItem": 813, + "DOTA_CM_RoshanTimer": 814, + "DOTA_CM_SuggestItemPreference": 815, + "DOTA_CM_CraftNeutralItem": 816, + "DOTA_CM_ChooseCraftedNeutral": 817, + "DOTA_CM_TimerAlert": 818, + "DOTA_CM_MadstoneAlert": 819, } ) @@ -3784,6 +3805,53 @@ func (*CDOTAClientMsg_RequestItemSuggestions) Descriptor() ([]byte, []int) { return file_dota_clientmessages_proto_rawDescGZIP(), []int{60} } +type CDOTAClientMsg_SuggestItemPreference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemPreferences []*CDOTAClientMsg_SuggestItemPreference_ItemPreference `protobuf:"bytes,1,rep,name=item_preferences,json=itemPreferences" json:"item_preferences,omitempty"` +} + +func (x *CDOTAClientMsg_SuggestItemPreference) Reset() { + *x = CDOTAClientMsg_SuggestItemPreference{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_SuggestItemPreference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_SuggestItemPreference) ProtoMessage() {} + +func (x *CDOTAClientMsg_SuggestItemPreference) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAClientMsg_SuggestItemPreference.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_SuggestItemPreference) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{61} +} + +func (x *CDOTAClientMsg_SuggestItemPreference) GetItemPreferences() []*CDOTAClientMsg_SuggestItemPreference_ItemPreference { + if x != nil { + return x.ItemPreferences + } + return nil +} + type CDOTAClientMsg_MakeTeamCaptain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3795,7 +3863,7 @@ type CDOTAClientMsg_MakeTeamCaptain struct { func (x *CDOTAClientMsg_MakeTeamCaptain) Reset() { *x = CDOTAClientMsg_MakeTeamCaptain{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[61] + mi := &file_dota_clientmessages_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3808,7 +3876,7 @@ func (x *CDOTAClientMsg_MakeTeamCaptain) String() string { func (*CDOTAClientMsg_MakeTeamCaptain) ProtoMessage() {} func (x *CDOTAClientMsg_MakeTeamCaptain) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[61] + mi := &file_dota_clientmessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3821,7 +3889,7 @@ func (x *CDOTAClientMsg_MakeTeamCaptain) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_MakeTeamCaptain.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_MakeTeamCaptain) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{61} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{62} } func (x *CDOTAClientMsg_MakeTeamCaptain) GetPlayerId() int32 { @@ -3842,7 +3910,7 @@ type CDOTAClientMsg_HelpTipSystemStateChanged struct { func (x *CDOTAClientMsg_HelpTipSystemStateChanged) Reset() { *x = CDOTAClientMsg_HelpTipSystemStateChanged{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[62] + mi := &file_dota_clientmessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3855,7 +3923,7 @@ func (x *CDOTAClientMsg_HelpTipSystemStateChanged) String() string { func (*CDOTAClientMsg_HelpTipSystemStateChanged) ProtoMessage() {} func (x *CDOTAClientMsg_HelpTipSystemStateChanged) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[62] + mi := &file_dota_clientmessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3868,7 +3936,7 @@ func (x *CDOTAClientMsg_HelpTipSystemStateChanged) ProtoReflect() protoreflect.M // Deprecated: Use CDOTAClientMsg_HelpTipSystemStateChanged.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_HelpTipSystemStateChanged) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{62} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{63} } func (x *CDOTAClientMsg_HelpTipSystemStateChanged) GetTipDisplayed() bool { @@ -3892,7 +3960,7 @@ type CDOTAClientMsg_RequestBulkCombatLog struct { func (x *CDOTAClientMsg_RequestBulkCombatLog) Reset() { *x = CDOTAClientMsg_RequestBulkCombatLog{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[63] + mi := &file_dota_clientmessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3905,7 +3973,7 @@ func (x *CDOTAClientMsg_RequestBulkCombatLog) String() string { func (*CDOTAClientMsg_RequestBulkCombatLog) ProtoMessage() {} func (x *CDOTAClientMsg_RequestBulkCombatLog) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[63] + mi := &file_dota_clientmessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3918,7 +3986,7 @@ func (x *CDOTAClientMsg_RequestBulkCombatLog) ProtoReflect() protoreflect.Messag // Deprecated: Use CDOTAClientMsg_RequestBulkCombatLog.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_RequestBulkCombatLog) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{63} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{64} } func (x *CDOTAClientMsg_RequestBulkCombatLog) GetGameTime() float32 { @@ -3956,12 +4024,13 @@ type CDOTAClientMsg_AbilityDraftRequestAbility struct { RequestedAbilityId *int32 `protobuf:"varint,1,opt,name=requested_ability_id,json=requestedAbilityId" json:"requested_ability_id,omitempty"` CtrlIsDown *bool `protobuf:"varint,2,opt,name=ctrl_is_down,json=ctrlIsDown" json:"ctrl_is_down,omitempty"` + RequestedHeroId *int32 `protobuf:"varint,3,opt,name=requested_hero_id,json=requestedHeroId" json:"requested_hero_id,omitempty"` } func (x *CDOTAClientMsg_AbilityDraftRequestAbility) Reset() { *x = CDOTAClientMsg_AbilityDraftRequestAbility{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[64] + mi := &file_dota_clientmessages_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3974,7 +4043,7 @@ func (x *CDOTAClientMsg_AbilityDraftRequestAbility) String() string { func (*CDOTAClientMsg_AbilityDraftRequestAbility) ProtoMessage() {} func (x *CDOTAClientMsg_AbilityDraftRequestAbility) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[64] + mi := &file_dota_clientmessages_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3987,7 +4056,7 @@ func (x *CDOTAClientMsg_AbilityDraftRequestAbility) ProtoReflect() protoreflect. // Deprecated: Use CDOTAClientMsg_AbilityDraftRequestAbility.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_AbilityDraftRequestAbility) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{64} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{65} } func (x *CDOTAClientMsg_AbilityDraftRequestAbility) GetRequestedAbilityId() int32 { @@ -4004,6 +4073,13 @@ func (x *CDOTAClientMsg_AbilityDraftRequestAbility) GetCtrlIsDown() bool { return false } +func (x *CDOTAClientMsg_AbilityDraftRequestAbility) GetRequestedHeroId() int32 { + if x != nil && x.RequestedHeroId != nil { + return *x.RequestedHeroId + } + return 0 +} + type CDOTAClientMsg_GuideSelectOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4016,7 +4092,7 @@ type CDOTAClientMsg_GuideSelectOption struct { func (x *CDOTAClientMsg_GuideSelectOption) Reset() { *x = CDOTAClientMsg_GuideSelectOption{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[65] + mi := &file_dota_clientmessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4029,7 +4105,7 @@ func (x *CDOTAClientMsg_GuideSelectOption) String() string { func (*CDOTAClientMsg_GuideSelectOption) ProtoMessage() {} func (x *CDOTAClientMsg_GuideSelectOption) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[65] + mi := &file_dota_clientmessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4042,7 +4118,7 @@ func (x *CDOTAClientMsg_GuideSelectOption) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_GuideSelectOption.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_GuideSelectOption) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{65} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{66} } func (x *CDOTAClientMsg_GuideSelectOption) GetOption() uint32 { @@ -4071,7 +4147,7 @@ type CDOTAClientMsg_GuideSelected struct { func (x *CDOTAClientMsg_GuideSelected) Reset() { *x = CDOTAClientMsg_GuideSelected{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[66] + mi := &file_dota_clientmessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4084,7 +4160,7 @@ func (x *CDOTAClientMsg_GuideSelected) String() string { func (*CDOTAClientMsg_GuideSelected) ProtoMessage() {} func (x *CDOTAClientMsg_GuideSelected) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[66] + mi := &file_dota_clientmessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4097,7 +4173,7 @@ func (x *CDOTAClientMsg_GuideSelected) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_GuideSelected.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_GuideSelected) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{66} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{67} } func (x *CDOTAClientMsg_GuideSelected) GetGuideWorkshopId() uint64 { @@ -4128,7 +4204,7 @@ type CDOTAClientMsg_DamageReport struct { func (x *CDOTAClientMsg_DamageReport) Reset() { *x = CDOTAClientMsg_DamageReport{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[67] + mi := &file_dota_clientmessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4141,7 +4217,7 @@ func (x *CDOTAClientMsg_DamageReport) String() string { func (*CDOTAClientMsg_DamageReport) ProtoMessage() {} func (x *CDOTAClientMsg_DamageReport) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[67] + mi := &file_dota_clientmessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4154,7 +4230,7 @@ func (x *CDOTAClientMsg_DamageReport) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_DamageReport.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_DamageReport) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{67} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{68} } func (x *CDOTAClientMsg_DamageReport) GetTargetHeroId() int32 { @@ -4197,7 +4273,7 @@ type CDOTAClientMsg_SalutePlayer struct { func (x *CDOTAClientMsg_SalutePlayer) Reset() { *x = CDOTAClientMsg_SalutePlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[68] + mi := &file_dota_clientmessages_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4210,7 +4286,7 @@ func (x *CDOTAClientMsg_SalutePlayer) String() string { func (*CDOTAClientMsg_SalutePlayer) ProtoMessage() {} func (x *CDOTAClientMsg_SalutePlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[68] + mi := &file_dota_clientmessages_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4223,7 +4299,7 @@ func (x *CDOTAClientMsg_SalutePlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_SalutePlayer.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_SalutePlayer) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{68} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{69} } func (x *CDOTAClientMsg_SalutePlayer) GetTargetPlayerId() int32 { @@ -4252,7 +4328,7 @@ type CDOTAClientMsg_GiftPlayer struct { func (x *CDOTAClientMsg_GiftPlayer) Reset() { *x = CDOTAClientMsg_GiftPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[69] + mi := &file_dota_clientmessages_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4265,7 +4341,7 @@ func (x *CDOTAClientMsg_GiftPlayer) String() string { func (*CDOTAClientMsg_GiftPlayer) ProtoMessage() {} func (x *CDOTAClientMsg_GiftPlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[69] + mi := &file_dota_clientmessages_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4278,7 +4354,7 @@ func (x *CDOTAClientMsg_GiftPlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_GiftPlayer.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_GiftPlayer) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{69} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{70} } func (x *CDOTAClientMsg_GiftPlayer) GetTargetPlayerId() int32 { @@ -4306,7 +4382,7 @@ type CDOTAClientMsg_GiftEveryone struct { func (x *CDOTAClientMsg_GiftEveryone) Reset() { *x = CDOTAClientMsg_GiftEveryone{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[70] + mi := &file_dota_clientmessages_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4319,7 +4395,7 @@ func (x *CDOTAClientMsg_GiftEveryone) String() string { func (*CDOTAClientMsg_GiftEveryone) ProtoMessage() {} func (x *CDOTAClientMsg_GiftEveryone) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[70] + mi := &file_dota_clientmessages_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4332,7 +4408,7 @@ func (x *CDOTAClientMsg_GiftEveryone) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_GiftEveryone.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_GiftEveryone) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{70} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{71} } func (x *CDOTAClientMsg_GiftEveryone) GetItemDefIndex() uint32 { @@ -4353,7 +4429,7 @@ type CDOTAClientMsg_TipAlert struct { func (x *CDOTAClientMsg_TipAlert) Reset() { *x = CDOTAClientMsg_TipAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[71] + mi := &file_dota_clientmessages_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4366,7 +4442,7 @@ func (x *CDOTAClientMsg_TipAlert) String() string { func (*CDOTAClientMsg_TipAlert) ProtoMessage() {} func (x *CDOTAClientMsg_TipAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[71] + mi := &file_dota_clientmessages_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4379,7 +4455,7 @@ func (x *CDOTAClientMsg_TipAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_TipAlert.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_TipAlert) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{71} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{72} } func (x *CDOTAClientMsg_TipAlert) GetTipText() string { @@ -4400,7 +4476,7 @@ type CDOTAClientMsg_EmptyTeleportAlert struct { func (x *CDOTAClientMsg_EmptyTeleportAlert) Reset() { *x = CDOTAClientMsg_EmptyTeleportAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[72] + mi := &file_dota_clientmessages_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4413,7 +4489,7 @@ func (x *CDOTAClientMsg_EmptyTeleportAlert) String() string { func (*CDOTAClientMsg_EmptyTeleportAlert) ProtoMessage() {} func (x *CDOTAClientMsg_EmptyTeleportAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[72] + mi := &file_dota_clientmessages_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4426,7 +4502,7 @@ func (x *CDOTAClientMsg_EmptyTeleportAlert) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAClientMsg_EmptyTeleportAlert.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_EmptyTeleportAlert) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{72} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{73} } func (x *CDOTAClientMsg_EmptyTeleportAlert) GetTargetEntindex() int32 { @@ -4447,7 +4523,7 @@ type CDOTAClientMsg_SetCavernMapVariant struct { func (x *CDOTAClientMsg_SetCavernMapVariant) Reset() { *x = CDOTAClientMsg_SetCavernMapVariant{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[73] + mi := &file_dota_clientmessages_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4460,7 +4536,7 @@ func (x *CDOTAClientMsg_SetCavernMapVariant) String() string { func (*CDOTAClientMsg_SetCavernMapVariant) ProtoMessage() {} func (x *CDOTAClientMsg_SetCavernMapVariant) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[73] + mi := &file_dota_clientmessages_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4473,7 +4549,7 @@ func (x *CDOTAClientMsg_SetCavernMapVariant) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAClientMsg_SetCavernMapVariant.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_SetCavernMapVariant) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{73} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{74} } func (x *CDOTAClientMsg_SetCavernMapVariant) GetMapVariant() uint32 { @@ -4495,7 +4571,7 @@ type CDOTAClientMsg_PauseGameOrder struct { func (x *CDOTAClientMsg_PauseGameOrder) Reset() { *x = CDOTAClientMsg_PauseGameOrder{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[74] + mi := &file_dota_clientmessages_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4508,7 +4584,7 @@ func (x *CDOTAClientMsg_PauseGameOrder) String() string { func (*CDOTAClientMsg_PauseGameOrder) ProtoMessage() {} func (x *CDOTAClientMsg_PauseGameOrder) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[74] + mi := &file_dota_clientmessages_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4521,7 +4597,7 @@ func (x *CDOTAClientMsg_PauseGameOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_PauseGameOrder.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_PauseGameOrder) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{74} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{75} } func (x *CDOTAClientMsg_PauseGameOrder) GetOrderId() int32 { @@ -4552,7 +4628,7 @@ type CDOTAClientMsg_VersusScene_PlayerBehavior struct { func (x *CDOTAClientMsg_VersusScene_PlayerBehavior) Reset() { *x = CDOTAClientMsg_VersusScene_PlayerBehavior{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[75] + mi := &file_dota_clientmessages_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4565,7 +4641,7 @@ func (x *CDOTAClientMsg_VersusScene_PlayerBehavior) String() string { func (*CDOTAClientMsg_VersusScene_PlayerBehavior) ProtoMessage() {} func (x *CDOTAClientMsg_VersusScene_PlayerBehavior) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[75] + mi := &file_dota_clientmessages_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4578,7 +4654,7 @@ func (x *CDOTAClientMsg_VersusScene_PlayerBehavior) ProtoReflect() protoreflect. // Deprecated: Use CDOTAClientMsg_VersusScene_PlayerBehavior.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_VersusScene_PlayerBehavior) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{75} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{76} } func (x *CDOTAClientMsg_VersusScene_PlayerBehavior) GetBehavior() EDOTAVersusScenePlayerBehavior { @@ -4621,7 +4697,7 @@ type CDOTAClientMsg_EmptyItemSlotAlert struct { func (x *CDOTAClientMsg_EmptyItemSlotAlert) Reset() { *x = CDOTAClientMsg_EmptyItemSlotAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[76] + mi := &file_dota_clientmessages_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4634,7 +4710,7 @@ func (x *CDOTAClientMsg_EmptyItemSlotAlert) String() string { func (*CDOTAClientMsg_EmptyItemSlotAlert) ProtoMessage() {} func (x *CDOTAClientMsg_EmptyItemSlotAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[76] + mi := &file_dota_clientmessages_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4647,7 +4723,7 @@ func (x *CDOTAClientMsg_EmptyItemSlotAlert) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAClientMsg_EmptyItemSlotAlert.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_EmptyItemSlotAlert) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{76} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{77} } func (x *CDOTAClientMsg_EmptyItemSlotAlert) GetTargetEntindex() int32 { @@ -4677,7 +4753,7 @@ type CDOTAClientMsg_AddOverwatchReportMarker struct { func (x *CDOTAClientMsg_AddOverwatchReportMarker) Reset() { *x = CDOTAClientMsg_AddOverwatchReportMarker{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[77] + mi := &file_dota_clientmessages_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4690,7 +4766,7 @@ func (x *CDOTAClientMsg_AddOverwatchReportMarker) String() string { func (*CDOTAClientMsg_AddOverwatchReportMarker) ProtoMessage() {} func (x *CDOTAClientMsg_AddOverwatchReportMarker) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[77] + mi := &file_dota_clientmessages_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4703,7 +4779,7 @@ func (x *CDOTAClientMsg_AddOverwatchReportMarker) ProtoReflect() protoreflect.Me // Deprecated: Use CDOTAClientMsg_AddOverwatchReportMarker.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_AddOverwatchReportMarker) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{77} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{78} } func (x *CDOTAClientMsg_AddOverwatchReportMarker) GetTargetPlayerId() int32 { @@ -4738,7 +4814,7 @@ type CDOTAClientMsg_AddCommunicationsReportMarker struct { func (x *CDOTAClientMsg_AddCommunicationsReportMarker) Reset() { *x = CDOTAClientMsg_AddCommunicationsReportMarker{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[78] + mi := &file_dota_clientmessages_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4751,7 +4827,7 @@ func (x *CDOTAClientMsg_AddCommunicationsReportMarker) String() string { func (*CDOTAClientMsg_AddCommunicationsReportMarker) ProtoMessage() {} func (x *CDOTAClientMsg_AddCommunicationsReportMarker) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[78] + mi := &file_dota_clientmessages_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4764,7 +4840,7 @@ func (x *CDOTAClientMsg_AddCommunicationsReportMarker) ProtoReflect() protorefle // Deprecated: Use CDOTAClientMsg_AddCommunicationsReportMarker.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_AddCommunicationsReportMarker) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{78} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{79} } func (x *CDOTAClientMsg_AddCommunicationsReportMarker) GetTargetPlayerId() int32 { @@ -4785,7 +4861,7 @@ type CDOTAClientMsg_AddCommunicationsBlockMarker struct { func (x *CDOTAClientMsg_AddCommunicationsBlockMarker) Reset() { *x = CDOTAClientMsg_AddCommunicationsBlockMarker{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[79] + mi := &file_dota_clientmessages_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4798,7 +4874,7 @@ func (x *CDOTAClientMsg_AddCommunicationsBlockMarker) String() string { func (*CDOTAClientMsg_AddCommunicationsBlockMarker) ProtoMessage() {} func (x *CDOTAClientMsg_AddCommunicationsBlockMarker) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[79] + mi := &file_dota_clientmessages_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4811,7 +4887,7 @@ func (x *CDOTAClientMsg_AddCommunicationsBlockMarker) ProtoReflect() protoreflec // Deprecated: Use CDOTAClientMsg_AddCommunicationsBlockMarker.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_AddCommunicationsBlockMarker) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{79} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{80} } func (x *CDOTAClientMsg_AddCommunicationsBlockMarker) GetTargetPlayerId() int32 { @@ -4835,7 +4911,7 @@ type CDOTAClientMsg_AghsStatusAlert struct { func (x *CDOTAClientMsg_AghsStatusAlert) Reset() { *x = CDOTAClientMsg_AghsStatusAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[80] + mi := &file_dota_clientmessages_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4848,7 +4924,7 @@ func (x *CDOTAClientMsg_AghsStatusAlert) String() string { func (*CDOTAClientMsg_AghsStatusAlert) ProtoMessage() {} func (x *CDOTAClientMsg_AghsStatusAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[80] + mi := &file_dota_clientmessages_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4861,7 +4937,7 @@ func (x *CDOTAClientMsg_AghsStatusAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_AghsStatusAlert.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_AghsStatusAlert) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{80} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{81} } func (x *CDOTAClientMsg_AghsStatusAlert) GetSourcePlayerId() int32 { @@ -4922,7 +4998,7 @@ type CDOTAClientMsg_PerfReport struct { func (x *CDOTAClientMsg_PerfReport) Reset() { *x = CDOTAClientMsg_PerfReport{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[81] + mi := &file_dota_clientmessages_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4935,7 +5011,7 @@ func (x *CDOTAClientMsg_PerfReport) String() string { func (*CDOTAClientMsg_PerfReport) ProtoMessage() {} func (x *CDOTAClientMsg_PerfReport) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[81] + mi := &file_dota_clientmessages_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4948,7 +5024,7 @@ func (x *CDOTAClientMsg_PerfReport) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_PerfReport.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_PerfReport) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{81} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{82} } func (x *CDOTAClientMsg_PerfReport) GetAverageFrameTime() float32 { @@ -5105,7 +5181,7 @@ type CDOTAClientMsg_ContextualTips_Subscribe_Entry struct { func (x *CDOTAClientMsg_ContextualTips_Subscribe_Entry) Reset() { *x = CDOTAClientMsg_ContextualTips_Subscribe_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[82] + mi := &file_dota_clientmessages_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5118,7 +5194,7 @@ func (x *CDOTAClientMsg_ContextualTips_Subscribe_Entry) String() string { func (*CDOTAClientMsg_ContextualTips_Subscribe_Entry) ProtoMessage() {} func (x *CDOTAClientMsg_ContextualTips_Subscribe_Entry) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[82] + mi := &file_dota_clientmessages_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5131,7 +5207,7 @@ func (x *CDOTAClientMsg_ContextualTips_Subscribe_Entry) ProtoReflect() protorefl // Deprecated: Use CDOTAClientMsg_ContextualTips_Subscribe_Entry.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_ContextualTips_Subscribe_Entry) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{82} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{83} } func (x *CDOTAClientMsg_ContextualTips_Subscribe_Entry) GetUnsubscribe() bool { @@ -5173,7 +5249,7 @@ type CDOTAClientMsg_ContextualTips_Subscribe struct { func (x *CDOTAClientMsg_ContextualTips_Subscribe) Reset() { *x = CDOTAClientMsg_ContextualTips_Subscribe{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[83] + mi := &file_dota_clientmessages_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5186,7 +5262,7 @@ func (x *CDOTAClientMsg_ContextualTips_Subscribe) String() string { func (*CDOTAClientMsg_ContextualTips_Subscribe) ProtoMessage() {} func (x *CDOTAClientMsg_ContextualTips_Subscribe) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[83] + mi := &file_dota_clientmessages_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5199,7 +5275,7 @@ func (x *CDOTAClientMsg_ContextualTips_Subscribe) ProtoReflect() protoreflect.Me // Deprecated: Use CDOTAClientMsg_ContextualTips_Subscribe.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_ContextualTips_Subscribe) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{83} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{84} } func (x *CDOTAClientMsg_ContextualTips_Subscribe) GetTips() []*CDOTAClientMsg_ContextualTips_Subscribe_Entry { @@ -5221,7 +5297,7 @@ type CDOTAClientMsg_ChatMessage struct { func (x *CDOTAClientMsg_ChatMessage) Reset() { *x = CDOTAClientMsg_ChatMessage{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[84] + mi := &file_dota_clientmessages_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5234,7 +5310,7 @@ func (x *CDOTAClientMsg_ChatMessage) String() string { func (*CDOTAClientMsg_ChatMessage) ProtoMessage() {} func (x *CDOTAClientMsg_ChatMessage) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[84] + mi := &file_dota_clientmessages_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5247,7 +5323,7 @@ func (x *CDOTAClientMsg_ChatMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_ChatMessage.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_ChatMessage) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{84} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{85} } func (x *CDOTAClientMsg_ChatMessage) GetChannelType() uint32 { @@ -5276,7 +5352,7 @@ type CDOTAClientMsg_DuelAccepted struct { func (x *CDOTAClientMsg_DuelAccepted) Reset() { *x = CDOTAClientMsg_DuelAccepted{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[85] + mi := &file_dota_clientmessages_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5289,7 +5365,7 @@ func (x *CDOTAClientMsg_DuelAccepted) String() string { func (*CDOTAClientMsg_DuelAccepted) ProtoMessage() {} func (x *CDOTAClientMsg_DuelAccepted) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[85] + mi := &file_dota_clientmessages_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5302,7 +5378,7 @@ func (x *CDOTAClientMsg_DuelAccepted) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_DuelAccepted.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_DuelAccepted) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{85} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{86} } func (x *CDOTAClientMsg_DuelAccepted) GetChallengerPlayerId() int32 { @@ -5332,7 +5408,7 @@ type CDOTAClientMsg_ChooseNeutralItem struct { func (x *CDOTAClientMsg_ChooseNeutralItem) Reset() { *x = CDOTAClientMsg_ChooseNeutralItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[86] + mi := &file_dota_clientmessages_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5345,7 +5421,7 @@ func (x *CDOTAClientMsg_ChooseNeutralItem) String() string { func (*CDOTAClientMsg_ChooseNeutralItem) ProtoMessage() {} func (x *CDOTAClientMsg_ChooseNeutralItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[86] + mi := &file_dota_clientmessages_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5358,7 +5434,7 @@ func (x *CDOTAClientMsg_ChooseNeutralItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_ChooseNeutralItem.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_ChooseNeutralItem) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{86} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{87} } func (x *CDOTAClientMsg_ChooseNeutralItem) GetNeutralItemIndex() int32 { @@ -5382,6 +5458,61 @@ func (x *CDOTAClientMsg_ChooseNeutralItem) GetSlotIndex() int32 { return 0 } +type CDOTAClientMsg_RerollNeutralItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TargetEntindex *int32 `protobuf:"varint,1,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` + SlotIndex *int32 `protobuf:"varint,2,opt,name=slot_index,json=slotIndex" json:"slot_index,omitempty"` +} + +func (x *CDOTAClientMsg_RerollNeutralItem) Reset() { + *x = CDOTAClientMsg_RerollNeutralItem{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_RerollNeutralItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_RerollNeutralItem) ProtoMessage() {} + +func (x *CDOTAClientMsg_RerollNeutralItem) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[88] + 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 CDOTAClientMsg_RerollNeutralItem.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_RerollNeutralItem) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{88} +} + +func (x *CDOTAClientMsg_RerollNeutralItem) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +func (x *CDOTAClientMsg_RerollNeutralItem) GetSlotIndex() int32 { + if x != nil && x.SlotIndex != nil { + return *x.SlotIndex + } + return 0 +} + type CDOTAClientMsg_PlayerDraftPick struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5393,7 +5524,7 @@ type CDOTAClientMsg_PlayerDraftPick struct { func (x *CDOTAClientMsg_PlayerDraftPick) Reset() { *x = CDOTAClientMsg_PlayerDraftPick{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[87] + mi := &file_dota_clientmessages_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5406,7 +5537,7 @@ func (x *CDOTAClientMsg_PlayerDraftPick) String() string { func (*CDOTAClientMsg_PlayerDraftPick) ProtoMessage() {} func (x *CDOTAClientMsg_PlayerDraftPick) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[87] + mi := &file_dota_clientmessages_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5419,7 +5550,7 @@ func (x *CDOTAClientMsg_PlayerDraftPick) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_PlayerDraftPick.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_PlayerDraftPick) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{87} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{89} } func (x *CDOTAClientMsg_PlayerDraftPick) GetPlayerId() int32 { @@ -5440,7 +5571,7 @@ type CDOTAClientMsg_PlayerDraftSuggest struct { func (x *CDOTAClientMsg_PlayerDraftSuggest) Reset() { *x = CDOTAClientMsg_PlayerDraftSuggest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[88] + mi := &file_dota_clientmessages_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5453,7 +5584,7 @@ func (x *CDOTAClientMsg_PlayerDraftSuggest) String() string { func (*CDOTAClientMsg_PlayerDraftSuggest) ProtoMessage() {} func (x *CDOTAClientMsg_PlayerDraftSuggest) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[88] + mi := &file_dota_clientmessages_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5466,7 +5597,7 @@ func (x *CDOTAClientMsg_PlayerDraftSuggest) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAClientMsg_PlayerDraftSuggest.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_PlayerDraftSuggest) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{88} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{90} } func (x *CDOTAClientMsg_PlayerDraftSuggest) GetPlayerId() int32 { @@ -5488,7 +5619,7 @@ type CDOTAClientMsg_PlayerDraftPreferRole struct { func (x *CDOTAClientMsg_PlayerDraftPreferRole) Reset() { *x = CDOTAClientMsg_PlayerDraftPreferRole{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[89] + mi := &file_dota_clientmessages_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5501,7 +5632,7 @@ func (x *CDOTAClientMsg_PlayerDraftPreferRole) String() string { func (*CDOTAClientMsg_PlayerDraftPreferRole) ProtoMessage() {} func (x *CDOTAClientMsg_PlayerDraftPreferRole) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[89] + mi := &file_dota_clientmessages_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5514,7 +5645,7 @@ func (x *CDOTAClientMsg_PlayerDraftPreferRole) ProtoReflect() protoreflect.Messa // Deprecated: Use CDOTAClientMsg_PlayerDraftPreferRole.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_PlayerDraftPreferRole) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{89} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{91} } func (x *CDOTAClientMsg_PlayerDraftPreferRole) GetRoleIdx() int32 { @@ -5542,7 +5673,7 @@ type CDOTAClientMsg_PlayerDraftPreferTeam struct { func (x *CDOTAClientMsg_PlayerDraftPreferTeam) Reset() { *x = CDOTAClientMsg_PlayerDraftPreferTeam{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[90] + mi := &file_dota_clientmessages_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5555,7 +5686,7 @@ func (x *CDOTAClientMsg_PlayerDraftPreferTeam) String() string { func (*CDOTAClientMsg_PlayerDraftPreferTeam) ProtoMessage() {} func (x *CDOTAClientMsg_PlayerDraftPreferTeam) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[90] + mi := &file_dota_clientmessages_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5568,7 +5699,7 @@ func (x *CDOTAClientMsg_PlayerDraftPreferTeam) ProtoReflect() protoreflect.Messa // Deprecated: Use CDOTAClientMsg_PlayerDraftPreferTeam.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_PlayerDraftPreferTeam) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{90} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{92} } func (x *CDOTAClientMsg_PlayerDraftPreferTeam) GetTeam() int32 { @@ -5595,7 +5726,7 @@ type CDOTAClientMsg_AbilityAlert struct { func (x *CDOTAClientMsg_AbilityAlert) Reset() { *x = CDOTAClientMsg_AbilityAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[91] + mi := &file_dota_clientmessages_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5608,7 +5739,7 @@ func (x *CDOTAClientMsg_AbilityAlert) String() string { func (*CDOTAClientMsg_AbilityAlert) ProtoMessage() {} func (x *CDOTAClientMsg_AbilityAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[91] + mi := &file_dota_clientmessages_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5621,7 +5752,7 @@ func (x *CDOTAClientMsg_AbilityAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAClientMsg_AbilityAlert.ProtoReflect.Descriptor instead. func (*CDOTAClientMsg_AbilityAlert) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{91} + return file_dota_clientmessages_proto_rawDescGZIP(), []int{93} } func (x *CDOTAClientMsg_AbilityAlert) GetAbilityEntindex() uint32 { @@ -5684,7 +5815,7 @@ type CDOTAClientMsg_SelectOverworldTokenRewards struct { func (x *CDOTAClientMsg_SelectOverworldTokenRewards) Reset() { *x = CDOTAClientMsg_SelectOverworldTokenRewards{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[92] + mi := &file_dota_clientmessages_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5697,7 +5828,172 @@ func (x *CDOTAClientMsg_SelectOverworldTokenRewards) String() string { func (*CDOTAClientMsg_SelectOverworldTokenRewards) ProtoMessage() {} func (x *CDOTAClientMsg_SelectOverworldTokenRewards) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[92] + mi := &file_dota_clientmessages_proto_msgTypes[94] + 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 CDOTAClientMsg_SelectOverworldTokenRewards.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_SelectOverworldTokenRewards) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{94} +} + +func (x *CDOTAClientMsg_SelectOverworldTokenRewards) GetTokenIds() []uint32 { + if x != nil { + return x.TokenIds + } + return nil +} + +type CDOTAClientMsg_FacetAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FacetStrhash *uint32 `protobuf:"varint,1,opt,name=facet_strhash,json=facetStrhash" json:"facet_strhash,omitempty"` + HeroEntindex *uint32 `protobuf:"varint,2,opt,name=hero_entindex,json=heroEntindex" json:"hero_entindex,omitempty"` + CtrlHeld *bool `protobuf:"varint,3,opt,name=ctrl_held,json=ctrlHeld" json:"ctrl_held,omitempty"` +} + +func (x *CDOTAClientMsg_FacetAlert) Reset() { + *x = CDOTAClientMsg_FacetAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_FacetAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_FacetAlert) ProtoMessage() {} + +func (x *CDOTAClientMsg_FacetAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[95] + 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 CDOTAClientMsg_FacetAlert.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_FacetAlert) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{95} +} + +func (x *CDOTAClientMsg_FacetAlert) GetFacetStrhash() uint32 { + if x != nil && x.FacetStrhash != nil { + return *x.FacetStrhash + } + return 0 +} + +func (x *CDOTAClientMsg_FacetAlert) GetHeroEntindex() uint32 { + if x != nil && x.HeroEntindex != nil { + return *x.HeroEntindex + } + return 0 +} + +func (x *CDOTAClientMsg_FacetAlert) GetCtrlHeld() bool { + if x != nil && x.CtrlHeld != nil { + return *x.CtrlHeld + } + return false +} + +type CDOTAClientMsg_InnateAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AbilityEntindex *uint32 `protobuf:"varint,1,opt,name=ability_entindex,json=abilityEntindex" json:"ability_entindex,omitempty"` + CtrlHeld *bool `protobuf:"varint,2,opt,name=ctrl_held,json=ctrlHeld" json:"ctrl_held,omitempty"` +} + +func (x *CDOTAClientMsg_InnateAlert) Reset() { + *x = CDOTAClientMsg_InnateAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_InnateAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_InnateAlert) ProtoMessage() {} + +func (x *CDOTAClientMsg_InnateAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[96] + 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 CDOTAClientMsg_InnateAlert.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_InnateAlert) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{96} +} + +func (x *CDOTAClientMsg_InnateAlert) GetAbilityEntindex() uint32 { + if x != nil && x.AbilityEntindex != nil { + return *x.AbilityEntindex + } + return 0 +} + +func (x *CDOTAClientMsg_InnateAlert) GetCtrlHeld() bool { + if x != nil && x.CtrlHeld != nil { + return *x.CtrlHeld + } + return false +} + +type CDOTAClientMsg_SelectOverworldID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OverworldId *uint32 `protobuf:"varint,1,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` +} + +func (x *CDOTAClientMsg_SelectOverworldID) Reset() { + *x = CDOTAClientMsg_SelectOverworldID{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_SelectOverworldID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_SelectOverworldID) ProtoMessage() {} + +func (x *CDOTAClientMsg_SelectOverworldID) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5708,45 +6004,191 @@ func (x *CDOTAClientMsg_SelectOverworldTokenRewards) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use CDOTAClientMsg_SelectOverworldTokenRewards.ProtoReflect.Descriptor instead. -func (*CDOTAClientMsg_SelectOverworldTokenRewards) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{92} +// Deprecated: Use CDOTAClientMsg_SelectOverworldID.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_SelectOverworldID) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{97} +} + +func (x *CDOTAClientMsg_SelectOverworldID) GetOverworldId() uint32 { + if x != nil && x.OverworldId != nil { + return *x.OverworldId + } + return 0 +} + +type CDOTAClientMsg_RoshanTimer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Negative *bool `protobuf:"varint,1,opt,name=negative" json:"negative,omitempty"` +} + +func (x *CDOTAClientMsg_RoshanTimer) Reset() { + *x = CDOTAClientMsg_RoshanTimer{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_RoshanTimer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_RoshanTimer) ProtoMessage() {} + +func (x *CDOTAClientMsg_RoshanTimer) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[98] + 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 CDOTAClientMsg_RoshanTimer.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_RoshanTimer) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{98} +} + +func (x *CDOTAClientMsg_RoshanTimer) GetNegative() bool { + if x != nil && x.Negative != nil { + return *x.Negative + } + return false +} + +type CDOTAClientMsg_CraftNeutralItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CDOTAClientMsg_CraftNeutralItem) Reset() { + *x = CDOTAClientMsg_CraftNeutralItem{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_CraftNeutralItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_CraftNeutralItem) ProtoMessage() {} + +func (x *CDOTAClientMsg_CraftNeutralItem) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[99] + 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 CDOTAClientMsg_CraftNeutralItem.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_CraftNeutralItem) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{99} +} + +type CDOTAClientMsg_ChooseCraftedNeutralItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NeutralItemIndex *int32 `protobuf:"varint,1,opt,name=neutral_item_index,json=neutralItemIndex" json:"neutral_item_index,omitempty"` + ItemTier *int32 `protobuf:"varint,2,opt,name=item_tier,json=itemTier" json:"item_tier,omitempty"` + EnhancementIndex *int32 `protobuf:"varint,3,opt,name=enhancement_index,json=enhancementIndex" json:"enhancement_index,omitempty"` +} + +func (x *CDOTAClientMsg_ChooseCraftedNeutralItem) Reset() { + *x = CDOTAClientMsg_ChooseCraftedNeutralItem{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_clientmessages_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientMsg_ChooseCraftedNeutralItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientMsg_ChooseCraftedNeutralItem) ProtoMessage() {} + +func (x *CDOTAClientMsg_ChooseCraftedNeutralItem) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[100] + 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 CDOTAClientMsg_ChooseCraftedNeutralItem.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_ChooseCraftedNeutralItem) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{100} +} + +func (x *CDOTAClientMsg_ChooseCraftedNeutralItem) GetNeutralItemIndex() int32 { + if x != nil && x.NeutralItemIndex != nil { + return *x.NeutralItemIndex + } + return 0 +} + +func (x *CDOTAClientMsg_ChooseCraftedNeutralItem) GetItemTier() int32 { + if x != nil && x.ItemTier != nil { + return *x.ItemTier + } + return 0 } -func (x *CDOTAClientMsg_SelectOverworldTokenRewards) GetTokenIds() []uint32 { - if x != nil { - return x.TokenIds +func (x *CDOTAClientMsg_ChooseCraftedNeutralItem) GetEnhancementIndex() int32 { + if x != nil && x.EnhancementIndex != nil { + return *x.EnhancementIndex } - return nil + return 0 } -type CDOTAClientMsg_FacetAlert struct { +type CDOTAClientMsg_TimerAlert struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FacetStrhash *uint32 `protobuf:"varint,1,opt,name=facet_strhash,json=facetStrhash" json:"facet_strhash,omitempty"` - HeroEntindex *uint32 `protobuf:"varint,2,opt,name=hero_entindex,json=heroEntindex" json:"hero_entindex,omitempty"` - CtrlHeld *bool `protobuf:"varint,3,opt,name=ctrl_held,json=ctrlHeld" json:"ctrl_held,omitempty"` + TimerAlertType *ETimerAlertType `protobuf:"varint,1,opt,name=timer_alert_type,json=timerAlertType,enum=dota.ETimerAlertType" json:"timer_alert_type,omitempty"` } -func (x *CDOTAClientMsg_FacetAlert) Reset() { - *x = CDOTAClientMsg_FacetAlert{} +func (x *CDOTAClientMsg_TimerAlert) Reset() { + *x = CDOTAClientMsg_TimerAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[93] + mi := &file_dota_clientmessages_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CDOTAClientMsg_FacetAlert) String() string { +func (x *CDOTAClientMsg_TimerAlert) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CDOTAClientMsg_FacetAlert) ProtoMessage() {} +func (*CDOTAClientMsg_TimerAlert) ProtoMessage() {} -func (x *CDOTAClientMsg_FacetAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[93] +func (x *CDOTAClientMsg_TimerAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5757,58 +6199,43 @@ func (x *CDOTAClientMsg_FacetAlert) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CDOTAClientMsg_FacetAlert.ProtoReflect.Descriptor instead. -func (*CDOTAClientMsg_FacetAlert) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{93} -} - -func (x *CDOTAClientMsg_FacetAlert) GetFacetStrhash() uint32 { - if x != nil && x.FacetStrhash != nil { - return *x.FacetStrhash - } - return 0 -} - -func (x *CDOTAClientMsg_FacetAlert) GetHeroEntindex() uint32 { - if x != nil && x.HeroEntindex != nil { - return *x.HeroEntindex - } - return 0 +// Deprecated: Use CDOTAClientMsg_TimerAlert.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_TimerAlert) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{101} } -func (x *CDOTAClientMsg_FacetAlert) GetCtrlHeld() bool { - if x != nil && x.CtrlHeld != nil { - return *x.CtrlHeld +func (x *CDOTAClientMsg_TimerAlert) GetTimerAlertType() ETimerAlertType { + if x != nil && x.TimerAlertType != nil { + return *x.TimerAlertType } - return false + return ETimerAlertType_k_TimerAlertType_PowerRune } -type CDOTAClientMsg_InnateAlert struct { +type CDOTAClientMsg_MadstoneAlert struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AbilityEntindex *uint32 `protobuf:"varint,1,opt,name=ability_entindex,json=abilityEntindex" json:"ability_entindex,omitempty"` - CtrlHeld *bool `protobuf:"varint,2,opt,name=ctrl_held,json=ctrlHeld" json:"ctrl_held,omitempty"` + TargetEntindex *int32 `protobuf:"varint,1,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` } -func (x *CDOTAClientMsg_InnateAlert) Reset() { - *x = CDOTAClientMsg_InnateAlert{} +func (x *CDOTAClientMsg_MadstoneAlert) Reset() { + *x = CDOTAClientMsg_MadstoneAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[94] + mi := &file_dota_clientmessages_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CDOTAClientMsg_InnateAlert) String() string { +func (x *CDOTAClientMsg_MadstoneAlert) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CDOTAClientMsg_InnateAlert) ProtoMessage() {} +func (*CDOTAClientMsg_MadstoneAlert) ProtoMessage() {} -func (x *CDOTAClientMsg_InnateAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[94] +func (x *CDOTAClientMsg_MadstoneAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5819,50 +6246,44 @@ func (x *CDOTAClientMsg_InnateAlert) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CDOTAClientMsg_InnateAlert.ProtoReflect.Descriptor instead. -func (*CDOTAClientMsg_InnateAlert) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{94} +// Deprecated: Use CDOTAClientMsg_MadstoneAlert.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_MadstoneAlert) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{102} } -func (x *CDOTAClientMsg_InnateAlert) GetAbilityEntindex() uint32 { - if x != nil && x.AbilityEntindex != nil { - return *x.AbilityEntindex +func (x *CDOTAClientMsg_MadstoneAlert) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex } return 0 } -func (x *CDOTAClientMsg_InnateAlert) GetCtrlHeld() bool { - if x != nil && x.CtrlHeld != nil { - return *x.CtrlHeld - } - return false -} - -type CDOTAClientMsg_SelectOverworldID struct { +type CDOTAClientMsg_SuggestItemPreference_ItemPreference struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OverworldId *uint32 `protobuf:"varint,1,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` + ItemId *int32 `protobuf:"varint,1,opt,name=item_id,json=itemId" json:"item_id,omitempty"` + Preference *EItemSuggestPreference `protobuf:"varint,2,opt,name=preference,enum=dota.EItemSuggestPreference" json:"preference,omitempty"` } -func (x *CDOTAClientMsg_SelectOverworldID) Reset() { - *x = CDOTAClientMsg_SelectOverworldID{} +func (x *CDOTAClientMsg_SuggestItemPreference_ItemPreference) Reset() { + *x = CDOTAClientMsg_SuggestItemPreference_ItemPreference{} if protoimpl.UnsafeEnabled { - mi := &file_dota_clientmessages_proto_msgTypes[95] + mi := &file_dota_clientmessages_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CDOTAClientMsg_SelectOverworldID) String() string { +func (x *CDOTAClientMsg_SuggestItemPreference_ItemPreference) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CDOTAClientMsg_SelectOverworldID) ProtoMessage() {} +func (*CDOTAClientMsg_SuggestItemPreference_ItemPreference) ProtoMessage() {} -func (x *CDOTAClientMsg_SelectOverworldID) ProtoReflect() protoreflect.Message { - mi := &file_dota_clientmessages_proto_msgTypes[95] +func (x *CDOTAClientMsg_SuggestItemPreference_ItemPreference) ProtoReflect() protoreflect.Message { + mi := &file_dota_clientmessages_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5873,18 +6294,25 @@ func (x *CDOTAClientMsg_SelectOverworldID) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CDOTAClientMsg_SelectOverworldID.ProtoReflect.Descriptor instead. -func (*CDOTAClientMsg_SelectOverworldID) Descriptor() ([]byte, []int) { - return file_dota_clientmessages_proto_rawDescGZIP(), []int{95} +// Deprecated: Use CDOTAClientMsg_SuggestItemPreference_ItemPreference.ProtoReflect.Descriptor instead. +func (*CDOTAClientMsg_SuggestItemPreference_ItemPreference) Descriptor() ([]byte, []int) { + return file_dota_clientmessages_proto_rawDescGZIP(), []int{61, 0} } -func (x *CDOTAClientMsg_SelectOverworldID) GetOverworldId() uint32 { - if x != nil && x.OverworldId != nil { - return *x.OverworldId +func (x *CDOTAClientMsg_SuggestItemPreference_ItemPreference) GetItemId() int32 { + if x != nil && x.ItemId != nil { + return *x.ItemId } return 0 } +func (x *CDOTAClientMsg_SuggestItemPreference_ItemPreference) GetPreference() EItemSuggestPreference { + if x != nil && x.Preference != nil { + return *x.Preference + } + return EItemSuggestPreference_k_EItemSuggestPreference_None +} + var File_dota_clientmessages_proto protoreflect.FileDescriptor var file_dota_clientmessages_proto_rawDesc = []byte{ @@ -6286,532 +6714,597 @@ var file_dota_clientmessages_proto_rawDesc = []byte{ 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x27, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3d, - 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, - 0x5f, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4f, 0x0a, - 0x28, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, - 0x48, 0x65, 0x6c, 0x70, 0x54, 0x69, 0x70, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x70, - 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x74, 0x69, 0x70, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0xab, - 0x01, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, - 0x67, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x6f, 0x6d, - 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x61, 0x74, 0x68, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x7f, 0x0a, 0x29, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, - 0x74, 0x72, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x63, 0x74, 0x72, 0x6c, 0x49, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0x67, 0x0a, - 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, - 0x47, 0x75, 0x69, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x6e, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x75, 0x69, 0x64, 0x65, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5f, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0f, 0x67, 0x75, 0x69, 0x64, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, - 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x6c, 0x75, - 0x73, 0x47, 0x75, 0x69, 0x64, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, - 0x63, 0x61, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, 0x6c, 0x75, 0x74, 0x65, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x19, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x69, 0x66, 0x74, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, - 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x43, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x45, 0x76, 0x65, - 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, - 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, - 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x34, 0x0a, 0x17, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x69, - 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x69, 0x70, 0x5f, 0x74, 0x65, - 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x69, 0x70, 0x54, 0x65, 0x78, - 0x74, 0x22, 0x4c, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf5, + 0x01, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x10, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x49, + 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x49, 0x74, + 0x65, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x69, 0x74, + 0x65, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x67, 0x0a, + 0x0e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x3d, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x65, 0x61, + 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x28, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x65, 0x6c, 0x70, 0x54, 0x69, 0x70, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x69, 0x70, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0xab, 0x01, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x1b, + 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x44, 0x65, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x22, 0xab, 0x01, 0x0a, 0x29, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x69, 0x73, 0x5f, + 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x74, 0x72, 0x6c, + 0x49, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x64, 0x22, 0x67, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x75, 0x69, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, + 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x52, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x6e, 0x0a, 0x1c, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x75, + 0x69, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x67, + 0x75, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x67, 0x75, 0x69, 0x64, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x70, 0x6c, + 0x75, 0x73, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x73, 0x50, 0x6c, 0x75, 0x73, 0x47, 0x75, 0x69, 0x64, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1b, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x44, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x1b, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, 0x6c, + 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x6b, + 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, + 0x5f, 0x47, 0x69, 0x66, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, + 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, + 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x43, 0x0a, 0x1b, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x69, + 0x66, 0x74, 0x45, 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x22, 0x34, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x5f, 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, + 0x69, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, + 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x22, 0x4c, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x22, 0x45, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, + 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, + 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x1d, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb3, 0x02, 0x0a, 0x29, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x56, + 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, + 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0d, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, + 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, + 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, + 0x6c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x12, 0x43, 0x0a, 0x0d, + 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, + 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, + 0x61, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, + 0x65, 0x22, 0x6b, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, - 0x45, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x70, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x47, 0x61, - 0x6d, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb3, 0x02, 0x0a, 0x29, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, - 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, - 0x4f, 0x54, 0x41, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, - 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x63, - 0x68, 0x61, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, - 0x6e, 0x65, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x52, 0x09, 0x63, 0x68, - 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x12, 0x43, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, - 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, - 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0c, - 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x22, 0x6b, 0x0a, 0x21, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xaa, 0x01, 0x0a, 0x27, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, 0x64, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x34, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x5f, 0x61, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x73, 0x41, 0x67, 0x6f, 0x22, 0x58, 0x0a, 0x2c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, - 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x57, 0x0a, 0x2b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x73, 0x67, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, - 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x67, 0x68, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x65, - 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, - 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc3, 0x08, 0x0a, 0x19, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x65, 0x72, 0x66, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, - 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, - 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x2f, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, - 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x37, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, - 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x2b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x61, - 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x25, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, - 0x0a, 0x27, 0x6d, 0x61, 0x78, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x21, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x77, - 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x77, 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, - 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, - 0x61, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, - 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x61, - 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x6c, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, 0x65, - 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, - 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xaa, + 0x01, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, + 0x67, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x61, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x41, 0x67, 0x6f, 0x22, 0x58, 0x0a, 0x2c, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, + 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x2b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xbc, + 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, + 0x67, 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc3, 0x08, + 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, + 0x5f, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, + 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x30, 0x0a, 0x14, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x78, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x61, 0x76, 0x65, + 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x2e, 0x0a, 0x13, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x2b, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x25, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x27, 0x6d, 0x61, 0x78, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, + 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x21, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, + 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x77, 0x61, 0x70, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x53, + 0x77, 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x61, 0x76, 0x65, 0x72, + 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x64, 0x6c, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xbd, - 0x01, 0x0a, 0x2d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, - 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, - 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x74, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x65, 0x6e, 0x22, 0x72, - 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, - 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x5f, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x69, 0x70, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x5f, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x69, - 0x70, 0x73, 0x22, 0x62, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x54, 0x65, 0x78, 0x74, 0x22, 0x7d, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x4e, - 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, - 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x22, 0x3d, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x69, - 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x40, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, - 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x67, - 0x67, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x22, 0x5b, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x2d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, + 0x6c, 0x54, 0x69, 0x70, 0x73, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x69, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2e, + 0x0a, 0x13, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x53, + 0x65, 0x65, 0x6e, 0x22, 0x72, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, + 0x54, 0x69, 0x70, 0x73, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x47, + 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, + 0x73, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, 0x22, 0x62, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x78, 0x74, 0x22, 0x7d, 0x0a, 0x1b, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, + 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x20, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, + 0x6f, 0x6f, 0x73, 0x65, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x65, 0x75, + 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x6a, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x4e, 0x65, + 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x22, 0x3d, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x6c, - 0x65, 0x49, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x22, 0x3a, - 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0xa4, 0x02, 0x0a, 0x1b, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, + 0x69, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x22, 0x40, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, + 0x67, 0x67, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, + 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, + 0x6c, 0x65, 0x49, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x22, + 0x3a, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, + 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0xa4, 0x02, 0x0a, 0x1b, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x41, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x68, + 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x48, + 0x65, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, + 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, + 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x2a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, + 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, + 0x5f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, + 0x61, 0x63, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x74, 0x53, 0x74, 0x72, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x68, 0x65, - 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x48, 0x65, - 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, - 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, - 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0x49, 0x0a, 0x2a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, - 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, - 0x46, 0x61, 0x63, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, - 0x63, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x74, 0x53, 0x74, 0x72, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x68, 0x65, 0x6c, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x48, 0x65, 0x6c, - 0x64, 0x22, 0x64, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, - 0x29, 0x0a, 0x10, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x74, - 0x72, 0x6c, 0x5f, 0x68, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, - 0x74, 0x72, 0x6c, 0x48, 0x65, 0x6c, 0x64, 0x22, 0x45, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x44, 0x12, 0x21, 0x0a, 0x0c, 0x6f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x2a, 0xad, - 0x19, 0x0a, 0x13, 0x45, 0x44, 0x6f, 0x74, 0x61, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xad, 0x02, 0x12, 0x18, 0x0a, 0x13, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x61, - 0x74, 0x69, 0x6f, 0x10, 0xae, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x4d, 0x61, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xaf, 0x02, 0x12, 0x1c, 0x0a, 0x17, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x41, 0x75, 0x74, - 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0xb0, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x10, 0xb3, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, 0xb4, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x70, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, - 0x65, 0x10, 0xb5, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x53, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x10, 0xb6, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, - 0x77, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xb7, 0x02, 0x12, 0x17, 0x0a, - 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x77, 0x61, 0x70, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x10, 0xb8, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xb9, 0x02, 0x12, 0x1f, - 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xba, 0x02, 0x12, - 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x41, - 0x6c, 0x65, 0x72, 0x74, 0x10, 0xbb, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x10, 0xbc, 0x02, 0x12, - 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, 0xbd, 0x02, 0x12, 0x22, 0x0a, 0x1d, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4c, 0x61, 0x73, 0x74, - 0x48, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0xbe, 0x02, 0x12, - 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x10, 0xbf, 0x02, 0x12, 0x1e, 0x0a, 0x19, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x61, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x10, 0xc0, 0x02, 0x12, 0x19, 0x0a, 0x14, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, 0x44, - 0x50, 0x69, 0x6e, 0x67, 0x10, 0xc1, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x10, 0xc2, 0x02, - 0x12, 0x26, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x55, 0x6e, 0x69, 0x74, - 0x73, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x66, 0x74, 0x65, 0x72, - 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x10, 0xc3, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4d, 0x5f, 0x57, 0x69, 0x6c, 0x6c, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xc4, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x61, - 0x73, 0x65, 0x10, 0xc5, 0x02, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x48, 0x61, 0x6c, 0x74, 0x10, 0xc6, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5a, 0x6f, 0x6f, 0x6d, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xc7, 0x02, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x48, 0x65, + 0x6c, 0x64, 0x22, 0x64, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x12, 0x29, 0x0a, 0x10, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x74, 0x72, 0x6c, 0x5f, 0x68, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x63, 0x74, 0x72, 0x6c, 0x48, 0x65, 0x6c, 0x64, 0x22, 0x45, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x44, 0x12, 0x21, 0x0a, 0x0c, + 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, + 0x38, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, + 0x67, 0x5f, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x1a, 0x0a, + 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x61, 0x66, + 0x74, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x22, 0xa1, 0x01, 0x0a, + 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x5f, + 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x43, 0x72, 0x61, 0x66, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x75, + 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x75, 0x74, + 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, + 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, + 0x69, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x22, 0x5c, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x3f, 0x0a, + 0x10, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, + 0x74, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, + 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, + 0x5f, 0x4d, 0x61, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x27, + 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, + 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2a, 0x82, 0x1b, 0x0a, 0x13, 0x45, 0x44, 0x6f, 0x74, + 0x61, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, + 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, + 0x6e, 0x65, 0x10, 0xad, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x41, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x10, 0xae, 0x02, 0x12, + 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4d, 0x61, 0x70, 0x50, 0x69, + 0x6e, 0x67, 0x10, 0xaf, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x10, 0xb0, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x10, 0xb3, 0x02, 0x12, 0x12, + 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, + 0xb4, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x68, + 0x6f, 0x70, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0xb5, 0x02, 0x12, 0x1d, 0x0a, + 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x74, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x10, 0xb6, 0x02, 0x12, 0x18, 0x0a, 0x13, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x10, 0xb7, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x53, 0x77, 0x61, 0x70, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xb8, 0x02, 0x12, + 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, + 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xb9, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xba, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xbb, 0x02, + 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, + 0x57, 0x68, 0x65, 0x65, 0x6c, 0x10, 0xbc, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, + 0x70, 0x10, 0xbd, 0x02, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, + 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0xbe, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, + 0x75, 0x79, 0x10, 0xbf, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x10, 0xc0, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xc1, 0x02, + 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x10, 0xc2, 0x02, 0x12, 0x26, 0x0a, 0x21, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x41, 0x66, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x10, 0xc3, + 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x57, 0x69, 0x6c, + 0x6c, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xc4, + 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x61, 0x73, 0x65, 0x10, 0xc5, 0x02, 0x12, 0x21, + 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x48, 0x61, 0x6c, 0x74, 0x10, 0xc6, + 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x61, 0x6d, + 0x65, 0x72, 0x61, 0x5a, 0x6f, 0x6f, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xc7, 0x02, + 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x42, 0x72, 0x6f, 0x61, + 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6d, 0x65, + 0x72, 0x6d, 0x61, 0x6e, 0x10, 0xc8, 0x02, 0x12, 0x33, 0x0a, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, - 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x10, 0xc8, 0x02, 0x12, 0x33, - 0x0a, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x64, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x10, 0xc9, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, - 0x6e, 0x65, 0x6d, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xca, 0x02, - 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x46, 0x72, 0x65, 0x65, - 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xcb, 0x02, 0x12, 0x1e, 0x0a, 0x19, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x42, 0x75, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcc, 0x02, 0x12, 0x1a, 0x0a, 0x15, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, - 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcd, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4d, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x4c, 0x69, - 0x6b, 0x65, 0x10, 0xce, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcf, - 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x54, 0x65, 0x61, - 0x6d, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x10, - 0xd0, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x48, 0x50, - 0x4d, 0x61, 0x6e, 0x61, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xd1, 0x02, 0x12, 0x17, 0x0a, 0x12, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x6c, 0x79, 0x70, 0x68, 0x41, 0x6c, 0x65, - 0x72, 0x74, 0x10, 0xd2, 0x02, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd3, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x68, - 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x10, 0xd4, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x4e, 0x59, 0x32, 0x30, 0x31, - 0x35, 0x43, 0x6d, 0x64, 0x10, 0xd5, 0x02, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x46, 0x69, 0x6c, 0x6c, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, - 0x73, 0x57, 0x69, 0x74, 0x68, 0x42, 0x6f, 0x74, 0x73, 0x10, 0xd6, 0x02, 0x12, 0x15, 0x0a, 0x10, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x44, 0x65, 0x6d, 0x6f, 0x48, 0x65, 0x72, 0x6f, - 0x10, 0xd7, 0x02, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x54, - 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x55, 0x73, 0x65, 0x10, 0xd9, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x10, 0xda, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, - 0x10, 0xdb, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, - 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x75, 0x66, 0x66, 0x10, 0xdc, 0x02, 0x12, 0x16, 0x0a, - 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x57, 0x61, 0x67, - 0x65, 0x72, 0x10, 0xdd, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x10, 0xde, - 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x58, 0x50, 0x41, - 0x6c, 0x65, 0x72, 0x74, 0x10, 0xdf, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x54, 0x69, - 0x70, 0x10, 0xe1, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x4b, 0x69, 0x6c, 0x6c, 0x4d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x10, 0xe3, 0x02, 0x12, 0x18, 0x0a, - 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x10, 0xe4, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x6b, 0x10, 0xe5, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x10, 0xe6, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4b, - 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, - 0x6e, 0x10, 0xe7, 0x02, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x53, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xe8, 0x02, 0x12, 0x24, 0x0a, 0x1f, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, - 0x64, 0x57, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xe9, - 0x02, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x6f, 0x6c, - 0x6c, 0x44, 0x69, 0x63, 0x65, 0x10, 0xea, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4d, 0x5f, 0x46, 0x6c, 0x69, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xeb, 0x02, 0x12, - 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x10, 0xec, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x10, - 0xed, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x6f, - 0x69, 0x6e, 0x57, 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, 0xee, 0x02, 0x12, - 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x57, - 0x61, 0x67, 0x65, 0x72, 0x10, 0xef, 0x02, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x10, 0xf0, 0x02, 0x12, 0x26, 0x0a, 0x21, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x48, 0x65, 0x6c, 0x70, 0x54, 0x69, 0x70, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, - 0xf1, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x48, 0x61, 0x6c, - 0x74, 0x10, 0xf2, 0x02, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x6f, 0x6d, 0x62, 0x61, - 0x74, 0x4c, 0x6f, 0x67, 0x10, 0xf3, 0x02, 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0xf4, 0x02, - 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x75, 0x69, 0x64, - 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf5, 0x02, - 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x75, 0x69, 0x64, - 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0xf6, 0x02, 0x12, 0x19, 0x0a, 0x14, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x10, 0xf7, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4d, 0x5f, 0x53, 0x61, 0x6c, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, - 0xf8, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x70, - 0x72, 0x61, 0x79, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x10, 0xf9, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, - 0xfa, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, - 0x10, 0xfb, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, - 0x61, 0x64, 0x61, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xfc, 0x02, 0x12, 0x1c, 0x0a, 0x17, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, 0x72, - 0x65, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xfd, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4d, - 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x10, 0xfe, 0x02, 0x12, 0x1b, 0x0a, 0x16, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x47, 0x61, 0x6d, - 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x10, 0xff, 0x02, 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x10, - 0x80, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x10, 0x81, 0x03, 0x12, 0x1f, 0x0a, - 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, - 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x82, 0x03, 0x12, 0x1f, - 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x49, - 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x84, 0x03, 0x12, - 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x72, - 0x6b, 0x65, 0x72, 0x10, 0x85, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x10, 0x86, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x87, 0x03, 0x12, 0x25, 0x0a, - 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x10, 0x89, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x8a, 0x03, 0x12, 0x2a, - 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x10, 0x8b, 0x03, 0x12, 0x29, 0x0a, 0x24, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x72, 0x10, 0x8c, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x10, 0x8d, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x44, 0x75, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0x8e, 0x03, 0x12, - 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x6f, 0x6f, 0x73, - 0x65, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x8f, 0x03, 0x12, - 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x10, 0xa0, 0x06, 0x12, 0x1f, 0x0a, - 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, - 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x10, 0xa1, 0x06, 0x12, 0x22, - 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x10, - 0xa2, 0x06, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x54, - 0x65, 0x61, 0x6d, 0x10, 0xa3, 0x06, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, - 0x10, 0xa4, 0x06, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa5, 0x06, 0x12, 0x1d, - 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x6c, 0x6c, 0x79, 0x41, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa6, 0x06, 0x12, 0x17, 0x0a, - 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x10, 0xa7, 0x06, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x45, 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x10, 0xa8, - 0x06, 0x12, 0x28, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x10, 0xa9, 0x06, 0x12, 0x17, 0x0a, 0x12, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x10, 0xaa, 0x06, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, - 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xab, 0x06, 0x12, 0x1e, - 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x44, 0x10, 0xac, 0x06, 0x42, 0x25, - 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, - 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, - 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x69, 0x6e, 0x67, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6d, 0x65, 0x72, + 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0xc9, 0x02, 0x12, 0x1b, 0x0a, 0x16, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x49, 0x74, 0x65, + 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xca, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x79, 0x10, 0xcb, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x42, 0x75, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x10, 0xcc, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcd, + 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x10, 0xce, 0x02, 0x12, 0x1a, + 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcf, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, + 0x73, 0x65, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x10, 0xd0, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x48, 0x50, 0x4d, 0x61, 0x6e, 0x61, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x10, 0xd1, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x47, 0x6c, 0x79, 0x70, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xd2, 0x02, 0x12, 0x23, + 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x68, + 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x10, 0xd3, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, + 0x6c, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x10, + 0xd4, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x43, 0x4e, 0x59, 0x32, 0x30, 0x31, 0x35, 0x43, 0x6d, 0x64, 0x10, 0xd5, 0x02, + 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x46, 0x69, 0x6c, 0x6c, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x42, 0x6f, + 0x74, 0x73, 0x10, 0xd6, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x44, 0x65, 0x6d, 0x6f, 0x48, 0x65, 0x72, 0x6f, 0x10, 0xd7, 0x02, 0x12, 0x24, 0x0a, 0x1f, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x64, 0x10, + 0xd8, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x55, 0x73, 0x65, 0x10, 0xd9, 0x02, + 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x10, 0xda, 0x02, 0x12, 0x1c, + 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x10, 0xdb, 0x02, 0x12, 0x18, 0x0a, 0x13, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x42, + 0x75, 0x66, 0x66, 0x10, 0xdc, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x57, 0x61, 0x67, 0x65, 0x72, 0x10, 0xdd, 0x02, 0x12, 0x1a, + 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x10, 0xde, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x58, 0x50, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xdf, 0x02, + 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x54, 0x69, 0x70, 0x10, 0xe1, 0x02, 0x12, 0x17, 0x0a, + 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x4d, 0x79, 0x48, + 0x65, 0x72, 0x6f, 0x10, 0xe3, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xe4, 0x02, + 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x54, 0x6f, 0x67, 0x67, + 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0xe5, 0x02, 0x12, + 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0xe6, 0x02, 0x12, 0x1f, 0x0a, 0x1a, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x44, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xe7, 0x02, 0x12, 0x25, 0x0a, + 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x6d, + 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0xe8, 0x02, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, + 0x53, 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x57, 0x61, 0x72, 0x64, 0x50, 0x6c, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xe9, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x10, 0xea, + 0x02, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x46, 0x6c, 0x69, + 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xeb, 0x02, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xec, 0x02, 0x12, 0x1c, 0x0a, + 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x65, 0x61, + 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x10, 0xed, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x57, 0x61, 0x67, 0x65, 0x72, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, 0xee, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x57, 0x61, 0x67, 0x65, 0x72, 0x10, 0xef, 0x02, + 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x6d, + 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, + 0x10, 0xf0, 0x02, 0x12, 0x26, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x48, + 0x65, 0x6c, 0x70, 0x54, 0x69, 0x70, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0xf1, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x48, 0x61, 0x6c, 0x74, 0x10, 0xf2, 0x02, 0x12, 0x21, 0x0a, + 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x10, 0xf3, 0x02, + 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0xf4, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x75, 0x69, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf5, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x75, 0x69, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x10, 0xf6, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0xf7, 0x02, + 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x61, 0x6c, 0x75, + 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xf8, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x70, 0x72, 0x61, 0x79, 0x57, 0x68, 0x65, 0x65, + 0x6c, 0x10, 0xf9, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, + 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xfa, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xfb, 0x02, 0x12, 0x17, 0x0a, 0x12, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x61, 0x64, 0x61, 0x72, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x10, 0xfc, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x10, 0xfd, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, + 0x65, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x6e, 0x74, 0x10, 0xfe, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x10, + 0xff, 0x02, 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x56, 0x65, + 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x10, 0x80, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6f, 0x75, + 0x6e, 0x74, 0x79, 0x10, 0x81, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x82, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, 0x74, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x84, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x10, 0x85, 0x03, 0x12, + 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x86, 0x03, 0x12, 0x17, 0x0a, + 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x10, 0x87, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, + 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0x89, 0x03, 0x12, 0x18, 0x0a, + 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x10, 0x8a, 0x03, 0x12, 0x2a, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, + 0x10, 0x8b, 0x03, 0x12, 0x29, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, + 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x10, 0x8c, 0x03, 0x12, 0x1d, + 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, + 0x6c, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x8d, 0x03, 0x12, 0x19, 0x0a, + 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0x8e, 0x03, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x8f, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, + 0x69, 0x63, 0x6b, 0x10, 0xa0, 0x06, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x10, 0xa1, 0x06, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x10, 0xa2, 0x06, 0x12, 0x22, 0x0a, 0x1d, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, + 0x66, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x10, 0xa3, 0x06, 0x12, + 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, + 0x68, 0x65, 0x65, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa4, 0x06, 0x12, 0x19, 0x0a, 0x14, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa5, 0x06, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x41, 0x6c, 0x6c, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x10, 0xa6, 0x06, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xa7, 0x06, 0x12, + 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x45, + 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x10, 0xa8, 0x06, 0x12, 0x28, 0x0a, 0x23, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x10, 0xa9, 0x06, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, + 0x46, 0x61, 0x63, 0x65, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xaa, 0x06, 0x12, 0x18, 0x0a, + 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x10, 0xab, 0x06, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x49, 0x44, 0x10, 0xac, 0x06, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, + 0x49, 0x74, 0x65, 0x6d, 0x10, 0xad, 0x06, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x10, 0xae, + 0x06, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x53, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x10, 0xaf, 0x06, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x43, 0x72, 0x61, 0x66, 0x74, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, + 0x6d, 0x10, 0xb0, 0x06, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, + 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x43, 0x72, 0x61, 0x66, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x75, + 0x74, 0x72, 0x61, 0x6c, 0x10, 0xb1, 0x06, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4d, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xb2, 0x06, + 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x4d, 0x61, 0x64, 0x73, + 0x74, 0x6f, 0x6e, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xb3, 0x06, 0x42, 0x25, 0x5a, 0x23, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, + 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, + 0x6f, 0x74, 0x61, } var ( @@ -6827,7 +7320,7 @@ func file_dota_clientmessages_proto_rawDescGZIP() []byte { } var file_dota_clientmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_dota_clientmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 96) +var file_dota_clientmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 104) var file_dota_clientmessages_proto_goTypes = []interface{}{ (EDotaClientMessages)(0), // 0: dota.EDotaClientMessages (CDOTAClientMsg_UnitsAutoAttackMode_EMode)(0), // 1: dota.CDOTAClientMsg_UnitsAutoAttackMode.EMode @@ -6893,80 +7386,93 @@ var file_dota_clientmessages_proto_goTypes = []interface{}{ (*CDOTAClientMsg_RollDice)(nil), // 61: dota.CDOTAClientMsg_RollDice (*CDOTAClientMsg_FlipCoin)(nil), // 62: dota.CDOTAClientMsg_FlipCoin (*CDOTAClientMsg_RequestItemSuggestions)(nil), // 63: dota.CDOTAClientMsg_RequestItemSuggestions - (*CDOTAClientMsg_MakeTeamCaptain)(nil), // 64: dota.CDOTAClientMsg_MakeTeamCaptain - (*CDOTAClientMsg_HelpTipSystemStateChanged)(nil), // 65: dota.CDOTAClientMsg_HelpTipSystemStateChanged - (*CDOTAClientMsg_RequestBulkCombatLog)(nil), // 66: dota.CDOTAClientMsg_RequestBulkCombatLog - (*CDOTAClientMsg_AbilityDraftRequestAbility)(nil), // 67: dota.CDOTAClientMsg_AbilityDraftRequestAbility - (*CDOTAClientMsg_GuideSelectOption)(nil), // 68: dota.CDOTAClientMsg_GuideSelectOption - (*CDOTAClientMsg_GuideSelected)(nil), // 69: dota.CDOTAClientMsg_GuideSelected - (*CDOTAClientMsg_DamageReport)(nil), // 70: dota.CDOTAClientMsg_DamageReport - (*CDOTAClientMsg_SalutePlayer)(nil), // 71: dota.CDOTAClientMsg_SalutePlayer - (*CDOTAClientMsg_GiftPlayer)(nil), // 72: dota.CDOTAClientMsg_GiftPlayer - (*CDOTAClientMsg_GiftEveryone)(nil), // 73: dota.CDOTAClientMsg_GiftEveryone - (*CDOTAClientMsg_TipAlert)(nil), // 74: dota.CDOTAClientMsg_TipAlert - (*CDOTAClientMsg_EmptyTeleportAlert)(nil), // 75: dota.CDOTAClientMsg_EmptyTeleportAlert - (*CDOTAClientMsg_SetCavernMapVariant)(nil), // 76: dota.CDOTAClientMsg_SetCavernMapVariant - (*CDOTAClientMsg_PauseGameOrder)(nil), // 77: dota.CDOTAClientMsg_PauseGameOrder - (*CDOTAClientMsg_VersusScene_PlayerBehavior)(nil), // 78: dota.CDOTAClientMsg_VersusScene_PlayerBehavior - (*CDOTAClientMsg_EmptyItemSlotAlert)(nil), // 79: dota.CDOTAClientMsg_EmptyItemSlotAlert - (*CDOTAClientMsg_AddOverwatchReportMarker)(nil), // 80: dota.CDOTAClientMsg_AddOverwatchReportMarker - (*CDOTAClientMsg_AddCommunicationsReportMarker)(nil), // 81: dota.CDOTAClientMsg_AddCommunicationsReportMarker - (*CDOTAClientMsg_AddCommunicationsBlockMarker)(nil), // 82: dota.CDOTAClientMsg_AddCommunicationsBlockMarker - (*CDOTAClientMsg_AghsStatusAlert)(nil), // 83: dota.CDOTAClientMsg_AghsStatusAlert - (*CDOTAClientMsg_PerfReport)(nil), // 84: dota.CDOTAClientMsg_PerfReport - (*CDOTAClientMsg_ContextualTips_Subscribe_Entry)(nil), // 85: dota.CDOTAClientMsg_ContextualTips_Subscribe_Entry - (*CDOTAClientMsg_ContextualTips_Subscribe)(nil), // 86: dota.CDOTAClientMsg_ContextualTips_Subscribe - (*CDOTAClientMsg_ChatMessage)(nil), // 87: dota.CDOTAClientMsg_ChatMessage - (*CDOTAClientMsg_DuelAccepted)(nil), // 88: dota.CDOTAClientMsg_DuelAccepted - (*CDOTAClientMsg_ChooseNeutralItem)(nil), // 89: dota.CDOTAClientMsg_ChooseNeutralItem - (*CDOTAClientMsg_PlayerDraftPick)(nil), // 90: dota.CDOTAClientMsg_PlayerDraftPick - (*CDOTAClientMsg_PlayerDraftSuggest)(nil), // 91: dota.CDOTAClientMsg_PlayerDraftSuggest - (*CDOTAClientMsg_PlayerDraftPreferRole)(nil), // 92: dota.CDOTAClientMsg_PlayerDraftPreferRole - (*CDOTAClientMsg_PlayerDraftPreferTeam)(nil), // 93: dota.CDOTAClientMsg_PlayerDraftPreferTeam - (*CDOTAClientMsg_AbilityAlert)(nil), // 94: dota.CDOTAClientMsg_AbilityAlert - (*CDOTAClientMsg_SelectOverworldTokenRewards)(nil), // 95: dota.CDOTAClientMsg_SelectOverworldTokenRewards - (*CDOTAClientMsg_FacetAlert)(nil), // 96: dota.CDOTAClientMsg_FacetAlert - (*CDOTAClientMsg_InnateAlert)(nil), // 97: dota.CDOTAClientMsg_InnateAlert - (*CDOTAClientMsg_SelectOverworldID)(nil), // 98: dota.CDOTAClientMsg_SelectOverworldID - (*CDOTAMsg_LocationPing)(nil), // 99: dota.CDOTAMsg_LocationPing - (*CDOTAMsg_ItemAlert)(nil), // 100: dota.CDOTAMsg_ItemAlert - (*CDOTAMsg_MapLine)(nil), // 101: dota.CDOTAMsg_MapLine - (*CDOTAMsg_WorldLine)(nil), // 102: dota.CDOTAMsg_WorldLine - (*CDOTAMsg_SendStatPopup)(nil), // 103: dota.CDOTAMsg_SendStatPopup - (*CDOTAMsg_DismissAllStatPopups)(nil), // 104: dota.CDOTAMsg_DismissAllStatPopups - (*CSOEconItem)(nil), // 105: dota.CSOEconItem - (EEvent)(0), // 106: dota.EEvent - (*CDOTAMsg_UnitOrder)(nil), // 107: dota.CDOTAMsg_UnitOrder - (EDOTAVersusScenePlayerBehavior)(0), // 108: dota.EDOTAVersusScenePlayerBehavior - (*VersusScene_PlayActivity)(nil), // 109: dota.VersusScene_PlayActivity - (*VersusScene_ChatWheel)(nil), // 110: dota.VersusScene_ChatWheel - (*VersusScene_PlaybackRate)(nil), // 111: dota.VersusScene_PlaybackRate - (EOverwatchReportReason)(0), // 112: dota.EOverwatchReportReason + (*CDOTAClientMsg_SuggestItemPreference)(nil), // 64: dota.CDOTAClientMsg_SuggestItemPreference + (*CDOTAClientMsg_MakeTeamCaptain)(nil), // 65: dota.CDOTAClientMsg_MakeTeamCaptain + (*CDOTAClientMsg_HelpTipSystemStateChanged)(nil), // 66: dota.CDOTAClientMsg_HelpTipSystemStateChanged + (*CDOTAClientMsg_RequestBulkCombatLog)(nil), // 67: dota.CDOTAClientMsg_RequestBulkCombatLog + (*CDOTAClientMsg_AbilityDraftRequestAbility)(nil), // 68: dota.CDOTAClientMsg_AbilityDraftRequestAbility + (*CDOTAClientMsg_GuideSelectOption)(nil), // 69: dota.CDOTAClientMsg_GuideSelectOption + (*CDOTAClientMsg_GuideSelected)(nil), // 70: dota.CDOTAClientMsg_GuideSelected + (*CDOTAClientMsg_DamageReport)(nil), // 71: dota.CDOTAClientMsg_DamageReport + (*CDOTAClientMsg_SalutePlayer)(nil), // 72: dota.CDOTAClientMsg_SalutePlayer + (*CDOTAClientMsg_GiftPlayer)(nil), // 73: dota.CDOTAClientMsg_GiftPlayer + (*CDOTAClientMsg_GiftEveryone)(nil), // 74: dota.CDOTAClientMsg_GiftEveryone + (*CDOTAClientMsg_TipAlert)(nil), // 75: dota.CDOTAClientMsg_TipAlert + (*CDOTAClientMsg_EmptyTeleportAlert)(nil), // 76: dota.CDOTAClientMsg_EmptyTeleportAlert + (*CDOTAClientMsg_SetCavernMapVariant)(nil), // 77: dota.CDOTAClientMsg_SetCavernMapVariant + (*CDOTAClientMsg_PauseGameOrder)(nil), // 78: dota.CDOTAClientMsg_PauseGameOrder + (*CDOTAClientMsg_VersusScene_PlayerBehavior)(nil), // 79: dota.CDOTAClientMsg_VersusScene_PlayerBehavior + (*CDOTAClientMsg_EmptyItemSlotAlert)(nil), // 80: dota.CDOTAClientMsg_EmptyItemSlotAlert + (*CDOTAClientMsg_AddOverwatchReportMarker)(nil), // 81: dota.CDOTAClientMsg_AddOverwatchReportMarker + (*CDOTAClientMsg_AddCommunicationsReportMarker)(nil), // 82: dota.CDOTAClientMsg_AddCommunicationsReportMarker + (*CDOTAClientMsg_AddCommunicationsBlockMarker)(nil), // 83: dota.CDOTAClientMsg_AddCommunicationsBlockMarker + (*CDOTAClientMsg_AghsStatusAlert)(nil), // 84: dota.CDOTAClientMsg_AghsStatusAlert + (*CDOTAClientMsg_PerfReport)(nil), // 85: dota.CDOTAClientMsg_PerfReport + (*CDOTAClientMsg_ContextualTips_Subscribe_Entry)(nil), // 86: dota.CDOTAClientMsg_ContextualTips_Subscribe_Entry + (*CDOTAClientMsg_ContextualTips_Subscribe)(nil), // 87: dota.CDOTAClientMsg_ContextualTips_Subscribe + (*CDOTAClientMsg_ChatMessage)(nil), // 88: dota.CDOTAClientMsg_ChatMessage + (*CDOTAClientMsg_DuelAccepted)(nil), // 89: dota.CDOTAClientMsg_DuelAccepted + (*CDOTAClientMsg_ChooseNeutralItem)(nil), // 90: dota.CDOTAClientMsg_ChooseNeutralItem + (*CDOTAClientMsg_RerollNeutralItem)(nil), // 91: dota.CDOTAClientMsg_RerollNeutralItem + (*CDOTAClientMsg_PlayerDraftPick)(nil), // 92: dota.CDOTAClientMsg_PlayerDraftPick + (*CDOTAClientMsg_PlayerDraftSuggest)(nil), // 93: dota.CDOTAClientMsg_PlayerDraftSuggest + (*CDOTAClientMsg_PlayerDraftPreferRole)(nil), // 94: dota.CDOTAClientMsg_PlayerDraftPreferRole + (*CDOTAClientMsg_PlayerDraftPreferTeam)(nil), // 95: dota.CDOTAClientMsg_PlayerDraftPreferTeam + (*CDOTAClientMsg_AbilityAlert)(nil), // 96: dota.CDOTAClientMsg_AbilityAlert + (*CDOTAClientMsg_SelectOverworldTokenRewards)(nil), // 97: dota.CDOTAClientMsg_SelectOverworldTokenRewards + (*CDOTAClientMsg_FacetAlert)(nil), // 98: dota.CDOTAClientMsg_FacetAlert + (*CDOTAClientMsg_InnateAlert)(nil), // 99: dota.CDOTAClientMsg_InnateAlert + (*CDOTAClientMsg_SelectOverworldID)(nil), // 100: dota.CDOTAClientMsg_SelectOverworldID + (*CDOTAClientMsg_RoshanTimer)(nil), // 101: dota.CDOTAClientMsg_RoshanTimer + (*CDOTAClientMsg_CraftNeutralItem)(nil), // 102: dota.CDOTAClientMsg_CraftNeutralItem + (*CDOTAClientMsg_ChooseCraftedNeutralItem)(nil), // 103: dota.CDOTAClientMsg_ChooseCraftedNeutralItem + (*CDOTAClientMsg_TimerAlert)(nil), // 104: dota.CDOTAClientMsg_TimerAlert + (*CDOTAClientMsg_MadstoneAlert)(nil), // 105: dota.CDOTAClientMsg_MadstoneAlert + (*CDOTAClientMsg_SuggestItemPreference_ItemPreference)(nil), // 106: dota.CDOTAClientMsg_SuggestItemPreference.ItemPreference + (*CDOTAMsg_LocationPing)(nil), // 107: dota.CDOTAMsg_LocationPing + (*CDOTAMsg_ItemAlert)(nil), // 108: dota.CDOTAMsg_ItemAlert + (*CDOTAMsg_MapLine)(nil), // 109: dota.CDOTAMsg_MapLine + (*CDOTAMsg_WorldLine)(nil), // 110: dota.CDOTAMsg_WorldLine + (*CDOTAMsg_SendStatPopup)(nil), // 111: dota.CDOTAMsg_SendStatPopup + (*CDOTAMsg_DismissAllStatPopups)(nil), // 112: dota.CDOTAMsg_DismissAllStatPopups + (*CSOEconItem)(nil), // 113: dota.CSOEconItem + (EEvent)(0), // 114: dota.EEvent + (*CDOTAMsg_UnitOrder)(nil), // 115: dota.CDOTAMsg_UnitOrder + (EDOTAVersusScenePlayerBehavior)(0), // 116: dota.EDOTAVersusScenePlayerBehavior + (*VersusScene_PlayActivity)(nil), // 117: dota.VersusScene_PlayActivity + (*VersusScene_ChatWheel)(nil), // 118: dota.VersusScene_ChatWheel + (*VersusScene_PlaybackRate)(nil), // 119: dota.VersusScene_PlaybackRate + (EOverwatchReportReason)(0), // 120: dota.EOverwatchReportReason + (ETimerAlertType)(0), // 121: dota.ETimerAlertType + (EItemSuggestPreference)(0), // 122: dota.EItemSuggestPreference } var file_dota_clientmessages_proto_depIdxs = []int32{ - 99, // 0: dota.CDOTAClientMsg_MapPing.location_ping:type_name -> dota.CDOTAMsg_LocationPing - 100, // 1: dota.CDOTAClientMsg_ItemAlert.item_alert:type_name -> dota.CDOTAMsg_ItemAlert - 101, // 2: dota.CDOTAClientMsg_MapLine.mapline:type_name -> dota.CDOTAMsg_MapLine + 107, // 0: dota.CDOTAClientMsg_MapPing.location_ping:type_name -> dota.CDOTAMsg_LocationPing + 108, // 1: dota.CDOTAClientMsg_ItemAlert.item_alert:type_name -> dota.CDOTAMsg_ItemAlert + 109, // 2: dota.CDOTAClientMsg_MapLine.mapline:type_name -> dota.CDOTAMsg_MapLine 1, // 3: dota.CDOTAClientMsg_UnitsAutoAttackMode.mode:type_name -> dota.CDOTAClientMsg_UnitsAutoAttackMode.EMode 2, // 4: dota.CDOTAClientMsg_UnitsAutoAttackMode.unit_type:type_name -> dota.CDOTAClientMsg_UnitsAutoAttackMode.EUnitType - 102, // 5: dota.CDOTAClientMsg_WorldLine.worldline:type_name -> dota.CDOTAMsg_WorldLine - 103, // 6: dota.CDOTAClientMsg_SendStatPopup.statpopup:type_name -> dota.CDOTAMsg_SendStatPopup - 104, // 7: dota.CDOTAClientMsg_DismissAllStatPopups.dismissallmsg:type_name -> dota.CDOTAMsg_DismissAllStatPopups + 110, // 5: dota.CDOTAClientMsg_WorldLine.worldline:type_name -> dota.CDOTAMsg_WorldLine + 111, // 6: dota.CDOTAClientMsg_SendStatPopup.statpopup:type_name -> dota.CDOTAMsg_SendStatPopup + 112, // 7: dota.CDOTAClientMsg_DismissAllStatPopups.dismissallmsg:type_name -> dota.CDOTAMsg_DismissAllStatPopups 30, // 8: dota.CDOTAClientMsg_UpdateQuickBuy.items:type_name -> dota.CDOTAClientMsg_UpdateQuickBuyItem - 105, // 9: dota.CDOTAClientMsg_DemoHero.item_data:type_name -> dota.CSOEconItem - 106, // 10: dota.CDOTAClientMsg_ChallengeReroll.event_id:type_name -> dota.EEvent - 107, // 11: dota.CDOTAClientMsg_ExecuteOrders.orders:type_name -> dota.CDOTAMsg_UnitOrder - 108, // 12: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.behavior:type_name -> dota.EDOTAVersusScenePlayerBehavior - 109, // 13: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.play_activity:type_name -> dota.VersusScene_PlayActivity - 110, // 14: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.chat_wheel:type_name -> dota.VersusScene_ChatWheel - 111, // 15: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.playback_rate:type_name -> dota.VersusScene_PlaybackRate - 112, // 16: dota.CDOTAClientMsg_AddOverwatchReportMarker.reason:type_name -> dota.EOverwatchReportReason - 85, // 17: dota.CDOTAClientMsg_ContextualTips_Subscribe.tips:type_name -> dota.CDOTAClientMsg_ContextualTips_Subscribe_Entry - 18, // [18:18] is the sub-list for method output_type - 18, // [18:18] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 113, // 9: dota.CDOTAClientMsg_DemoHero.item_data:type_name -> dota.CSOEconItem + 114, // 10: dota.CDOTAClientMsg_ChallengeReroll.event_id:type_name -> dota.EEvent + 115, // 11: dota.CDOTAClientMsg_ExecuteOrders.orders:type_name -> dota.CDOTAMsg_UnitOrder + 106, // 12: dota.CDOTAClientMsg_SuggestItemPreference.item_preferences:type_name -> dota.CDOTAClientMsg_SuggestItemPreference.ItemPreference + 116, // 13: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.behavior:type_name -> dota.EDOTAVersusScenePlayerBehavior + 117, // 14: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.play_activity:type_name -> dota.VersusScene_PlayActivity + 118, // 15: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.chat_wheel:type_name -> dota.VersusScene_ChatWheel + 119, // 16: dota.CDOTAClientMsg_VersusScene_PlayerBehavior.playback_rate:type_name -> dota.VersusScene_PlaybackRate + 120, // 17: dota.CDOTAClientMsg_AddOverwatchReportMarker.reason:type_name -> dota.EOverwatchReportReason + 86, // 18: dota.CDOTAClientMsg_ContextualTips_Subscribe.tips:type_name -> dota.CDOTAClientMsg_ContextualTips_Subscribe_Entry + 121, // 19: dota.CDOTAClientMsg_TimerAlert.timer_alert_type:type_name -> dota.ETimerAlertType + 122, // 20: dota.CDOTAClientMsg_SuggestItemPreference.ItemPreference.preference:type_name -> dota.EItemSuggestPreference + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_dota_clientmessages_proto_init() } @@ -7711,7 +8217,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_MakeTeamCaptain); i { + switch v := v.(*CDOTAClientMsg_SuggestItemPreference); i { case 0: return &v.state case 1: @@ -7723,7 +8229,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_HelpTipSystemStateChanged); i { + switch v := v.(*CDOTAClientMsg_MakeTeamCaptain); i { case 0: return &v.state case 1: @@ -7735,7 +8241,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_RequestBulkCombatLog); i { + switch v := v.(*CDOTAClientMsg_HelpTipSystemStateChanged); i { case 0: return &v.state case 1: @@ -7747,7 +8253,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_AbilityDraftRequestAbility); i { + switch v := v.(*CDOTAClientMsg_RequestBulkCombatLog); i { case 0: return &v.state case 1: @@ -7759,7 +8265,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_GuideSelectOption); i { + switch v := v.(*CDOTAClientMsg_AbilityDraftRequestAbility); i { case 0: return &v.state case 1: @@ -7771,7 +8277,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_GuideSelected); i { + switch v := v.(*CDOTAClientMsg_GuideSelectOption); i { case 0: return &v.state case 1: @@ -7783,7 +8289,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_DamageReport); i { + switch v := v.(*CDOTAClientMsg_GuideSelected); i { case 0: return &v.state case 1: @@ -7795,7 +8301,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_SalutePlayer); i { + switch v := v.(*CDOTAClientMsg_DamageReport); i { case 0: return &v.state case 1: @@ -7807,7 +8313,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_GiftPlayer); i { + switch v := v.(*CDOTAClientMsg_SalutePlayer); i { case 0: return &v.state case 1: @@ -7819,7 +8325,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_GiftEveryone); i { + switch v := v.(*CDOTAClientMsg_GiftPlayer); i { case 0: return &v.state case 1: @@ -7831,7 +8337,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_TipAlert); i { + switch v := v.(*CDOTAClientMsg_GiftEveryone); i { case 0: return &v.state case 1: @@ -7843,7 +8349,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_EmptyTeleportAlert); i { + switch v := v.(*CDOTAClientMsg_TipAlert); i { case 0: return &v.state case 1: @@ -7855,7 +8361,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_SetCavernMapVariant); i { + switch v := v.(*CDOTAClientMsg_EmptyTeleportAlert); i { case 0: return &v.state case 1: @@ -7867,7 +8373,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_PauseGameOrder); i { + switch v := v.(*CDOTAClientMsg_SetCavernMapVariant); i { case 0: return &v.state case 1: @@ -7879,7 +8385,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_VersusScene_PlayerBehavior); i { + switch v := v.(*CDOTAClientMsg_PauseGameOrder); i { case 0: return &v.state case 1: @@ -7891,7 +8397,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_EmptyItemSlotAlert); i { + switch v := v.(*CDOTAClientMsg_VersusScene_PlayerBehavior); i { case 0: return &v.state case 1: @@ -7903,7 +8409,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_AddOverwatchReportMarker); i { + switch v := v.(*CDOTAClientMsg_EmptyItemSlotAlert); i { case 0: return &v.state case 1: @@ -7915,7 +8421,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_AddCommunicationsReportMarker); i { + switch v := v.(*CDOTAClientMsg_AddOverwatchReportMarker); i { case 0: return &v.state case 1: @@ -7927,7 +8433,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_AddCommunicationsBlockMarker); i { + switch v := v.(*CDOTAClientMsg_AddCommunicationsReportMarker); i { case 0: return &v.state case 1: @@ -7939,7 +8445,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_AghsStatusAlert); i { + switch v := v.(*CDOTAClientMsg_AddCommunicationsBlockMarker); i { case 0: return &v.state case 1: @@ -7951,7 +8457,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_PerfReport); i { + switch v := v.(*CDOTAClientMsg_AghsStatusAlert); i { case 0: return &v.state case 1: @@ -7963,7 +8469,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_ContextualTips_Subscribe_Entry); i { + switch v := v.(*CDOTAClientMsg_PerfReport); i { case 0: return &v.state case 1: @@ -7975,7 +8481,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_ContextualTips_Subscribe); i { + switch v := v.(*CDOTAClientMsg_ContextualTips_Subscribe_Entry); i { case 0: return &v.state case 1: @@ -7987,7 +8493,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_ChatMessage); i { + switch v := v.(*CDOTAClientMsg_ContextualTips_Subscribe); i { case 0: return &v.state case 1: @@ -7999,7 +8505,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_DuelAccepted); i { + switch v := v.(*CDOTAClientMsg_ChatMessage); i { case 0: return &v.state case 1: @@ -8011,7 +8517,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_ChooseNeutralItem); i { + switch v := v.(*CDOTAClientMsg_DuelAccepted); i { case 0: return &v.state case 1: @@ -8023,7 +8529,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_PlayerDraftPick); i { + switch v := v.(*CDOTAClientMsg_ChooseNeutralItem); i { case 0: return &v.state case 1: @@ -8035,7 +8541,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_PlayerDraftSuggest); i { + switch v := v.(*CDOTAClientMsg_RerollNeutralItem); i { case 0: return &v.state case 1: @@ -8047,7 +8553,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_PlayerDraftPreferRole); i { + switch v := v.(*CDOTAClientMsg_PlayerDraftPick); i { case 0: return &v.state case 1: @@ -8059,7 +8565,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_PlayerDraftPreferTeam); i { + switch v := v.(*CDOTAClientMsg_PlayerDraftSuggest); i { case 0: return &v.state case 1: @@ -8071,7 +8577,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_AbilityAlert); i { + switch v := v.(*CDOTAClientMsg_PlayerDraftPreferRole); i { case 0: return &v.state case 1: @@ -8083,7 +8589,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_SelectOverworldTokenRewards); i { + switch v := v.(*CDOTAClientMsg_PlayerDraftPreferTeam); i { case 0: return &v.state case 1: @@ -8095,7 +8601,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_FacetAlert); i { + switch v := v.(*CDOTAClientMsg_AbilityAlert); i { case 0: return &v.state case 1: @@ -8107,7 +8613,7 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAClientMsg_InnateAlert); i { + switch v := v.(*CDOTAClientMsg_SelectOverworldTokenRewards); i { case 0: return &v.state case 1: @@ -8119,6 +8625,30 @@ func file_dota_clientmessages_proto_init() { } } file_dota_clientmessages_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_FacetAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_clientmessages_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_InnateAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_clientmessages_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CDOTAClientMsg_SelectOverworldID); i { case 0: return &v.state @@ -8130,6 +8660,78 @@ func file_dota_clientmessages_proto_init() { return nil } } + file_dota_clientmessages_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_RoshanTimer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_clientmessages_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_CraftNeutralItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_clientmessages_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_ChooseCraftedNeutralItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_clientmessages_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_TimerAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_clientmessages_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_MadstoneAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_clientmessages_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientMsg_SuggestItemPreference_ItemPreference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -8137,7 +8739,7 @@ func file_dota_clientmessages_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_clientmessages_proto_rawDesc, NumEnums: 3, - NumMessages: 96, + NumMessages: 104, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_clientmessages.proto b/dota/dota_clientmessages.proto index cfabeb83..aad99c61 100644 --- a/dota/dota_clientmessages.proto +++ b/dota/dota_clientmessages.proto @@ -114,6 +114,13 @@ enum EDotaClientMessages { DOTA_CM_FacetAlert = 810; DOTA_CM_InnateAlert = 811; DOTA_CM_SelectOverworldID = 812; + DOTA_CM_RerollNeutralItem = 813; + DOTA_CM_RoshanTimer = 814; + DOTA_CM_SuggestItemPreference = 815; + DOTA_CM_CraftNeutralItem = 816; + DOTA_CM_ChooseCraftedNeutral = 817; + DOTA_CM_TimerAlert = 818; + DOTA_CM_MadstoneAlert = 819; } message CDOTAClientMsg_MapPing { @@ -424,6 +431,15 @@ message CDOTAClientMsg_FlipCoin { message CDOTAClientMsg_RequestItemSuggestions { } +message CDOTAClientMsg_SuggestItemPreference { + message ItemPreference { + optional int32 item_id = 1; + optional EItemSuggestPreference preference = 2; + } + + repeated CDOTAClientMsg_SuggestItemPreference.ItemPreference item_preferences = 1; +} + message CDOTAClientMsg_MakeTeamCaptain { optional int32 player_id = 1; } @@ -442,6 +458,7 @@ message CDOTAClientMsg_RequestBulkCombatLog { message CDOTAClientMsg_AbilityDraftRequestAbility { optional int32 requested_ability_id = 1; optional bool ctrl_is_down = 2; + optional int32 requested_hero_id = 3; } message CDOTAClientMsg_GuideSelectOption { @@ -575,6 +592,11 @@ message CDOTAClientMsg_ChooseNeutralItem { optional int32 slot_index = 3; } +message CDOTAClientMsg_RerollNeutralItem { + optional int32 target_entindex = 1; + optional int32 slot_index = 2; +} + message CDOTAClientMsg_PlayerDraftPick { optional int32 player_id = 1; } @@ -620,3 +642,24 @@ message CDOTAClientMsg_InnateAlert { message CDOTAClientMsg_SelectOverworldID { optional uint32 overworld_id = 1; } + +message CDOTAClientMsg_RoshanTimer { + optional bool negative = 1; +} + +message CDOTAClientMsg_CraftNeutralItem { +} + +message CDOTAClientMsg_ChooseCraftedNeutralItem { + optional int32 neutral_item_index = 1; + optional int32 item_tier = 2; + optional int32 enhancement_index = 3; +} + +message CDOTAClientMsg_TimerAlert { + optional ETimerAlertType timer_alert_type = 1; +} + +message CDOTAClientMsg_MadstoneAlert { + optional int32 target_entindex = 1; +} diff --git a/dota/dota_commonmessages.pb.go b/dota/dota_commonmessages.pb.go index 7fe0128f..0ad395c0 100644 --- a/dota/dota_commonmessages.pb.go +++ b/dota/dota_commonmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_commonmessages.proto package dota @@ -195,6 +195,7 @@ const ( DotaunitorderT_DOTA_UNIT_ORDER_MOVE_RELATIVE DotaunitorderT = 39 DotaunitorderT_DOTA_UNIT_ORDER_CAST_TOGGLE_ALT DotaunitorderT = 40 DotaunitorderT_DOTA_UNIT_ORDER_CONSUME_ITEM DotaunitorderT = 41 + DotaunitorderT_DOTA_UNIT_ORDER_SET_ITEM_MARK_FOR_SELL DotaunitorderT = 42 ) // Enum value maps for DotaunitorderT. @@ -242,6 +243,7 @@ var ( 39: "DOTA_UNIT_ORDER_MOVE_RELATIVE", 40: "DOTA_UNIT_ORDER_CAST_TOGGLE_ALT", 41: "DOTA_UNIT_ORDER_CONSUME_ITEM", + 42: "DOTA_UNIT_ORDER_SET_ITEM_MARK_FOR_SELL", } DotaunitorderT_value = map[string]int32{ "DOTA_UNIT_ORDER_NONE": 0, @@ -286,6 +288,7 @@ var ( "DOTA_UNIT_ORDER_MOVE_RELATIVE": 39, "DOTA_UNIT_ORDER_CAST_TOGGLE_ALT": 40, "DOTA_UNIT_ORDER_CONSUME_ITEM": 41, + "DOTA_UNIT_ORDER_SET_ITEM_MARK_FOR_SELL": 42, } ) @@ -1319,7 +1322,7 @@ var file_dota_commonmessages_proto_rawDesc = []byte{ 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x54, 0x5f, 0x44, 0x75, 0x61, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x54, 0x5f, 0x4d, 0x6f, 0x76, - 0x69, 0x65, 0x10, 0x05, 0x2a, 0xd9, 0x0b, 0x0a, 0x0f, 0x64, 0x6f, 0x74, 0x61, 0x75, 0x6e, 0x69, + 0x69, 0x65, 0x10, 0x05, 0x2a, 0x85, 0x0c, 0x0a, 0x0f, 0x64, 0x6f, 0x74, 0x61, 0x75, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, @@ -1413,18 +1416,21 @@ var file_dota_commonmessages_proto_rawDesc = []byte{ 0x54, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x4c, 0x54, 0x10, 0x28, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x29, - 0x2a, 0x8f, 0x01, 0x0a, 0x1e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, - 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x20, 0x56, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, - 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x53, 0x5f, - 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x57, 0x48, 0x45, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, - 0x56, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, - 0x4f, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x41, 0x54, 0x45, - 0x10, 0x03, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, - 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x12, 0x2a, 0x0a, 0x26, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4d, 0x41, 0x52, + 0x4b, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x2a, 0x2a, 0x8f, 0x01, 0x0a, + 0x1e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, + 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, + 0x24, 0x0a, 0x20, 0x56, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, + 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x57, 0x48, 0x45, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x56, 0x53, 0x5f, 0x50, + 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x50, + 0x4c, 0x41, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x42, 0x25, + 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, + 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, + 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/dota_commonmessages.proto b/dota/dota_commonmessages.proto index fc3e36c2..4d8ec378 100644 --- a/dota/dota_commonmessages.proto +++ b/dota/dota_commonmessages.proto @@ -64,6 +64,7 @@ enum dotaunitorder_t { DOTA_UNIT_ORDER_MOVE_RELATIVE = 39; DOTA_UNIT_ORDER_CAST_TOGGLE_ALT = 40; DOTA_UNIT_ORDER_CONSUME_ITEM = 41; + DOTA_UNIT_ORDER_SET_ITEM_MARK_FOR_SELL = 42; } enum EDOTAVersusScenePlayerBehavior { diff --git a/dota/dota_fighting_game_p2p_messages.pb.go b/dota/dota_fighting_game_p2p_messages.pb.go index 316537c5..43860eda 100644 --- a/dota/dota_fighting_game_p2p_messages.pb.go +++ b/dota/dota_fighting_game_p2p_messages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_fighting_game_p2p_messages.proto package dota diff --git a/dota/dota_gcmessages_client.pb.go b/dota/dota_gcmessages_client.pb.go index 660081d4..b085cec0 100644 --- a/dota/dota_gcmessages_client.pb.go +++ b/dota/dota_gcmessages_client.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client.proto package dota @@ -1259,7 +1259,7 @@ func (x *CMsgGCNotificationsUpdate_EResult) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgGCNotificationsUpdate_EResult.Descriptor instead. func (CMsgGCNotificationsUpdate_EResult) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{72, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{74, 0} } type CMsgGCPlayerInfoSubmitResponse_EResult int32 @@ -1321,7 +1321,7 @@ func (x *CMsgGCPlayerInfoSubmitResponse_EResult) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgGCPlayerInfoSubmitResponse_EResult.Descriptor instead. func (CMsgGCPlayerInfoSubmitResponse_EResult) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{76, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{78, 0} } type CMsgGCToClientRankResponse_EResultCode int32 @@ -1380,7 +1380,7 @@ func (x *CMsgGCToClientRankResponse_EResultCode) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgGCToClientRankResponse_EResultCode.Descriptor instead. func (CMsgGCToClientRankResponse_EResultCode) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{89, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{91, 0} } type CMsgPlayerConductScorecard_EBehaviorRating int32 @@ -1439,7 +1439,7 @@ func (x *CMsgPlayerConductScorecard_EBehaviorRating) UnmarshalJSON(b []byte) err // Deprecated: Use CMsgPlayerConductScorecard_EBehaviorRating.Descriptor instead. func (CMsgPlayerConductScorecard_EBehaviorRating) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{118, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{120, 0} } type CMsgClientToGCVoteForArcanaResponse_Result int32 @@ -1498,7 +1498,7 @@ func (x *CMsgClientToGCVoteForArcanaResponse_Result) UnmarshalJSON(b []byte) err // Deprecated: Use CMsgClientToGCVoteForArcanaResponse_Result.Descriptor instead. func (CMsgClientToGCVoteForArcanaResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{137, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{139, 0} } type CMsgDOTARedeemItemResponse_EResultCode int32 @@ -1554,7 +1554,7 @@ func (x *CMsgDOTARedeemItemResponse_EResultCode) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgDOTARedeemItemResponse_EResultCode.Descriptor instead. func (CMsgDOTARedeemItemResponse_EResultCode) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{147, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{149, 0} } type CMsgClientToGCSelectCompendiumInGamePredictionResponse_EResult int32 @@ -1616,7 +1616,7 @@ func (x *CMsgClientToGCSelectCompendiumInGamePredictionResponse_EResult) Unmarsh // Deprecated: Use CMsgClientToGCSelectCompendiumInGamePredictionResponse_EResult.Descriptor instead. func (CMsgClientToGCSelectCompendiumInGamePredictionResponse_EResult) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{149, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{151, 0} } type CMsgClientToGCOpenPlayerCardPackResponse_Result int32 @@ -1687,7 +1687,7 @@ func (x *CMsgClientToGCOpenPlayerCardPackResponse_Result) UnmarshalJSON(b []byte // Deprecated: Use CMsgClientToGCOpenPlayerCardPackResponse_Result.Descriptor instead. func (CMsgClientToGCOpenPlayerCardPackResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{151, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{153, 0} } type CMsgClientToGCRecyclePlayerCardResponse_Result int32 @@ -1758,7 +1758,7 @@ func (x *CMsgClientToGCRecyclePlayerCardResponse_Result) UnmarshalJSON(b []byte) // Deprecated: Use CMsgClientToGCRecyclePlayerCardResponse_Result.Descriptor instead. func (CMsgClientToGCRecyclePlayerCardResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{153, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{155, 0} } type CMsgClientToGCCreatePlayerCardPackResponse_Result int32 @@ -1829,7 +1829,7 @@ func (x *CMsgClientToGCCreatePlayerCardPackResponse_Result) UnmarshalJSON(b []by // Deprecated: Use CMsgClientToGCCreatePlayerCardPackResponse_Result.Descriptor instead. func (CMsgClientToGCCreatePlayerCardPackResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{155, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{157, 0} } type CMsgClientToGCCreateTeamPlayerCardPackResponse_Result int32 @@ -1900,7 +1900,7 @@ func (x *CMsgClientToGCCreateTeamPlayerCardPackResponse_Result) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCCreateTeamPlayerCardPackResponse_Result.Descriptor instead. func (CMsgClientToGCCreateTeamPlayerCardPackResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{157, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 0} } type CMsgDOTAAnchorPhoneNumberResponse_Result int32 @@ -1968,7 +1968,7 @@ func (x *CMsgDOTAAnchorPhoneNumberResponse_Result) UnmarshalJSON(b []byte) error // Deprecated: Use CMsgDOTAAnchorPhoneNumberResponse_Result.Descriptor instead. func (CMsgDOTAAnchorPhoneNumberResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{181, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{183, 0} } type CMsgDOTAUnanchorPhoneNumberResponse_Result int32 @@ -2024,7 +2024,7 @@ func (x *CMsgDOTAUnanchorPhoneNumberResponse_Result) UnmarshalJSON(b []byte) err // Deprecated: Use CMsgDOTAUnanchorPhoneNumberResponse_Result.Descriptor instead. func (CMsgDOTAUnanchorPhoneNumberResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{183, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{185, 0} } type CMsgDOTASelectionPriorityChoiceResponse_Result int32 @@ -2080,7 +2080,7 @@ func (x *CMsgDOTASelectionPriorityChoiceResponse_Result) UnmarshalJSON(b []byte) // Deprecated: Use CMsgDOTASelectionPriorityChoiceResponse_Result.Descriptor instead. func (CMsgDOTASelectionPriorityChoiceResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{188, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{190, 0} } type CMsgDOTAGameAutographRewardResponse_Result int32 @@ -2136,7 +2136,7 @@ func (x *CMsgDOTAGameAutographRewardResponse_Result) UnmarshalJSON(b []byte) err // Deprecated: Use CMsgDOTAGameAutographRewardResponse_Result.Descriptor instead. func (CMsgDOTAGameAutographRewardResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{190, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{192, 0} } type CMsgDOTADestroyLobbyResponse_Result int32 @@ -2192,7 +2192,7 @@ func (x *CMsgDOTADestroyLobbyResponse_Result) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgDOTADestroyLobbyResponse_Result.Descriptor instead. func (CMsgDOTADestroyLobbyResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{192, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{194, 0} } type CMsgPurchaseItemWithEventPointsResponse_Result int32 @@ -2284,7 +2284,7 @@ func (x *CMsgPurchaseItemWithEventPointsResponse_Result) UnmarshalJSON(b []byte) // Deprecated: Use CMsgPurchaseItemWithEventPointsResponse_Result.Descriptor instead. func (CMsgPurchaseItemWithEventPointsResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{196, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{198, 0} } type CMsgProfileResponse_EResponse int32 @@ -2346,7 +2346,7 @@ func (x *CMsgProfileResponse_EResponse) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgProfileResponse_EResponse.Descriptor instead. func (CMsgProfileResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{202, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{204, 0} } type CMsgProfileUpdateResponse_Result int32 @@ -2411,7 +2411,7 @@ func (x *CMsgProfileUpdateResponse_Result) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgProfileUpdateResponse_Result.Descriptor instead. func (CMsgProfileUpdateResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{204, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{206, 0} } type CMsgActivatePlusFreeTrialResponse_Result int32 @@ -2476,7 +2476,7 @@ func (x *CMsgActivatePlusFreeTrialResponse_Result) UnmarshalJSON(b []byte) error // Deprecated: Use CMsgActivatePlusFreeTrialResponse_Result.Descriptor instead. func (CMsgActivatePlusFreeTrialResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{213, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{215, 0} } type CMsgClientToGCCavernCrawlClaimRoomResponse_Result int32 @@ -2535,7 +2535,7 @@ func (x *CMsgClientToGCCavernCrawlClaimRoomResponse_Result) UnmarshalJSON(b []by // Deprecated: Use CMsgClientToGCCavernCrawlClaimRoomResponse_Result.Descriptor instead. func (CMsgClientToGCCavernCrawlClaimRoomResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{217, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{219, 0} } type CMsgClientToGCCavernCrawlUseItemOnRoomResponse_Result int32 @@ -2594,7 +2594,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnRoomResponse_Result) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCCavernCrawlUseItemOnRoomResponse_Result.Descriptor instead. func (CMsgClientToGCCavernCrawlUseItemOnRoomResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{219, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{221, 0} } type CMsgClientToGCCavernCrawlUseItemOnPathResponse_Result int32 @@ -2653,7 +2653,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnPathResponse_Result) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCCavernCrawlUseItemOnPathResponse_Result.Descriptor instead. func (CMsgClientToGCCavernCrawlUseItemOnPathResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{221, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223, 0} } type CMsgClientToGCCavernCrawlRequestMapStateResponse_Result int32 @@ -2712,7 +2712,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_Result) UnmarshalJSON( // Deprecated: Use CMsgClientToGCCavernCrawlRequestMapStateResponse_Result.Descriptor instead. func (CMsgClientToGCCavernCrawlRequestMapStateResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225, 0} } type CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_Result int32 @@ -2771,7 +2771,7 @@ func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_Result) UnmarshalJ // Deprecated: Use CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_Result.Descriptor instead. func (CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{227, 0} } type CMsgSocialFeedResponse_Result int32 @@ -2839,7 +2839,7 @@ func (x *CMsgSocialFeedResponse_Result) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgSocialFeedResponse_Result.Descriptor instead. func (CMsgSocialFeedResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{230, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{232, 0} } type CMsgSocialFeedCommentsResponse_Result int32 @@ -2898,7 +2898,7 @@ func (x *CMsgSocialFeedCommentsResponse_Result) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgSocialFeedCommentsResponse_Result.Descriptor instead. func (CMsgSocialFeedCommentsResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{232, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{234, 0} } type CMsgClientToGCPlayerCardSpecificPurchaseResponse_Result int32 @@ -2966,7 +2966,7 @@ func (x *CMsgClientToGCPlayerCardSpecificPurchaseResponse_Result) UnmarshalJSON( // Deprecated: Use CMsgClientToGCPlayerCardSpecificPurchaseResponse_Result.Descriptor instead. func (CMsgClientToGCPlayerCardSpecificPurchaseResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{234, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{236, 0} } type CMsgClientToGCRequestContestVotesResponse_EResponse int32 @@ -3028,7 +3028,7 @@ func (x *CMsgClientToGCRequestContestVotesResponse_EResponse) UnmarshalJSON(b [] // Deprecated: Use CMsgClientToGCRequestContestVotesResponse_EResponse.Descriptor instead. func (CMsgClientToGCRequestContestVotesResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{236, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{238, 0} } type CMsgGCToClientRecordContestVoteResponse_EResult int32 @@ -3096,7 +3096,7 @@ func (x *CMsgGCToClientRecordContestVoteResponse_EResult) UnmarshalJSON(b []byte // Deprecated: Use CMsgGCToClientRecordContestVoteResponse_EResult.Descriptor instead. func (CMsgGCToClientRecordContestVoteResponse_EResult) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{238, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{240, 0} } type CMsgGCToClientGetFilteredPlayersResponse_Result int32 @@ -3152,7 +3152,7 @@ func (x *CMsgGCToClientGetFilteredPlayersResponse_Result) UnmarshalJSON(b []byte // Deprecated: Use CMsgGCToClientGetFilteredPlayersResponse_Result.Descriptor instead. func (CMsgGCToClientGetFilteredPlayersResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{250, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{252, 0} } type CMsgGCToClientRemoveFilteredPlayerResponse_Result int32 @@ -3208,7 +3208,7 @@ func (x *CMsgGCToClientRemoveFilteredPlayerResponse_Result) UnmarshalJSON(b []by // Deprecated: Use CMsgGCToClientRemoveFilteredPlayerResponse_Result.Descriptor instead. func (CMsgGCToClientRemoveFilteredPlayerResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{252, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{254, 0} } type CMsgGCToClientPurchaseFilteredPlayerSlotResponse_Result int32 @@ -3270,7 +3270,7 @@ func (x *CMsgGCToClientPurchaseFilteredPlayerSlotResponse_Result) UnmarshalJSON( // Deprecated: Use CMsgGCToClientPurchaseFilteredPlayerSlotResponse_Result.Descriptor instead. func (CMsgGCToClientPurchaseFilteredPlayerSlotResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{254, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{256, 0} } type CMsgGCToClientUpdateFilteredPlayerNoteResponse_Result int32 @@ -3329,7 +3329,7 @@ func (x *CMsgGCToClientUpdateFilteredPlayerNoteResponse_Result) UnmarshalJSON(b // Deprecated: Use CMsgGCToClientUpdateFilteredPlayerNoteResponse_Result.Descriptor instead. func (CMsgGCToClientUpdateFilteredPlayerNoteResponse_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{256, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{258, 0} } type CMsgClientToGCUpdatePartyBeacon_Action int32 @@ -3385,7 +3385,7 @@ func (x *CMsgClientToGCUpdatePartyBeacon_Action) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgClientToGCUpdatePartyBeacon_Action.Descriptor instead. func (CMsgClientToGCUpdatePartyBeacon_Action) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{260, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{262, 0} } type CMsgGCToClientRequestActiveBeaconPartiesResponse_EResponse int32 @@ -3444,7 +3444,7 @@ func (x *CMsgGCToClientRequestActiveBeaconPartiesResponse_EResponse) UnmarshalJS // Deprecated: Use CMsgGCToClientRequestActiveBeaconPartiesResponse_EResponse.Descriptor instead. func (CMsgGCToClientRequestActiveBeaconPartiesResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{262, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{264, 0} } type CMsgGCToClientJoinPartyFromBeaconResponse_EResponse int32 @@ -3506,7 +3506,7 @@ func (x *CMsgGCToClientJoinPartyFromBeaconResponse_EResponse) UnmarshalJSON(b [] // Deprecated: Use CMsgGCToClientJoinPartyFromBeaconResponse_EResponse.Descriptor instead. func (CMsgGCToClientJoinPartyFromBeaconResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{264, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{266, 0} } type CMsgClientToGCManageFavorites_Action int32 @@ -3562,7 +3562,7 @@ func (x *CMsgClientToGCManageFavorites_Action) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgClientToGCManageFavorites_Action.Descriptor instead. func (CMsgClientToGCManageFavorites_Action) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{265, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{267, 0} } type CMsgGCToClientManageFavoritesResponse_EResponse int32 @@ -3630,7 +3630,7 @@ func (x *CMsgGCToClientManageFavoritesResponse_EResponse) UnmarshalJSON(b []byte // Deprecated: Use CMsgGCToClientManageFavoritesResponse_EResponse.Descriptor instead. func (CMsgGCToClientManageFavoritesResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{266, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{268, 0} } type CMsgGCToClientGetFavoritePlayersResponse_EResponse int32 @@ -3686,7 +3686,7 @@ func (x *CMsgGCToClientGetFavoritePlayersResponse_EResponse) UnmarshalJSON(b []b // Deprecated: Use CMsgGCToClientGetFavoritePlayersResponse_EResponse.Descriptor instead. func (CMsgGCToClientGetFavoritePlayersResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{268, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{270, 0} } type CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse_EResponse int32 @@ -3748,7 +3748,7 @@ func (x *CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse_EResponse) Unm // Deprecated: Use CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse_EResponse.Descriptor instead. func (CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{273, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{275, 0} } type CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse_EResponse int32 @@ -3810,7 +3810,7 @@ func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse_EResponse) // Deprecated: Use CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse_EResponse.Descriptor instead. func (CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{275, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{277, 0} } type CMsgClientToGCSubmitPlayerMatchSurveyResponse_EResponse int32 @@ -3878,7 +3878,7 @@ func (x *CMsgClientToGCSubmitPlayerMatchSurveyResponse_EResponse) UnmarshalJSON( // Deprecated: Use CMsgClientToGCSubmitPlayerMatchSurveyResponse_EResponse.Descriptor instead. func (CMsgClientToGCSubmitPlayerMatchSurveyResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{277, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{279, 0} } type CMsgClientToGCRequestReporterUpdatesResponse_EResponse int32 @@ -3949,7 +3949,7 @@ func (x *CMsgClientToGCRequestReporterUpdatesResponse_EResponse) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCRequestReporterUpdatesResponse_EResponse.Descriptor instead. func (CMsgClientToGCRequestReporterUpdatesResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{296, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{298, 0} } type CMsgClientToGCRecalibrateMMRResponse_EResponse int32 @@ -4020,7 +4020,7 @@ func (x *CMsgClientToGCRecalibrateMMRResponse_EResponse) UnmarshalJSON(b []byte) // Deprecated: Use CMsgClientToGCRecalibrateMMRResponse_EResponse.Descriptor instead. func (CMsgClientToGCRecalibrateMMRResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{299, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{301, 0} } type CMsgClientToGCGetOWMatchDetailsResponse_EResponse int32 @@ -4088,7 +4088,7 @@ func (x *CMsgClientToGCGetOWMatchDetailsResponse_EResponse) UnmarshalJSON(b []by // Deprecated: Use CMsgClientToGCGetOWMatchDetailsResponse_EResponse.Descriptor instead. func (CMsgClientToGCGetOWMatchDetailsResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{302, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{304, 0} } type CMsgClientToGCSubmitOWConvictionResponse_EResponse int32 @@ -4162,7 +4162,7 @@ func (x *CMsgClientToGCSubmitOWConvictionResponse_EResponse) UnmarshalJSON(b []b // Deprecated: Use CMsgClientToGCSubmitOWConvictionResponse_EResponse.Descriptor instead. func (CMsgClientToGCSubmitOWConvictionResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{304, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{306, 0} } type CMsgClientToGCGetDPCFavoritesResponse_EResponse int32 @@ -4230,7 +4230,7 @@ func (x *CMsgClientToGCGetDPCFavoritesResponse_EResponse) UnmarshalJSON(b []byte // Deprecated: Use CMsgClientToGCGetDPCFavoritesResponse_EResponse.Descriptor instead. func (CMsgClientToGCGetDPCFavoritesResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{314, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{316, 0} } type CMsgClientToGCSetDPCFavoriteStateResponse_EResponse int32 @@ -4307,7 +4307,7 @@ func (x *CMsgClientToGCSetDPCFavoriteStateResponse_EResponse) UnmarshalJSON(b [] // Deprecated: Use CMsgClientToGCSetDPCFavoriteStateResponse_EResponse.Descriptor instead. func (CMsgClientToGCSetDPCFavoriteStateResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{316, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{318, 0} } type CMsgClientToGCSetEventActiveSeasonIDResponse_EResponse int32 @@ -4378,7 +4378,7 @@ func (x *CMsgClientToGCSetEventActiveSeasonIDResponse_EResponse) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCSetEventActiveSeasonIDResponse_EResponse.Descriptor instead. func (CMsgClientToGCSetEventActiveSeasonIDResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{318, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{320, 0} } type CMsgClientToGCPurchaseLabyrinthBlessingsResponse_EResponse int32 @@ -4446,7 +4446,7 @@ func (x *CMsgClientToGCPurchaseLabyrinthBlessingsResponse_EResponse) UnmarshalJS // Deprecated: Use CMsgClientToGCPurchaseLabyrinthBlessingsResponse_EResponse.Descriptor instead. func (CMsgClientToGCPurchaseLabyrinthBlessingsResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{320, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{322, 0} } type CMsgClientToGCGetStickerbookResponse_EResponse int32 @@ -4511,7 +4511,7 @@ func (x *CMsgClientToGCGetStickerbookResponse_EResponse) UnmarshalJSON(b []byte) // Deprecated: Use CMsgClientToGCGetStickerbookResponse_EResponse.Descriptor instead. func (CMsgClientToGCGetStickerbookResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{322, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{324, 0} } type CMsgClientToGCCreateStickerbookPageResponse_EResponse int32 @@ -4576,7 +4576,7 @@ func (x *CMsgClientToGCCreateStickerbookPageResponse_EResponse) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCCreateStickerbookPageResponse_EResponse.Descriptor instead. func (CMsgClientToGCCreateStickerbookPageResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{324, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{326, 0} } type CMsgClientToGCDeleteStickerbookPageResponse_EResponse int32 @@ -4647,7 +4647,7 @@ func (x *CMsgClientToGCDeleteStickerbookPageResponse_EResponse) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCDeleteStickerbookPageResponse_EResponse.Descriptor instead. func (CMsgClientToGCDeleteStickerbookPageResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{326, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{328, 0} } type CMsgClientToGCPlaceStickersResponse_EResponse int32 @@ -4724,7 +4724,7 @@ func (x *CMsgClientToGCPlaceStickersResponse_EResponse) UnmarshalJSON(b []byte) // Deprecated: Use CMsgClientToGCPlaceStickersResponse_EResponse.Descriptor instead. func (CMsgClientToGCPlaceStickersResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{328, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{330, 0} } type CMsgClientToGCPlaceCollectionStickersResponse_EResponse int32 @@ -4807,7 +4807,7 @@ func (x *CMsgClientToGCPlaceCollectionStickersResponse_EResponse) UnmarshalJSON( // Deprecated: Use CMsgClientToGCPlaceCollectionStickersResponse_EResponse.Descriptor instead. func (CMsgClientToGCPlaceCollectionStickersResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{330, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{332, 0} } type CMsgClientToGCOrderStickerbookTeamPageResponse_EResponse int32 @@ -4875,7 +4875,7 @@ func (x *CMsgClientToGCOrderStickerbookTeamPageResponse_EResponse) UnmarshalJSON // Deprecated: Use CMsgClientToGCOrderStickerbookTeamPageResponse_EResponse.Descriptor instead. func (CMsgClientToGCOrderStickerbookTeamPageResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{332, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{334, 0} } type CMsgClientToGCSetHeroStickerResponse_EResponse int32 @@ -4946,7 +4946,7 @@ func (x *CMsgClientToGCSetHeroStickerResponse_EResponse) UnmarshalJSON(b []byte) // Deprecated: Use CMsgClientToGCSetHeroStickerResponse_EResponse.Descriptor instead. func (CMsgClientToGCSetHeroStickerResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{334, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{336, 0} } type CMsgClientToGCGetHeroStickersResponse_EResponse int32 @@ -5008,7 +5008,7 @@ func (x *CMsgClientToGCGetHeroStickersResponse_EResponse) UnmarshalJSON(b []byte // Deprecated: Use CMsgClientToGCGetHeroStickersResponse_EResponse.Descriptor instead. func (CMsgClientToGCGetHeroStickersResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{336, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{338, 0} } type CMsgClientToGCSetFavoritePageResponse_EResponse int32 @@ -5073,7 +5073,7 @@ func (x *CMsgClientToGCSetFavoritePageResponse_EResponse) UnmarshalJSON(b []byte // Deprecated: Use CMsgClientToGCSetFavoritePageResponse_EResponse.Descriptor instead. func (CMsgClientToGCSetFavoritePageResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{338, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{340, 0} } type CMsgClientToGCClaimSwagResponse_EResponse int32 @@ -5153,7 +5153,7 @@ func (x *CMsgClientToGCClaimSwagResponse_EResponse) UnmarshalJSON(b []byte) erro // Deprecated: Use CMsgClientToGCClaimSwagResponse_EResponse.Descriptor instead. func (CMsgClientToGCClaimSwagResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{340, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{342, 0} } type CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote_EVoteType int32 @@ -5209,7 +5209,7 @@ func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote_EVoteType) Unma // Deprecated: Use CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote_EVoteType.Descriptor instead. func (CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote_EVoteType) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{342, 0, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{344, 0, 0} } type CMsgGCToClientUploadMatchClipResponse_EResponse int32 @@ -5271,7 +5271,7 @@ func (x *CMsgGCToClientUploadMatchClipResponse_EResponse) UnmarshalJSON(b []byte // Deprecated: Use CMsgGCToClientUploadMatchClipResponse_EResponse.Descriptor instead. func (CMsgGCToClientUploadMatchClipResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{344, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{346, 0} } type CMsgGCToClientMapStatsResponse_EResponse int32 @@ -5327,7 +5327,7 @@ func (x *CMsgGCToClientMapStatsResponse_EResponse) UnmarshalJSON(b []byte) error // Deprecated: Use CMsgGCToClientMapStatsResponse_EResponse.Descriptor instead. func (CMsgGCToClientMapStatsResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{346, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{348, 0} } type CMsgClientToGCRoadToTIGetQuestsResponse_EResponse int32 @@ -5395,7 +5395,7 @@ func (x *CMsgClientToGCRoadToTIGetQuestsResponse_EResponse) UnmarshalJSON(b []by // Deprecated: Use CMsgClientToGCRoadToTIGetQuestsResponse_EResponse.Descriptor instead. func (CMsgClientToGCRoadToTIGetQuestsResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{350, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{352, 0} } type CMsgClientToGCRoadToTIGetActiveQuestResponse_EResponse int32 @@ -5466,7 +5466,7 @@ func (x *CMsgClientToGCRoadToTIGetActiveQuestResponse_EResponse) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCRoadToTIGetActiveQuestResponse_EResponse.Descriptor instead. func (CMsgClientToGCRoadToTIGetActiveQuestResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{352, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{354, 0} } type CMsgClientToGCRoadToTIUseItemResponse_EResponse int32 @@ -5537,7 +5537,7 @@ func (x *CMsgClientToGCRoadToTIUseItemResponse_EResponse) UnmarshalJSON(b []byte // Deprecated: Use CMsgClientToGCRoadToTIUseItemResponse_EResponse.Descriptor instead. func (CMsgClientToGCRoadToTIUseItemResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{355, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{357, 0} } type CMsgClientSuspended struct { @@ -8827,10 +8827,11 @@ type CMsgDOTAClaimEventAction struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EventId *uint32 `protobuf:"varint,1,opt,name=event_id,json=eventId" json:"event_id,omitempty"` - ActionId *uint32 `protobuf:"varint,2,opt,name=action_id,json=actionId" json:"action_id,omitempty"` - Quantity *uint32 `protobuf:"varint,3,opt,name=quantity" json:"quantity,omitempty"` - Data *CMsgDOTAClaimEventActionData `protobuf:"bytes,4,opt,name=data" json:"data,omitempty"` + EventId *uint32 `protobuf:"varint,1,opt,name=event_id,json=eventId" json:"event_id,omitempty"` + ActionId *uint32 `protobuf:"varint,2,opt,name=action_id,json=actionId" json:"action_id,omitempty"` + Quantity *uint32 `protobuf:"varint,3,opt,name=quantity" json:"quantity,omitempty"` + Data *CMsgDOTAClaimEventActionData `protobuf:"bytes,4,opt,name=data" json:"data,omitempty"` + ScoreMode *EEventActionScoreMode `protobuf:"varint,5,opt,name=score_mode,json=scoreMode,enum=dota.EEventActionScoreMode" json:"score_mode,omitempty"` } func (x *CMsgDOTAClaimEventAction) Reset() { @@ -8893,6 +8894,13 @@ func (x *CMsgDOTAClaimEventAction) GetData() *CMsgDOTAClaimEventActionData { return nil } +func (x *CMsgDOTAClaimEventAction) GetScoreMode() EEventActionScoreMode { + if x != nil && x.ScoreMode != nil { + return *x.ScoreMode + } + return EEventActionScoreMode_k_eEventActionScoreMode_Add +} + type CMsgClientToGCClaimEventActionUsingItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -9523,6 +9531,100 @@ func (x *CMsgDOTACompendiumSelectionResponse) GetEresult() uint32 { return 0 } +type CMsgDOTACompendiumRemoveAllSelections struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Leagueid *uint32 `protobuf:"varint,1,opt,name=leagueid" json:"leagueid,omitempty"` +} + +func (x *CMsgDOTACompendiumRemoveAllSelections) Reset() { + *x = CMsgDOTACompendiumRemoveAllSelections{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgDOTACompendiumRemoveAllSelections) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgDOTACompendiumRemoveAllSelections) ProtoMessage() {} + +func (x *CMsgDOTACompendiumRemoveAllSelections) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgDOTACompendiumRemoveAllSelections.ProtoReflect.Descriptor instead. +func (*CMsgDOTACompendiumRemoveAllSelections) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{65} +} + +func (x *CMsgDOTACompendiumRemoveAllSelections) GetLeagueid() uint32 { + if x != nil && x.Leagueid != nil { + return *x.Leagueid + } + return 0 +} + +type CMsgDOTACompendiumRemoveAllSelectionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Eresult *uint32 `protobuf:"varint,1,opt,name=eresult" json:"eresult,omitempty"` +} + +func (x *CMsgDOTACompendiumRemoveAllSelectionsResponse) Reset() { + *x = CMsgDOTACompendiumRemoveAllSelectionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgDOTACompendiumRemoveAllSelectionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgDOTACompendiumRemoveAllSelectionsResponse) ProtoMessage() {} + +func (x *CMsgDOTACompendiumRemoveAllSelectionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgDOTACompendiumRemoveAllSelectionsResponse.ProtoReflect.Descriptor instead. +func (*CMsgDOTACompendiumRemoveAllSelectionsResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{66} +} + +func (x *CMsgDOTACompendiumRemoveAllSelectionsResponse) GetEresult() uint32 { + if x != nil && x.Eresult != nil { + return *x.Eresult + } + return 0 +} + type CMsgDOTACompendiumData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -9534,7 +9636,7 @@ type CMsgDOTACompendiumData struct { func (x *CMsgDOTACompendiumData) Reset() { *x = CMsgDOTACompendiumData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[65] + mi := &file_dota_gcmessages_client_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9547,7 +9649,7 @@ func (x *CMsgDOTACompendiumData) String() string { func (*CMsgDOTACompendiumData) ProtoMessage() {} func (x *CMsgDOTACompendiumData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[65] + mi := &file_dota_gcmessages_client_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9560,7 +9662,7 @@ func (x *CMsgDOTACompendiumData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTACompendiumData.ProtoReflect.Descriptor instead. func (*CMsgDOTACompendiumData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{65} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{67} } func (x *CMsgDOTACompendiumData) GetSelections() []*CMsgDOTACompendiumSelection { @@ -9582,7 +9684,7 @@ type CMsgDOTACompendiumDataRequest struct { func (x *CMsgDOTACompendiumDataRequest) Reset() { *x = CMsgDOTACompendiumDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[66] + mi := &file_dota_gcmessages_client_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9595,7 +9697,7 @@ func (x *CMsgDOTACompendiumDataRequest) String() string { func (*CMsgDOTACompendiumDataRequest) ProtoMessage() {} func (x *CMsgDOTACompendiumDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[66] + mi := &file_dota_gcmessages_client_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9608,7 +9710,7 @@ func (x *CMsgDOTACompendiumDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTACompendiumDataRequest.ProtoReflect.Descriptor instead. func (*CMsgDOTACompendiumDataRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{66} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{68} } func (x *CMsgDOTACompendiumDataRequest) GetAccountId() uint32 { @@ -9639,7 +9741,7 @@ type CMsgDOTACompendiumDataResponse struct { func (x *CMsgDOTACompendiumDataResponse) Reset() { *x = CMsgDOTACompendiumDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[67] + mi := &file_dota_gcmessages_client_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9652,7 +9754,7 @@ func (x *CMsgDOTACompendiumDataResponse) String() string { func (*CMsgDOTACompendiumDataResponse) ProtoMessage() {} func (x *CMsgDOTACompendiumDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[67] + mi := &file_dota_gcmessages_client_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9665,7 +9767,7 @@ func (x *CMsgDOTACompendiumDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTACompendiumDataResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTACompendiumDataResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{67} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{69} } func (x *CMsgDOTACompendiumDataResponse) GetAccountId() uint32 { @@ -9714,7 +9816,7 @@ type CMsgDOTAGetPlayerMatchHistory struct { func (x *CMsgDOTAGetPlayerMatchHistory) Reset() { *x = CMsgDOTAGetPlayerMatchHistory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[68] + mi := &file_dota_gcmessages_client_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9727,7 +9829,7 @@ func (x *CMsgDOTAGetPlayerMatchHistory) String() string { func (*CMsgDOTAGetPlayerMatchHistory) ProtoMessage() {} func (x *CMsgDOTAGetPlayerMatchHistory) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[68] + mi := &file_dota_gcmessages_client_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9740,7 +9842,7 @@ func (x *CMsgDOTAGetPlayerMatchHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAGetPlayerMatchHistory.ProtoReflect.Descriptor instead. func (*CMsgDOTAGetPlayerMatchHistory) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{68} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{70} } func (x *CMsgDOTAGetPlayerMatchHistory) GetAccountId() uint32 { @@ -9811,7 +9913,7 @@ type CMsgDOTAGetPlayerMatchHistoryResponse struct { func (x *CMsgDOTAGetPlayerMatchHistoryResponse) Reset() { *x = CMsgDOTAGetPlayerMatchHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[69] + mi := &file_dota_gcmessages_client_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9824,7 +9926,7 @@ func (x *CMsgDOTAGetPlayerMatchHistoryResponse) String() string { func (*CMsgDOTAGetPlayerMatchHistoryResponse) ProtoMessage() {} func (x *CMsgDOTAGetPlayerMatchHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[69] + mi := &file_dota_gcmessages_client_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9837,7 +9939,7 @@ func (x *CMsgDOTAGetPlayerMatchHistoryResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgDOTAGetPlayerMatchHistoryResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTAGetPlayerMatchHistoryResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{69} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{71} } func (x *CMsgDOTAGetPlayerMatchHistoryResponse) GetMatches() []*CMsgDOTAGetPlayerMatchHistoryResponse_Match { @@ -9863,7 +9965,7 @@ type CMsgGCNotificationsRequest struct { func (x *CMsgGCNotificationsRequest) Reset() { *x = CMsgGCNotificationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[70] + mi := &file_dota_gcmessages_client_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9876,7 +9978,7 @@ func (x *CMsgGCNotificationsRequest) String() string { func (*CMsgGCNotificationsRequest) ProtoMessage() {} func (x *CMsgGCNotificationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[70] + mi := &file_dota_gcmessages_client_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9889,7 +9991,7 @@ func (x *CMsgGCNotificationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCNotificationsRequest.ProtoReflect.Descriptor instead. func (*CMsgGCNotificationsRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{70} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{72} } type CMsgGCNotifications_Notification struct { @@ -9910,7 +10012,7 @@ type CMsgGCNotifications_Notification struct { func (x *CMsgGCNotifications_Notification) Reset() { *x = CMsgGCNotifications_Notification{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[71] + mi := &file_dota_gcmessages_client_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9923,7 +10025,7 @@ func (x *CMsgGCNotifications_Notification) String() string { func (*CMsgGCNotifications_Notification) ProtoMessage() {} func (x *CMsgGCNotifications_Notification) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[71] + mi := &file_dota_gcmessages_client_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9936,7 +10038,7 @@ func (x *CMsgGCNotifications_Notification) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCNotifications_Notification.ProtoReflect.Descriptor instead. func (*CMsgGCNotifications_Notification) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{71} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{73} } func (x *CMsgGCNotifications_Notification) GetId() uint64 { @@ -10007,7 +10109,7 @@ type CMsgGCNotificationsUpdate struct { func (x *CMsgGCNotificationsUpdate) Reset() { *x = CMsgGCNotificationsUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[72] + mi := &file_dota_gcmessages_client_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10020,7 +10122,7 @@ func (x *CMsgGCNotificationsUpdate) String() string { func (*CMsgGCNotificationsUpdate) ProtoMessage() {} func (x *CMsgGCNotificationsUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[72] + mi := &file_dota_gcmessages_client_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10033,7 +10135,7 @@ func (x *CMsgGCNotificationsUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCNotificationsUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCNotificationsUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{72} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{74} } func (x *CMsgGCNotificationsUpdate) GetResult() CMsgGCNotificationsUpdate_EResult { @@ -10061,7 +10163,7 @@ type CMsgGCNotificationsResponse struct { func (x *CMsgGCNotificationsResponse) Reset() { *x = CMsgGCNotificationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[73] + mi := &file_dota_gcmessages_client_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10074,7 +10176,7 @@ func (x *CMsgGCNotificationsResponse) String() string { func (*CMsgGCNotificationsResponse) ProtoMessage() {} func (x *CMsgGCNotificationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[73] + mi := &file_dota_gcmessages_client_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10087,7 +10189,7 @@ func (x *CMsgGCNotificationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCNotificationsResponse.ProtoReflect.Descriptor instead. func (*CMsgGCNotificationsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{73} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{75} } func (x *CMsgGCNotificationsResponse) GetUpdate() *CMsgGCNotificationsUpdate { @@ -10106,7 +10208,7 @@ type CMsgGCNotificationsMarkReadRequest struct { func (x *CMsgGCNotificationsMarkReadRequest) Reset() { *x = CMsgGCNotificationsMarkReadRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[74] + mi := &file_dota_gcmessages_client_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10119,7 +10221,7 @@ func (x *CMsgGCNotificationsMarkReadRequest) String() string { func (*CMsgGCNotificationsMarkReadRequest) ProtoMessage() {} func (x *CMsgGCNotificationsMarkReadRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[74] + mi := &file_dota_gcmessages_client_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10132,7 +10234,7 @@ func (x *CMsgGCNotificationsMarkReadRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCNotificationsMarkReadRequest.ProtoReflect.Descriptor instead. func (*CMsgGCNotificationsMarkReadRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{74} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{76} } type CMsgGCPlayerInfoSubmit struct { @@ -10150,7 +10252,7 @@ type CMsgGCPlayerInfoSubmit struct { func (x *CMsgGCPlayerInfoSubmit) Reset() { *x = CMsgGCPlayerInfoSubmit{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[75] + mi := &file_dota_gcmessages_client_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10163,7 +10265,7 @@ func (x *CMsgGCPlayerInfoSubmit) String() string { func (*CMsgGCPlayerInfoSubmit) ProtoMessage() {} func (x *CMsgGCPlayerInfoSubmit) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[75] + mi := &file_dota_gcmessages_client_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10176,7 +10278,7 @@ func (x *CMsgGCPlayerInfoSubmit) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCPlayerInfoSubmit.ProtoReflect.Descriptor instead. func (*CMsgGCPlayerInfoSubmit) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{75} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{77} } func (x *CMsgGCPlayerInfoSubmit) GetName() string { @@ -10225,7 +10327,7 @@ type CMsgGCPlayerInfoSubmitResponse struct { func (x *CMsgGCPlayerInfoSubmitResponse) Reset() { *x = CMsgGCPlayerInfoSubmitResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[76] + mi := &file_dota_gcmessages_client_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10238,7 +10340,7 @@ func (x *CMsgGCPlayerInfoSubmitResponse) String() string { func (*CMsgGCPlayerInfoSubmitResponse) ProtoMessage() {} func (x *CMsgGCPlayerInfoSubmitResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[76] + mi := &file_dota_gcmessages_client_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10251,7 +10353,7 @@ func (x *CMsgGCPlayerInfoSubmitResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCPlayerInfoSubmitResponse.ProtoReflect.Descriptor instead. func (*CMsgGCPlayerInfoSubmitResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{76} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{78} } func (x *CMsgGCPlayerInfoSubmitResponse) GetResult() CMsgGCPlayerInfoSubmitResponse_EResult { @@ -10273,7 +10375,7 @@ type CMsgDOTAEmoticonAccessSDO struct { func (x *CMsgDOTAEmoticonAccessSDO) Reset() { *x = CMsgDOTAEmoticonAccessSDO{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[77] + mi := &file_dota_gcmessages_client_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10286,7 +10388,7 @@ func (x *CMsgDOTAEmoticonAccessSDO) String() string { func (*CMsgDOTAEmoticonAccessSDO) ProtoMessage() {} func (x *CMsgDOTAEmoticonAccessSDO) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[77] + mi := &file_dota_gcmessages_client_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10299,7 +10401,7 @@ func (x *CMsgDOTAEmoticonAccessSDO) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAEmoticonAccessSDO.ProtoReflect.Descriptor instead. func (*CMsgDOTAEmoticonAccessSDO) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{77} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{79} } func (x *CMsgDOTAEmoticonAccessSDO) GetAccountId() uint32 { @@ -10325,7 +10427,7 @@ type CMsgClientToGCEmoticonDataRequest struct { func (x *CMsgClientToGCEmoticonDataRequest) Reset() { *x = CMsgClientToGCEmoticonDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[78] + mi := &file_dota_gcmessages_client_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10338,7 +10440,7 @@ func (x *CMsgClientToGCEmoticonDataRequest) String() string { func (*CMsgClientToGCEmoticonDataRequest) ProtoMessage() {} func (x *CMsgClientToGCEmoticonDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[78] + mi := &file_dota_gcmessages_client_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10351,7 +10453,7 @@ func (x *CMsgClientToGCEmoticonDataRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCEmoticonDataRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCEmoticonDataRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{78} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{80} } type CMsgGCToClientEmoticonData struct { @@ -10365,7 +10467,7 @@ type CMsgGCToClientEmoticonData struct { func (x *CMsgGCToClientEmoticonData) Reset() { *x = CMsgGCToClientEmoticonData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[79] + mi := &file_dota_gcmessages_client_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10378,7 +10480,7 @@ func (x *CMsgGCToClientEmoticonData) String() string { func (*CMsgGCToClientEmoticonData) ProtoMessage() {} func (x *CMsgGCToClientEmoticonData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[79] + mi := &file_dota_gcmessages_client_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10391,7 +10493,7 @@ func (x *CMsgGCToClientEmoticonData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientEmoticonData.ProtoReflect.Descriptor instead. func (*CMsgGCToClientEmoticonData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{79} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{81} } func (x *CMsgGCToClientEmoticonData) GetEmoticonAccess() *CMsgDOTAEmoticonAccessSDO { @@ -10413,7 +10515,7 @@ type CMsgGCToClientTournamentItemDrop struct { func (x *CMsgGCToClientTournamentItemDrop) Reset() { *x = CMsgGCToClientTournamentItemDrop{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[80] + mi := &file_dota_gcmessages_client_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10426,7 +10528,7 @@ func (x *CMsgGCToClientTournamentItemDrop) String() string { func (*CMsgGCToClientTournamentItemDrop) ProtoMessage() {} func (x *CMsgGCToClientTournamentItemDrop) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[80] + mi := &file_dota_gcmessages_client_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10439,7 +10541,7 @@ func (x *CMsgGCToClientTournamentItemDrop) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientTournamentItemDrop.ProtoReflect.Descriptor instead. func (*CMsgGCToClientTournamentItemDrop) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{80} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{82} } func (x *CMsgGCToClientTournamentItemDrop) GetItemDef() uint32 { @@ -10465,7 +10567,7 @@ type CMsgClientToGCGetAllHeroOrder struct { func (x *CMsgClientToGCGetAllHeroOrder) Reset() { *x = CMsgClientToGCGetAllHeroOrder{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[81] + mi := &file_dota_gcmessages_client_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10478,7 +10580,7 @@ func (x *CMsgClientToGCGetAllHeroOrder) String() string { func (*CMsgClientToGCGetAllHeroOrder) ProtoMessage() {} func (x *CMsgClientToGCGetAllHeroOrder) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[81] + mi := &file_dota_gcmessages_client_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10491,7 +10593,7 @@ func (x *CMsgClientToGCGetAllHeroOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetAllHeroOrder.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetAllHeroOrder) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{81} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{83} } type CMsgClientToGCGetAllHeroOrderResponse struct { @@ -10505,7 +10607,7 @@ type CMsgClientToGCGetAllHeroOrderResponse struct { func (x *CMsgClientToGCGetAllHeroOrderResponse) Reset() { *x = CMsgClientToGCGetAllHeroOrderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[82] + mi := &file_dota_gcmessages_client_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10518,7 +10620,7 @@ func (x *CMsgClientToGCGetAllHeroOrderResponse) String() string { func (*CMsgClientToGCGetAllHeroOrderResponse) ProtoMessage() {} func (x *CMsgClientToGCGetAllHeroOrderResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[82] + mi := &file_dota_gcmessages_client_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10531,7 +10633,7 @@ func (x *CMsgClientToGCGetAllHeroOrderResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCGetAllHeroOrderResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetAllHeroOrderResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{82} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{84} } func (x *CMsgClientToGCGetAllHeroOrderResponse) GetHeroIds() []int32 { @@ -10552,7 +10654,7 @@ type CMsgClientToGCGetAllHeroProgress struct { func (x *CMsgClientToGCGetAllHeroProgress) Reset() { *x = CMsgClientToGCGetAllHeroProgress{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[83] + mi := &file_dota_gcmessages_client_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10565,7 +10667,7 @@ func (x *CMsgClientToGCGetAllHeroProgress) String() string { func (*CMsgClientToGCGetAllHeroProgress) ProtoMessage() {} func (x *CMsgClientToGCGetAllHeroProgress) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[83] + mi := &file_dota_gcmessages_client_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10578,7 +10680,7 @@ func (x *CMsgClientToGCGetAllHeroProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetAllHeroProgress.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetAllHeroProgress) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{83} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{85} } func (x *CMsgClientToGCGetAllHeroProgress) GetAccountId() uint32 { @@ -10618,7 +10720,7 @@ type CMsgClientToGCGetAllHeroProgressResponse struct { func (x *CMsgClientToGCGetAllHeroProgressResponse) Reset() { *x = CMsgClientToGCGetAllHeroProgressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[84] + mi := &file_dota_gcmessages_client_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10631,7 +10733,7 @@ func (x *CMsgClientToGCGetAllHeroProgressResponse) String() string { func (*CMsgClientToGCGetAllHeroProgressResponse) ProtoMessage() {} func (x *CMsgClientToGCGetAllHeroProgressResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[84] + mi := &file_dota_gcmessages_client_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10644,7 +10746,7 @@ func (x *CMsgClientToGCGetAllHeroProgressResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCGetAllHeroProgressResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetAllHeroProgressResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{84} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{86} } func (x *CMsgClientToGCGetAllHeroProgressResponse) GetAccountId() uint32 { @@ -10798,7 +10900,7 @@ type CMsgClientToGCGetTrophyList struct { func (x *CMsgClientToGCGetTrophyList) Reset() { *x = CMsgClientToGCGetTrophyList{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[85] + mi := &file_dota_gcmessages_client_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10811,7 +10913,7 @@ func (x *CMsgClientToGCGetTrophyList) String() string { func (*CMsgClientToGCGetTrophyList) ProtoMessage() {} func (x *CMsgClientToGCGetTrophyList) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[85] + mi := &file_dota_gcmessages_client_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10824,7 +10926,7 @@ func (x *CMsgClientToGCGetTrophyList) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetTrophyList.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetTrophyList) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{85} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{87} } func (x *CMsgClientToGCGetTrophyList) GetAccountId() uint32 { @@ -10845,7 +10947,7 @@ type CMsgClientToGCGetTrophyListResponse struct { func (x *CMsgClientToGCGetTrophyListResponse) Reset() { *x = CMsgClientToGCGetTrophyListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[86] + mi := &file_dota_gcmessages_client_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10858,7 +10960,7 @@ func (x *CMsgClientToGCGetTrophyListResponse) String() string { func (*CMsgClientToGCGetTrophyListResponse) ProtoMessage() {} func (x *CMsgClientToGCGetTrophyListResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[86] + mi := &file_dota_gcmessages_client_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10871,7 +10973,7 @@ func (x *CMsgClientToGCGetTrophyListResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCGetTrophyListResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetTrophyListResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{86} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{88} } func (x *CMsgClientToGCGetTrophyListResponse) GetTrophies() []*CMsgClientToGCGetTrophyListResponse_Trophy { @@ -10895,7 +10997,7 @@ type CMsgGCToClientTrophyAwarded struct { func (x *CMsgGCToClientTrophyAwarded) Reset() { *x = CMsgGCToClientTrophyAwarded{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[87] + mi := &file_dota_gcmessages_client_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10908,7 +11010,7 @@ func (x *CMsgGCToClientTrophyAwarded) String() string { func (*CMsgGCToClientTrophyAwarded) ProtoMessage() {} func (x *CMsgGCToClientTrophyAwarded) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[87] + mi := &file_dota_gcmessages_client_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10921,7 +11023,7 @@ func (x *CMsgGCToClientTrophyAwarded) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientTrophyAwarded.ProtoReflect.Descriptor instead. func (*CMsgGCToClientTrophyAwarded) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{87} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{89} } func (x *CMsgGCToClientTrophyAwarded) GetTrophyId() uint32 { @@ -10963,7 +11065,7 @@ type CMsgClientToGCRankRequest struct { func (x *CMsgClientToGCRankRequest) Reset() { *x = CMsgClientToGCRankRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[88] + mi := &file_dota_gcmessages_client_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10976,7 +11078,7 @@ func (x *CMsgClientToGCRankRequest) String() string { func (*CMsgClientToGCRankRequest) ProtoMessage() {} func (x *CMsgClientToGCRankRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[88] + mi := &file_dota_gcmessages_client_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10989,7 +11091,7 @@ func (x *CMsgClientToGCRankRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCRankRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRankRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{88} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{90} } func (x *CMsgClientToGCRankRequest) GetRankType() ERankType { @@ -11014,7 +11116,7 @@ type CMsgGCToClientRankResponse struct { func (x *CMsgGCToClientRankResponse) Reset() { *x = CMsgGCToClientRankResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[89] + mi := &file_dota_gcmessages_client_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11027,7 +11129,7 @@ func (x *CMsgGCToClientRankResponse) String() string { func (*CMsgGCToClientRankResponse) ProtoMessage() {} func (x *CMsgGCToClientRankResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[89] + mi := &file_dota_gcmessages_client_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11040,7 +11142,7 @@ func (x *CMsgGCToClientRankResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientRankResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientRankResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{89} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{91} } func (x *CMsgGCToClientRankResponse) GetResult() CMsgGCToClientRankResponse_EResultCode { @@ -11090,7 +11192,7 @@ type CMsgGCToClientRankUpdate struct { func (x *CMsgGCToClientRankUpdate) Reset() { *x = CMsgGCToClientRankUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[90] + mi := &file_dota_gcmessages_client_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11103,7 +11205,7 @@ func (x *CMsgGCToClientRankUpdate) String() string { func (*CMsgGCToClientRankUpdate) ProtoMessage() {} func (x *CMsgGCToClientRankUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[90] + mi := &file_dota_gcmessages_client_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11116,7 +11218,7 @@ func (x *CMsgGCToClientRankUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientRankUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCToClientRankUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{90} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{92} } func (x *CMsgGCToClientRankUpdate) GetRankType() ERankType { @@ -11144,7 +11246,7 @@ type CMsgClientToGCGetProfileCard struct { func (x *CMsgClientToGCGetProfileCard) Reset() { *x = CMsgClientToGCGetProfileCard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[91] + mi := &file_dota_gcmessages_client_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11157,7 +11259,7 @@ func (x *CMsgClientToGCGetProfileCard) String() string { func (*CMsgClientToGCGetProfileCard) ProtoMessage() {} func (x *CMsgClientToGCGetProfileCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[91] + mi := &file_dota_gcmessages_client_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11170,7 +11272,7 @@ func (x *CMsgClientToGCGetProfileCard) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetProfileCard.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetProfileCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{91} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{93} } func (x *CMsgClientToGCGetProfileCard) GetAccountId() uint32 { @@ -11191,7 +11293,7 @@ type CMsgClientToGCSetProfileCardSlots struct { func (x *CMsgClientToGCSetProfileCardSlots) Reset() { *x = CMsgClientToGCSetProfileCardSlots{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[92] + mi := &file_dota_gcmessages_client_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11204,7 +11306,7 @@ func (x *CMsgClientToGCSetProfileCardSlots) String() string { func (*CMsgClientToGCSetProfileCardSlots) ProtoMessage() {} func (x *CMsgClientToGCSetProfileCardSlots) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[92] + mi := &file_dota_gcmessages_client_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11217,7 +11319,7 @@ func (x *CMsgClientToGCSetProfileCardSlots) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCSetProfileCardSlots.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetProfileCardSlots) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{92} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{94} } func (x *CMsgClientToGCSetProfileCardSlots) GetSlots() []*CMsgClientToGCSetProfileCardSlots_CardSlot { @@ -11236,7 +11338,7 @@ type CMsgClientToGCGetProfileCardStats struct { func (x *CMsgClientToGCGetProfileCardStats) Reset() { *x = CMsgClientToGCGetProfileCardStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[93] + mi := &file_dota_gcmessages_client_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11249,7 +11351,7 @@ func (x *CMsgClientToGCGetProfileCardStats) String() string { func (*CMsgClientToGCGetProfileCardStats) ProtoMessage() {} func (x *CMsgClientToGCGetProfileCardStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[93] + mi := &file_dota_gcmessages_client_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11262,7 +11364,7 @@ func (x *CMsgClientToGCGetProfileCardStats) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCGetProfileCardStats.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetProfileCardStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{93} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{95} } type CMsgClientToGCCreateHeroStatue struct { @@ -11284,7 +11386,7 @@ type CMsgClientToGCCreateHeroStatue struct { func (x *CMsgClientToGCCreateHeroStatue) Reset() { *x = CMsgClientToGCCreateHeroStatue{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[94] + mi := &file_dota_gcmessages_client_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11297,7 +11399,7 @@ func (x *CMsgClientToGCCreateHeroStatue) String() string { func (*CMsgClientToGCCreateHeroStatue) ProtoMessage() {} func (x *CMsgClientToGCCreateHeroStatue) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[94] + mi := &file_dota_gcmessages_client_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11310,7 +11412,7 @@ func (x *CMsgClientToGCCreateHeroStatue) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCCreateHeroStatue.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCreateHeroStatue) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{94} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{96} } func (x *CMsgClientToGCCreateHeroStatue) GetSourceItemId() uint64 { @@ -11387,7 +11489,7 @@ type CMsgGCToClientHeroStatueCreateResult struct { func (x *CMsgGCToClientHeroStatueCreateResult) Reset() { *x = CMsgGCToClientHeroStatueCreateResult{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[95] + mi := &file_dota_gcmessages_client_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11400,7 +11502,7 @@ func (x *CMsgGCToClientHeroStatueCreateResult) String() string { func (*CMsgGCToClientHeroStatueCreateResult) ProtoMessage() {} func (x *CMsgGCToClientHeroStatueCreateResult) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[95] + mi := &file_dota_gcmessages_client_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11413,7 +11515,7 @@ func (x *CMsgGCToClientHeroStatueCreateResult) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCToClientHeroStatueCreateResult.ProtoReflect.Descriptor instead. func (*CMsgGCToClientHeroStatueCreateResult) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{95} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{97} } func (x *CMsgGCToClientHeroStatueCreateResult) GetResultingItemId() uint64 { @@ -11434,7 +11536,7 @@ type CMsgClientToGCPlayerStatsRequest struct { func (x *CMsgClientToGCPlayerStatsRequest) Reset() { *x = CMsgClientToGCPlayerStatsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[96] + mi := &file_dota_gcmessages_client_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11447,7 +11549,7 @@ func (x *CMsgClientToGCPlayerStatsRequest) String() string { func (*CMsgClientToGCPlayerStatsRequest) ProtoMessage() {} func (x *CMsgClientToGCPlayerStatsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[96] + mi := &file_dota_gcmessages_client_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11460,7 +11562,7 @@ func (x *CMsgClientToGCPlayerStatsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCPlayerStatsRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlayerStatsRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{96} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{98} } func (x *CMsgClientToGCPlayerStatsRequest) GetAccountId() uint32 { @@ -11503,7 +11605,7 @@ type CMsgGCToClientPlayerStatsResponse struct { func (x *CMsgGCToClientPlayerStatsResponse) Reset() { *x = CMsgGCToClientPlayerStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[97] + mi := &file_dota_gcmessages_client_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11516,7 +11618,7 @@ func (x *CMsgGCToClientPlayerStatsResponse) String() string { func (*CMsgGCToClientPlayerStatsResponse) ProtoMessage() {} func (x *CMsgGCToClientPlayerStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[97] + mi := &file_dota_gcmessages_client_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11529,7 +11631,7 @@ func (x *CMsgGCToClientPlayerStatsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientPlayerStatsResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientPlayerStatsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{97} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{99} } func (x *CMsgGCToClientPlayerStatsResponse) GetAccountId() uint32 { @@ -11702,7 +11804,7 @@ type CMsgClientToGCCustomGamesFriendsPlayedRequest struct { func (x *CMsgClientToGCCustomGamesFriendsPlayedRequest) Reset() { *x = CMsgClientToGCCustomGamesFriendsPlayedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[98] + mi := &file_dota_gcmessages_client_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11715,7 +11817,7 @@ func (x *CMsgClientToGCCustomGamesFriendsPlayedRequest) String() string { func (*CMsgClientToGCCustomGamesFriendsPlayedRequest) ProtoMessage() {} func (x *CMsgClientToGCCustomGamesFriendsPlayedRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[98] + mi := &file_dota_gcmessages_client_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11728,7 +11830,7 @@ func (x *CMsgClientToGCCustomGamesFriendsPlayedRequest) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCCustomGamesFriendsPlayedRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCustomGamesFriendsPlayedRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{98} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{100} } type CMsgGCToClientCustomGamesFriendsPlayedResponse struct { @@ -11743,7 +11845,7 @@ type CMsgGCToClientCustomGamesFriendsPlayedResponse struct { func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse) Reset() { *x = CMsgGCToClientCustomGamesFriendsPlayedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[99] + mi := &file_dota_gcmessages_client_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11756,7 +11858,7 @@ func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse) String() string { func (*CMsgGCToClientCustomGamesFriendsPlayedResponse) ProtoMessage() {} func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[99] + mi := &file_dota_gcmessages_client_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11769,7 +11871,7 @@ func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse) ProtoReflect() protoref // Deprecated: Use CMsgGCToClientCustomGamesFriendsPlayedResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCustomGamesFriendsPlayedResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{99} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{101} } func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse) GetAccountId() uint32 { @@ -11798,7 +11900,7 @@ type CMsgClientToGCSocialFeedPostCommentRequest struct { func (x *CMsgClientToGCSocialFeedPostCommentRequest) Reset() { *x = CMsgClientToGCSocialFeedPostCommentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[100] + mi := &file_dota_gcmessages_client_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11811,7 +11913,7 @@ func (x *CMsgClientToGCSocialFeedPostCommentRequest) String() string { func (*CMsgClientToGCSocialFeedPostCommentRequest) ProtoMessage() {} func (x *CMsgClientToGCSocialFeedPostCommentRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[100] + mi := &file_dota_gcmessages_client_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11824,7 +11926,7 @@ func (x *CMsgClientToGCSocialFeedPostCommentRequest) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCSocialFeedPostCommentRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSocialFeedPostCommentRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{100} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{102} } func (x *CMsgClientToGCSocialFeedPostCommentRequest) GetEventId() uint64 { @@ -11852,7 +11954,7 @@ type CMsgGCToClientSocialFeedPostCommentResponse struct { func (x *CMsgGCToClientSocialFeedPostCommentResponse) Reset() { *x = CMsgGCToClientSocialFeedPostCommentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[101] + mi := &file_dota_gcmessages_client_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11865,7 +11967,7 @@ func (x *CMsgGCToClientSocialFeedPostCommentResponse) String() string { func (*CMsgGCToClientSocialFeedPostCommentResponse) ProtoMessage() {} func (x *CMsgGCToClientSocialFeedPostCommentResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[101] + mi := &file_dota_gcmessages_client_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11878,7 +11980,7 @@ func (x *CMsgGCToClientSocialFeedPostCommentResponse) ProtoReflect() protoreflec // Deprecated: Use CMsgGCToClientSocialFeedPostCommentResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientSocialFeedPostCommentResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{101} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{103} } func (x *CMsgGCToClientSocialFeedPostCommentResponse) GetSuccess() bool { @@ -11901,7 +12003,7 @@ type CMsgClientToGCSocialFeedPostMessageRequest struct { func (x *CMsgClientToGCSocialFeedPostMessageRequest) Reset() { *x = CMsgClientToGCSocialFeedPostMessageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[102] + mi := &file_dota_gcmessages_client_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11914,7 +12016,7 @@ func (x *CMsgClientToGCSocialFeedPostMessageRequest) String() string { func (*CMsgClientToGCSocialFeedPostMessageRequest) ProtoMessage() {} func (x *CMsgClientToGCSocialFeedPostMessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[102] + mi := &file_dota_gcmessages_client_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11927,7 +12029,7 @@ func (x *CMsgClientToGCSocialFeedPostMessageRequest) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCSocialFeedPostMessageRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSocialFeedPostMessageRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{102} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{104} } func (x *CMsgClientToGCSocialFeedPostMessageRequest) GetMessage() string { @@ -11962,7 +12064,7 @@ type CMsgGCToClientSocialFeedPostMessageResponse struct { func (x *CMsgGCToClientSocialFeedPostMessageResponse) Reset() { *x = CMsgGCToClientSocialFeedPostMessageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[103] + mi := &file_dota_gcmessages_client_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11975,7 +12077,7 @@ func (x *CMsgGCToClientSocialFeedPostMessageResponse) String() string { func (*CMsgGCToClientSocialFeedPostMessageResponse) ProtoMessage() {} func (x *CMsgGCToClientSocialFeedPostMessageResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[103] + mi := &file_dota_gcmessages_client_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11988,7 +12090,7 @@ func (x *CMsgGCToClientSocialFeedPostMessageResponse) ProtoReflect() protoreflec // Deprecated: Use CMsgGCToClientSocialFeedPostMessageResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientSocialFeedPostMessageResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{103} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{105} } func (x *CMsgGCToClientSocialFeedPostMessageResponse) GetSuccess() bool { @@ -12009,7 +12111,7 @@ type CMsgClientToGCFriendsPlayedCustomGameRequest struct { func (x *CMsgClientToGCFriendsPlayedCustomGameRequest) Reset() { *x = CMsgClientToGCFriendsPlayedCustomGameRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[104] + mi := &file_dota_gcmessages_client_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12022,7 +12124,7 @@ func (x *CMsgClientToGCFriendsPlayedCustomGameRequest) String() string { func (*CMsgClientToGCFriendsPlayedCustomGameRequest) ProtoMessage() {} func (x *CMsgClientToGCFriendsPlayedCustomGameRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[104] + mi := &file_dota_gcmessages_client_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12035,7 +12137,7 @@ func (x *CMsgClientToGCFriendsPlayedCustomGameRequest) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCFriendsPlayedCustomGameRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCFriendsPlayedCustomGameRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{104} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{106} } func (x *CMsgClientToGCFriendsPlayedCustomGameRequest) GetCustomGameId() uint64 { @@ -12057,7 +12159,7 @@ type CMsgGCToClientFriendsPlayedCustomGameResponse struct { func (x *CMsgGCToClientFriendsPlayedCustomGameResponse) Reset() { *x = CMsgGCToClientFriendsPlayedCustomGameResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[105] + mi := &file_dota_gcmessages_client_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12070,7 +12172,7 @@ func (x *CMsgGCToClientFriendsPlayedCustomGameResponse) String() string { func (*CMsgGCToClientFriendsPlayedCustomGameResponse) ProtoMessage() {} func (x *CMsgGCToClientFriendsPlayedCustomGameResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[105] + mi := &file_dota_gcmessages_client_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12083,7 +12185,7 @@ func (x *CMsgGCToClientFriendsPlayedCustomGameResponse) ProtoReflect() protorefl // Deprecated: Use CMsgGCToClientFriendsPlayedCustomGameResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientFriendsPlayedCustomGameResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{105} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{107} } func (x *CMsgGCToClientFriendsPlayedCustomGameResponse) GetCustomGameId() uint64 { @@ -12119,7 +12221,7 @@ type CMsgDOTAPartyRichPresence struct { func (x *CMsgDOTAPartyRichPresence) Reset() { *x = CMsgDOTAPartyRichPresence{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[106] + mi := &file_dota_gcmessages_client_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12132,7 +12234,7 @@ func (x *CMsgDOTAPartyRichPresence) String() string { func (*CMsgDOTAPartyRichPresence) ProtoMessage() {} func (x *CMsgDOTAPartyRichPresence) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[106] + mi := &file_dota_gcmessages_client_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12145,7 +12247,7 @@ func (x *CMsgDOTAPartyRichPresence) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAPartyRichPresence.ProtoReflect.Descriptor instead. func (*CMsgDOTAPartyRichPresence) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{106} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{108} } func (x *CMsgDOTAPartyRichPresence) GetPartyId() uint64 { @@ -12230,7 +12332,7 @@ type CMsgDOTALobbyRichPresence struct { func (x *CMsgDOTALobbyRichPresence) Reset() { *x = CMsgDOTALobbyRichPresence{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[107] + mi := &file_dota_gcmessages_client_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12243,7 +12345,7 @@ func (x *CMsgDOTALobbyRichPresence) String() string { func (*CMsgDOTALobbyRichPresence) ProtoMessage() {} func (x *CMsgDOTALobbyRichPresence) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[107] + mi := &file_dota_gcmessages_client_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12256,7 +12358,7 @@ func (x *CMsgDOTALobbyRichPresence) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTALobbyRichPresence.ProtoReflect.Descriptor instead. func (*CMsgDOTALobbyRichPresence) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{107} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{109} } func (x *CMsgDOTALobbyRichPresence) GetLobbyId() uint64 { @@ -12336,7 +12438,7 @@ type CMsgDOTACustomGameListenServerStartedLoading struct { func (x *CMsgDOTACustomGameListenServerStartedLoading) Reset() { *x = CMsgDOTACustomGameListenServerStartedLoading{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[108] + mi := &file_dota_gcmessages_client_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12349,7 +12451,7 @@ func (x *CMsgDOTACustomGameListenServerStartedLoading) String() string { func (*CMsgDOTACustomGameListenServerStartedLoading) ProtoMessage() {} func (x *CMsgDOTACustomGameListenServerStartedLoading) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[108] + mi := &file_dota_gcmessages_client_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12362,7 +12464,7 @@ func (x *CMsgDOTACustomGameListenServerStartedLoading) ProtoReflect() protorefle // Deprecated: Use CMsgDOTACustomGameListenServerStartedLoading.ProtoReflect.Descriptor instead. func (*CMsgDOTACustomGameListenServerStartedLoading) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{108} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{110} } func (x *CMsgDOTACustomGameListenServerStartedLoading) GetLobbyId() uint64 { @@ -12409,7 +12511,7 @@ type CMsgDOTACustomGameClientFinishedLoading struct { func (x *CMsgDOTACustomGameClientFinishedLoading) Reset() { *x = CMsgDOTACustomGameClientFinishedLoading{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[109] + mi := &file_dota_gcmessages_client_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12422,7 +12524,7 @@ func (x *CMsgDOTACustomGameClientFinishedLoading) String() string { func (*CMsgDOTACustomGameClientFinishedLoading) ProtoMessage() {} func (x *CMsgDOTACustomGameClientFinishedLoading) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[109] + mi := &file_dota_gcmessages_client_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12435,7 +12537,7 @@ func (x *CMsgDOTACustomGameClientFinishedLoading) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgDOTACustomGameClientFinishedLoading.ProtoReflect.Descriptor instead. func (*CMsgDOTACustomGameClientFinishedLoading) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{109} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{111} } func (x *CMsgDOTACustomGameClientFinishedLoading) GetLobbyId() uint64 { @@ -12492,7 +12594,7 @@ type CMsgClientToGCApplyGemCombiner struct { func (x *CMsgClientToGCApplyGemCombiner) Reset() { *x = CMsgClientToGCApplyGemCombiner{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[110] + mi := &file_dota_gcmessages_client_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12505,7 +12607,7 @@ func (x *CMsgClientToGCApplyGemCombiner) String() string { func (*CMsgClientToGCApplyGemCombiner) ProtoMessage() {} func (x *CMsgClientToGCApplyGemCombiner) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[110] + mi := &file_dota_gcmessages_client_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12518,7 +12620,7 @@ func (x *CMsgClientToGCApplyGemCombiner) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCApplyGemCombiner.ProtoReflect.Descriptor instead. func (*CMsgClientToGCApplyGemCombiner) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{110} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{112} } func (x *CMsgClientToGCApplyGemCombiner) GetItemId_1() uint64 { @@ -12544,7 +12646,7 @@ type CMsgClientToGCH264Unsupported struct { func (x *CMsgClientToGCH264Unsupported) Reset() { *x = CMsgClientToGCH264Unsupported{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[111] + mi := &file_dota_gcmessages_client_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12557,7 +12659,7 @@ func (x *CMsgClientToGCH264Unsupported) String() string { func (*CMsgClientToGCH264Unsupported) ProtoMessage() {} func (x *CMsgClientToGCH264Unsupported) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[111] + mi := &file_dota_gcmessages_client_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12570,7 +12672,7 @@ func (x *CMsgClientToGCH264Unsupported) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCH264Unsupported.ProtoReflect.Descriptor instead. func (*CMsgClientToGCH264Unsupported) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{111} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{113} } type CMsgClientToGCGetQuestProgress struct { @@ -12584,7 +12686,7 @@ type CMsgClientToGCGetQuestProgress struct { func (x *CMsgClientToGCGetQuestProgress) Reset() { *x = CMsgClientToGCGetQuestProgress{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[112] + mi := &file_dota_gcmessages_client_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12597,7 +12699,7 @@ func (x *CMsgClientToGCGetQuestProgress) String() string { func (*CMsgClientToGCGetQuestProgress) ProtoMessage() {} func (x *CMsgClientToGCGetQuestProgress) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[112] + mi := &file_dota_gcmessages_client_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12610,7 +12712,7 @@ func (x *CMsgClientToGCGetQuestProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetQuestProgress.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetQuestProgress) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{112} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{114} } func (x *CMsgClientToGCGetQuestProgress) GetQuestIds() []uint32 { @@ -12632,7 +12734,7 @@ type CMsgClientToGCGetQuestProgressResponse struct { func (x *CMsgClientToGCGetQuestProgressResponse) Reset() { *x = CMsgClientToGCGetQuestProgressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[113] + mi := &file_dota_gcmessages_client_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12645,7 +12747,7 @@ func (x *CMsgClientToGCGetQuestProgressResponse) String() string { func (*CMsgClientToGCGetQuestProgressResponse) ProtoMessage() {} func (x *CMsgClientToGCGetQuestProgressResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[113] + mi := &file_dota_gcmessages_client_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12658,7 +12760,7 @@ func (x *CMsgClientToGCGetQuestProgressResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCGetQuestProgressResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetQuestProgressResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{113} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{115} } func (x *CMsgClientToGCGetQuestProgressResponse) GetSuccess() bool { @@ -12686,7 +12788,7 @@ type CMsgGCToClientMatchSignedOut struct { func (x *CMsgGCToClientMatchSignedOut) Reset() { *x = CMsgGCToClientMatchSignedOut{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[114] + mi := &file_dota_gcmessages_client_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12699,7 +12801,7 @@ func (x *CMsgGCToClientMatchSignedOut) String() string { func (*CMsgGCToClientMatchSignedOut) ProtoMessage() {} func (x *CMsgGCToClientMatchSignedOut) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[114] + mi := &file_dota_gcmessages_client_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12712,7 +12814,7 @@ func (x *CMsgGCToClientMatchSignedOut) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientMatchSignedOut.ProtoReflect.Descriptor instead. func (*CMsgGCToClientMatchSignedOut) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{114} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{116} } func (x *CMsgGCToClientMatchSignedOut) GetMatchId() uint64 { @@ -12733,7 +12835,7 @@ type CMsgGCGetHeroStatsHistory struct { func (x *CMsgGCGetHeroStatsHistory) Reset() { *x = CMsgGCGetHeroStatsHistory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[115] + mi := &file_dota_gcmessages_client_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12746,7 +12848,7 @@ func (x *CMsgGCGetHeroStatsHistory) String() string { func (*CMsgGCGetHeroStatsHistory) ProtoMessage() {} func (x *CMsgGCGetHeroStatsHistory) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[115] + mi := &file_dota_gcmessages_client_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12759,7 +12861,7 @@ func (x *CMsgGCGetHeroStatsHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetHeroStatsHistory.ProtoReflect.Descriptor instead. func (*CMsgGCGetHeroStatsHistory) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{115} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{117} } func (x *CMsgGCGetHeroStatsHistory) GetHeroId() int32 { @@ -12781,7 +12883,7 @@ type CMsgGCGetHeroStatsHistoryResponse struct { func (x *CMsgGCGetHeroStatsHistoryResponse) Reset() { *x = CMsgGCGetHeroStatsHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[116] + mi := &file_dota_gcmessages_client_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12794,7 +12896,7 @@ func (x *CMsgGCGetHeroStatsHistoryResponse) String() string { func (*CMsgGCGetHeroStatsHistoryResponse) ProtoMessage() {} func (x *CMsgGCGetHeroStatsHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[116] + mi := &file_dota_gcmessages_client_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12807,7 +12909,7 @@ func (x *CMsgGCGetHeroStatsHistoryResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCGetHeroStatsHistoryResponse.ProtoReflect.Descriptor instead. func (*CMsgGCGetHeroStatsHistoryResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{116} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{118} } func (x *CMsgGCGetHeroStatsHistoryResponse) GetHeroId() int32 { @@ -12833,7 +12935,7 @@ type CMsgPlayerConductScorecardRequest struct { func (x *CMsgPlayerConductScorecardRequest) Reset() { *x = CMsgPlayerConductScorecardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[117] + mi := &file_dota_gcmessages_client_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12846,7 +12948,7 @@ func (x *CMsgPlayerConductScorecardRequest) String() string { func (*CMsgPlayerConductScorecardRequest) ProtoMessage() {} func (x *CMsgPlayerConductScorecardRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[117] + mi := &file_dota_gcmessages_client_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12859,7 +12961,7 @@ func (x *CMsgPlayerConductScorecardRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgPlayerConductScorecardRequest.ProtoReflect.Descriptor instead. func (*CMsgPlayerConductScorecardRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{117} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{119} } type CMsgPlayerConductScorecard struct { @@ -12889,7 +12991,7 @@ type CMsgPlayerConductScorecard struct { func (x *CMsgPlayerConductScorecard) Reset() { *x = CMsgPlayerConductScorecard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[118] + mi := &file_dota_gcmessages_client_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12902,7 +13004,7 @@ func (x *CMsgPlayerConductScorecard) String() string { func (*CMsgPlayerConductScorecard) ProtoMessage() {} func (x *CMsgPlayerConductScorecard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[118] + mi := &file_dota_gcmessages_client_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12915,7 +13017,7 @@ func (x *CMsgPlayerConductScorecard) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPlayerConductScorecard.ProtoReflect.Descriptor instead. func (*CMsgPlayerConductScorecard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{118} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{120} } func (x *CMsgPlayerConductScorecard) GetAccountId() uint32 { @@ -13048,7 +13150,7 @@ type CMsgClientToGCWageringRequest struct { func (x *CMsgClientToGCWageringRequest) Reset() { *x = CMsgClientToGCWageringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[119] + mi := &file_dota_gcmessages_client_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13061,7 +13163,7 @@ func (x *CMsgClientToGCWageringRequest) String() string { func (*CMsgClientToGCWageringRequest) ProtoMessage() {} func (x *CMsgClientToGCWageringRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[119] + mi := &file_dota_gcmessages_client_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13074,7 +13176,7 @@ func (x *CMsgClientToGCWageringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCWageringRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCWageringRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{119} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{121} } func (x *CMsgClientToGCWageringRequest) GetEventId() uint32 { @@ -13107,7 +13209,7 @@ type CMsgGCToClientWageringResponse struct { func (x *CMsgGCToClientWageringResponse) Reset() { *x = CMsgGCToClientWageringResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[120] + mi := &file_dota_gcmessages_client_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13120,7 +13222,7 @@ func (x *CMsgGCToClientWageringResponse) String() string { func (*CMsgGCToClientWageringResponse) ProtoMessage() {} func (x *CMsgGCToClientWageringResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[120] + mi := &file_dota_gcmessages_client_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13133,7 +13235,7 @@ func (x *CMsgGCToClientWageringResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientWageringResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientWageringResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{120} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{122} } func (x *CMsgGCToClientWageringResponse) GetCoinsRemaining() uint32 { @@ -13239,7 +13341,7 @@ type CMsgGCToClientWageringUpdate struct { func (x *CMsgGCToClientWageringUpdate) Reset() { *x = CMsgGCToClientWageringUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[121] + mi := &file_dota_gcmessages_client_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13252,7 +13354,7 @@ func (x *CMsgGCToClientWageringUpdate) String() string { func (*CMsgGCToClientWageringUpdate) ProtoMessage() {} func (x *CMsgGCToClientWageringUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[121] + mi := &file_dota_gcmessages_client_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13265,7 +13367,7 @@ func (x *CMsgGCToClientWageringUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientWageringUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCToClientWageringUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{121} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{123} } func (x *CMsgGCToClientWageringUpdate) GetEventId() uint32 { @@ -13294,7 +13396,7 @@ type CMsgGCToClientArcanaVotesUpdate struct { func (x *CMsgGCToClientArcanaVotesUpdate) Reset() { *x = CMsgGCToClientArcanaVotesUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[122] + mi := &file_dota_gcmessages_client_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13307,7 +13409,7 @@ func (x *CMsgGCToClientArcanaVotesUpdate) String() string { func (*CMsgGCToClientArcanaVotesUpdate) ProtoMessage() {} func (x *CMsgGCToClientArcanaVotesUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[122] + mi := &file_dota_gcmessages_client_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13320,7 +13422,7 @@ func (x *CMsgGCToClientArcanaVotesUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientArcanaVotesUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCToClientArcanaVotesUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{122} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{124} } func (x *CMsgGCToClientArcanaVotesUpdate) GetEventId() uint32 { @@ -13348,7 +13450,7 @@ type CMsgClientToGCGetEventGoals struct { func (x *CMsgClientToGCGetEventGoals) Reset() { *x = CMsgClientToGCGetEventGoals{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[123] + mi := &file_dota_gcmessages_client_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13361,7 +13463,7 @@ func (x *CMsgClientToGCGetEventGoals) String() string { func (*CMsgClientToGCGetEventGoals) ProtoMessage() {} func (x *CMsgClientToGCGetEventGoals) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[123] + mi := &file_dota_gcmessages_client_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13374,7 +13476,7 @@ func (x *CMsgClientToGCGetEventGoals) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetEventGoals.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetEventGoals) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{123} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{125} } func (x *CMsgClientToGCGetEventGoals) GetEventIds() []EEvent { @@ -13395,7 +13497,7 @@ type CMsgEventGoals struct { func (x *CMsgEventGoals) Reset() { *x = CMsgEventGoals{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[124] + mi := &file_dota_gcmessages_client_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13408,7 +13510,7 @@ func (x *CMsgEventGoals) String() string { func (*CMsgEventGoals) ProtoMessage() {} func (x *CMsgEventGoals) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[124] + mi := &file_dota_gcmessages_client_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13421,7 +13523,7 @@ func (x *CMsgEventGoals) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgEventGoals.ProtoReflect.Descriptor instead. func (*CMsgEventGoals) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{124} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{126} } func (x *CMsgEventGoals) GetEventGoals() []*CMsgEventGoals_EventGoal { @@ -13442,7 +13544,7 @@ type CMsgGCToGCLeaguePredictions struct { func (x *CMsgGCToGCLeaguePredictions) Reset() { *x = CMsgGCToGCLeaguePredictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[125] + mi := &file_dota_gcmessages_client_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13455,7 +13557,7 @@ func (x *CMsgGCToGCLeaguePredictions) String() string { func (*CMsgGCToGCLeaguePredictions) ProtoMessage() {} func (x *CMsgGCToGCLeaguePredictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[125] + mi := &file_dota_gcmessages_client_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13468,7 +13570,7 @@ func (x *CMsgGCToGCLeaguePredictions) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToGCLeaguePredictions.ProtoReflect.Descriptor instead. func (*CMsgGCToGCLeaguePredictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{125} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{127} } func (x *CMsgGCToGCLeaguePredictions) GetLeagueId() uint32 { @@ -13489,7 +13591,7 @@ type CMsgPredictionRankings struct { func (x *CMsgPredictionRankings) Reset() { *x = CMsgPredictionRankings{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[126] + mi := &file_dota_gcmessages_client_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13502,7 +13604,7 @@ func (x *CMsgPredictionRankings) String() string { func (*CMsgPredictionRankings) ProtoMessage() {} func (x *CMsgPredictionRankings) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[126] + mi := &file_dota_gcmessages_client_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13515,7 +13617,7 @@ func (x *CMsgPredictionRankings) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPredictionRankings.ProtoReflect.Descriptor instead. func (*CMsgPredictionRankings) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{126} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{128} } func (x *CMsgPredictionRankings) GetPredictions() []*CMsgPredictionRankings_Prediction { @@ -13536,7 +13638,7 @@ type CMsgPredictionResults struct { func (x *CMsgPredictionResults) Reset() { *x = CMsgPredictionResults{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[127] + mi := &file_dota_gcmessages_client_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13549,7 +13651,7 @@ func (x *CMsgPredictionResults) String() string { func (*CMsgPredictionResults) ProtoMessage() {} func (x *CMsgPredictionResults) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[127] + mi := &file_dota_gcmessages_client_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13562,7 +13664,7 @@ func (x *CMsgPredictionResults) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPredictionResults.ProtoReflect.Descriptor instead. func (*CMsgPredictionResults) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{127} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{129} } func (x *CMsgPredictionResults) GetResults() []*CMsgPredictionResults_Result { @@ -13583,7 +13685,7 @@ type CMsgClientToGCHasPlayerVotedForMVP struct { func (x *CMsgClientToGCHasPlayerVotedForMVP) Reset() { *x = CMsgClientToGCHasPlayerVotedForMVP{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[128] + mi := &file_dota_gcmessages_client_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13596,7 +13698,7 @@ func (x *CMsgClientToGCHasPlayerVotedForMVP) String() string { func (*CMsgClientToGCHasPlayerVotedForMVP) ProtoMessage() {} func (x *CMsgClientToGCHasPlayerVotedForMVP) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[128] + mi := &file_dota_gcmessages_client_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13609,7 +13711,7 @@ func (x *CMsgClientToGCHasPlayerVotedForMVP) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCHasPlayerVotedForMVP.ProtoReflect.Descriptor instead. func (*CMsgClientToGCHasPlayerVotedForMVP) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{128} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{130} } func (x *CMsgClientToGCHasPlayerVotedForMVP) GetMatchId() uint64 { @@ -13630,7 +13732,7 @@ type CMsgClientToGCHasPlayerVotedForMVPResponse struct { func (x *CMsgClientToGCHasPlayerVotedForMVPResponse) Reset() { *x = CMsgClientToGCHasPlayerVotedForMVPResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[129] + mi := &file_dota_gcmessages_client_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13643,7 +13745,7 @@ func (x *CMsgClientToGCHasPlayerVotedForMVPResponse) String() string { func (*CMsgClientToGCHasPlayerVotedForMVPResponse) ProtoMessage() {} func (x *CMsgClientToGCHasPlayerVotedForMVPResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[129] + mi := &file_dota_gcmessages_client_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13656,7 +13758,7 @@ func (x *CMsgClientToGCHasPlayerVotedForMVPResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCHasPlayerVotedForMVPResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCHasPlayerVotedForMVPResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{129} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{131} } func (x *CMsgClientToGCHasPlayerVotedForMVPResponse) GetResult() bool { @@ -13678,7 +13780,7 @@ type CMsgClientToGCVoteForMVP struct { func (x *CMsgClientToGCVoteForMVP) Reset() { *x = CMsgClientToGCVoteForMVP{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[130] + mi := &file_dota_gcmessages_client_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13691,7 +13793,7 @@ func (x *CMsgClientToGCVoteForMVP) String() string { func (*CMsgClientToGCVoteForMVP) ProtoMessage() {} func (x *CMsgClientToGCVoteForMVP) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[130] + mi := &file_dota_gcmessages_client_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13704,7 +13806,7 @@ func (x *CMsgClientToGCVoteForMVP) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCVoteForMVP.ProtoReflect.Descriptor instead. func (*CMsgClientToGCVoteForMVP) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{130} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{132} } func (x *CMsgClientToGCVoteForMVP) GetMatchId() uint64 { @@ -13732,7 +13834,7 @@ type CMsgClientToGCVoteForMVPResponse struct { func (x *CMsgClientToGCVoteForMVPResponse) Reset() { *x = CMsgClientToGCVoteForMVPResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[131] + mi := &file_dota_gcmessages_client_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13745,7 +13847,7 @@ func (x *CMsgClientToGCVoteForMVPResponse) String() string { func (*CMsgClientToGCVoteForMVPResponse) ProtoMessage() {} func (x *CMsgClientToGCVoteForMVPResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[131] + mi := &file_dota_gcmessages_client_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13758,7 +13860,7 @@ func (x *CMsgClientToGCVoteForMVPResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCVoteForMVPResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCVoteForMVPResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{131} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{133} } func (x *CMsgClientToGCVoteForMVPResponse) GetResult() bool { @@ -13779,7 +13881,7 @@ type CMsgClientToGCMVPVoteTimeout struct { func (x *CMsgClientToGCMVPVoteTimeout) Reset() { *x = CMsgClientToGCMVPVoteTimeout{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[132] + mi := &file_dota_gcmessages_client_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13792,7 +13894,7 @@ func (x *CMsgClientToGCMVPVoteTimeout) String() string { func (*CMsgClientToGCMVPVoteTimeout) ProtoMessage() {} func (x *CMsgClientToGCMVPVoteTimeout) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[132] + mi := &file_dota_gcmessages_client_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13805,7 +13907,7 @@ func (x *CMsgClientToGCMVPVoteTimeout) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCMVPVoteTimeout.ProtoReflect.Descriptor instead. func (*CMsgClientToGCMVPVoteTimeout) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{132} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{134} } func (x *CMsgClientToGCMVPVoteTimeout) GetMatchId() uint64 { @@ -13826,7 +13928,7 @@ type CMsgClientToGCMVPVoteTimeoutResponse struct { func (x *CMsgClientToGCMVPVoteTimeoutResponse) Reset() { *x = CMsgClientToGCMVPVoteTimeoutResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[133] + mi := &file_dota_gcmessages_client_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13839,7 +13941,7 @@ func (x *CMsgClientToGCMVPVoteTimeoutResponse) String() string { func (*CMsgClientToGCMVPVoteTimeoutResponse) ProtoMessage() {} func (x *CMsgClientToGCMVPVoteTimeoutResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[133] + mi := &file_dota_gcmessages_client_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13852,7 +13954,7 @@ func (x *CMsgClientToGCMVPVoteTimeoutResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCMVPVoteTimeoutResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCMVPVoteTimeoutResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{133} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{135} } func (x *CMsgClientToGCMVPVoteTimeoutResponse) GetResult() bool { @@ -13871,7 +13973,7 @@ type CMsgClientToGCTeammateStatsRequest struct { func (x *CMsgClientToGCTeammateStatsRequest) Reset() { *x = CMsgClientToGCTeammateStatsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[134] + mi := &file_dota_gcmessages_client_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13884,7 +13986,7 @@ func (x *CMsgClientToGCTeammateStatsRequest) String() string { func (*CMsgClientToGCTeammateStatsRequest) ProtoMessage() {} func (x *CMsgClientToGCTeammateStatsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[134] + mi := &file_dota_gcmessages_client_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13897,7 +13999,7 @@ func (x *CMsgClientToGCTeammateStatsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCTeammateStatsRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCTeammateStatsRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{134} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{136} } type CMsgClientToGCTeammateStatsResponse struct { @@ -13912,7 +14014,7 @@ type CMsgClientToGCTeammateStatsResponse struct { func (x *CMsgClientToGCTeammateStatsResponse) Reset() { *x = CMsgClientToGCTeammateStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[135] + mi := &file_dota_gcmessages_client_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13925,7 +14027,7 @@ func (x *CMsgClientToGCTeammateStatsResponse) String() string { func (*CMsgClientToGCTeammateStatsResponse) ProtoMessage() {} func (x *CMsgClientToGCTeammateStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[135] + mi := &file_dota_gcmessages_client_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13938,7 +14040,7 @@ func (x *CMsgClientToGCTeammateStatsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCTeammateStatsResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCTeammateStatsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{135} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{137} } func (x *CMsgClientToGCTeammateStatsResponse) GetSuccess() bool { @@ -13966,7 +14068,7 @@ type CMsgClientToGCVoteForArcana struct { func (x *CMsgClientToGCVoteForArcana) Reset() { *x = CMsgClientToGCVoteForArcana{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[136] + mi := &file_dota_gcmessages_client_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13979,7 +14081,7 @@ func (x *CMsgClientToGCVoteForArcana) String() string { func (*CMsgClientToGCVoteForArcana) ProtoMessage() {} func (x *CMsgClientToGCVoteForArcana) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[136] + mi := &file_dota_gcmessages_client_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13992,7 +14094,7 @@ func (x *CMsgClientToGCVoteForArcana) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCVoteForArcana.ProtoReflect.Descriptor instead. func (*CMsgClientToGCVoteForArcana) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{136} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{138} } func (x *CMsgClientToGCVoteForArcana) GetMatches() []*CMsgArcanaVoteMatchVotes { @@ -14013,7 +14115,7 @@ type CMsgClientToGCVoteForArcanaResponse struct { func (x *CMsgClientToGCVoteForArcanaResponse) Reset() { *x = CMsgClientToGCVoteForArcanaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[137] + mi := &file_dota_gcmessages_client_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14026,7 +14128,7 @@ func (x *CMsgClientToGCVoteForArcanaResponse) String() string { func (*CMsgClientToGCVoteForArcanaResponse) ProtoMessage() {} func (x *CMsgClientToGCVoteForArcanaResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[137] + mi := &file_dota_gcmessages_client_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14039,7 +14141,7 @@ func (x *CMsgClientToGCVoteForArcanaResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCVoteForArcanaResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCVoteForArcanaResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{137} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{139} } func (x *CMsgClientToGCVoteForArcanaResponse) GetResult() CMsgClientToGCVoteForArcanaResponse_Result { @@ -14058,7 +14160,7 @@ type CMsgClientToGCRequestArcanaVotesRemaining struct { func (x *CMsgClientToGCRequestArcanaVotesRemaining) Reset() { *x = CMsgClientToGCRequestArcanaVotesRemaining{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[138] + mi := &file_dota_gcmessages_client_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14071,7 +14173,7 @@ func (x *CMsgClientToGCRequestArcanaVotesRemaining) String() string { func (*CMsgClientToGCRequestArcanaVotesRemaining) ProtoMessage() {} func (x *CMsgClientToGCRequestArcanaVotesRemaining) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[138] + mi := &file_dota_gcmessages_client_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14084,7 +14186,7 @@ func (x *CMsgClientToGCRequestArcanaVotesRemaining) ProtoReflect() protoreflect. // Deprecated: Use CMsgClientToGCRequestArcanaVotesRemaining.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestArcanaVotesRemaining) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{138} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{140} } type CMsgClientToGCRequestArcanaVotesRemainingResponse struct { @@ -14101,7 +14203,7 @@ type CMsgClientToGCRequestArcanaVotesRemainingResponse struct { func (x *CMsgClientToGCRequestArcanaVotesRemainingResponse) Reset() { *x = CMsgClientToGCRequestArcanaVotesRemainingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[139] + mi := &file_dota_gcmessages_client_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14114,7 +14216,7 @@ func (x *CMsgClientToGCRequestArcanaVotesRemainingResponse) String() string { func (*CMsgClientToGCRequestArcanaVotesRemainingResponse) ProtoMessage() {} func (x *CMsgClientToGCRequestArcanaVotesRemainingResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[139] + mi := &file_dota_gcmessages_client_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14127,7 +14229,7 @@ func (x *CMsgClientToGCRequestArcanaVotesRemainingResponse) ProtoReflect() proto // Deprecated: Use CMsgClientToGCRequestArcanaVotesRemainingResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestArcanaVotesRemainingResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{139} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{141} } func (x *CMsgClientToGCRequestArcanaVotesRemainingResponse) GetResult() bool { @@ -14169,7 +14271,7 @@ type CMsgClientToGCRequestEventPointLogV2 struct { func (x *CMsgClientToGCRequestEventPointLogV2) Reset() { *x = CMsgClientToGCRequestEventPointLogV2{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[140] + mi := &file_dota_gcmessages_client_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14182,7 +14284,7 @@ func (x *CMsgClientToGCRequestEventPointLogV2) String() string { func (*CMsgClientToGCRequestEventPointLogV2) ProtoMessage() {} func (x *CMsgClientToGCRequestEventPointLogV2) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[140] + mi := &file_dota_gcmessages_client_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14195,7 +14297,7 @@ func (x *CMsgClientToGCRequestEventPointLogV2) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCRequestEventPointLogV2.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestEventPointLogV2) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{140} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{142} } func (x *CMsgClientToGCRequestEventPointLogV2) GetEventId() uint32 { @@ -14218,7 +14320,7 @@ type CMsgClientToGCRequestEventPointLogResponseV2 struct { func (x *CMsgClientToGCRequestEventPointLogResponseV2) Reset() { *x = CMsgClientToGCRequestEventPointLogResponseV2{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[141] + mi := &file_dota_gcmessages_client_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14231,7 +14333,7 @@ func (x *CMsgClientToGCRequestEventPointLogResponseV2) String() string { func (*CMsgClientToGCRequestEventPointLogResponseV2) ProtoMessage() {} func (x *CMsgClientToGCRequestEventPointLogResponseV2) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[141] + mi := &file_dota_gcmessages_client_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14244,7 +14346,7 @@ func (x *CMsgClientToGCRequestEventPointLogResponseV2) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCRequestEventPointLogResponseV2.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestEventPointLogResponseV2) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{141} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{143} } func (x *CMsgClientToGCRequestEventPointLogResponseV2) GetResult() bool { @@ -14280,7 +14382,7 @@ type CMsgClientToGCPublishUserStat struct { func (x *CMsgClientToGCPublishUserStat) Reset() { *x = CMsgClientToGCPublishUserStat{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[142] + mi := &file_dota_gcmessages_client_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14293,7 +14395,7 @@ func (x *CMsgClientToGCPublishUserStat) String() string { func (*CMsgClientToGCPublishUserStat) ProtoMessage() {} func (x *CMsgClientToGCPublishUserStat) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[142] + mi := &file_dota_gcmessages_client_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14306,7 +14408,7 @@ func (x *CMsgClientToGCPublishUserStat) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCPublishUserStat.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPublishUserStat) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{142} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{144} } func (x *CMsgClientToGCPublishUserStat) GetUserStatsEvent() uint32 { @@ -14336,7 +14438,7 @@ type CMsgClientToGCRequestSlarkGameResult struct { func (x *CMsgClientToGCRequestSlarkGameResult) Reset() { *x = CMsgClientToGCRequestSlarkGameResult{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[143] + mi := &file_dota_gcmessages_client_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14349,7 +14451,7 @@ func (x *CMsgClientToGCRequestSlarkGameResult) String() string { func (*CMsgClientToGCRequestSlarkGameResult) ProtoMessage() {} func (x *CMsgClientToGCRequestSlarkGameResult) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[143] + mi := &file_dota_gcmessages_client_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14362,7 +14464,7 @@ func (x *CMsgClientToGCRequestSlarkGameResult) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCRequestSlarkGameResult.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestSlarkGameResult) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{143} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{145} } func (x *CMsgClientToGCRequestSlarkGameResult) GetEventId() EEvent { @@ -14398,7 +14500,7 @@ type CMsgClientToGCRequestSlarkGameResultResponse struct { func (x *CMsgClientToGCRequestSlarkGameResultResponse) Reset() { *x = CMsgClientToGCRequestSlarkGameResultResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[144] + mi := &file_dota_gcmessages_client_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14411,7 +14513,7 @@ func (x *CMsgClientToGCRequestSlarkGameResultResponse) String() string { func (*CMsgClientToGCRequestSlarkGameResultResponse) ProtoMessage() {} func (x *CMsgClientToGCRequestSlarkGameResultResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[144] + mi := &file_dota_gcmessages_client_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14424,7 +14526,7 @@ func (x *CMsgClientToGCRequestSlarkGameResultResponse) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCRequestSlarkGameResultResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestSlarkGameResultResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{144} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{146} } func (x *CMsgClientToGCRequestSlarkGameResultResponse) GetPointsWon() uint32 { @@ -14453,7 +14555,7 @@ type CMsgGCToClientQuestProgressUpdated struct { func (x *CMsgGCToClientQuestProgressUpdated) Reset() { *x = CMsgGCToClientQuestProgressUpdated{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[145] + mi := &file_dota_gcmessages_client_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14466,7 +14568,7 @@ func (x *CMsgGCToClientQuestProgressUpdated) String() string { func (*CMsgGCToClientQuestProgressUpdated) ProtoMessage() {} func (x *CMsgGCToClientQuestProgressUpdated) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[145] + mi := &file_dota_gcmessages_client_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14479,7 +14581,7 @@ func (x *CMsgGCToClientQuestProgressUpdated) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientQuestProgressUpdated.ProtoReflect.Descriptor instead. func (*CMsgGCToClientQuestProgressUpdated) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{145} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{147} } func (x *CMsgGCToClientQuestProgressUpdated) GetQuestId() uint32 { @@ -14508,7 +14610,7 @@ type CMsgDOTARedeemItem struct { func (x *CMsgDOTARedeemItem) Reset() { *x = CMsgDOTARedeemItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[146] + mi := &file_dota_gcmessages_client_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14521,7 +14623,7 @@ func (x *CMsgDOTARedeemItem) String() string { func (*CMsgDOTARedeemItem) ProtoMessage() {} func (x *CMsgDOTARedeemItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[146] + mi := &file_dota_gcmessages_client_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14534,7 +14636,7 @@ func (x *CMsgDOTARedeemItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTARedeemItem.ProtoReflect.Descriptor instead. func (*CMsgDOTARedeemItem) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{146} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{148} } func (x *CMsgDOTARedeemItem) GetCurrencyId() uint64 { @@ -14562,7 +14664,7 @@ type CMsgDOTARedeemItemResponse struct { func (x *CMsgDOTARedeemItemResponse) Reset() { *x = CMsgDOTARedeemItemResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[147] + mi := &file_dota_gcmessages_client_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14575,7 +14677,7 @@ func (x *CMsgDOTARedeemItemResponse) String() string { func (*CMsgDOTARedeemItemResponse) ProtoMessage() {} func (x *CMsgDOTARedeemItemResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[147] + mi := &file_dota_gcmessages_client_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14588,7 +14690,7 @@ func (x *CMsgDOTARedeemItemResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTARedeemItemResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTARedeemItemResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{147} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{149} } func (x *CMsgDOTARedeemItemResponse) GetResponse() CMsgDOTARedeemItemResponse_EResultCode { @@ -14611,7 +14713,7 @@ type CMsgClientToGCSelectCompendiumInGamePrediction struct { func (x *CMsgClientToGCSelectCompendiumInGamePrediction) Reset() { *x = CMsgClientToGCSelectCompendiumInGamePrediction{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[148] + mi := &file_dota_gcmessages_client_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14624,7 +14726,7 @@ func (x *CMsgClientToGCSelectCompendiumInGamePrediction) String() string { func (*CMsgClientToGCSelectCompendiumInGamePrediction) ProtoMessage() {} func (x *CMsgClientToGCSelectCompendiumInGamePrediction) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[148] + mi := &file_dota_gcmessages_client_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14637,7 +14739,7 @@ func (x *CMsgClientToGCSelectCompendiumInGamePrediction) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCSelectCompendiumInGamePrediction.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSelectCompendiumInGamePrediction) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{148} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{150} } func (x *CMsgClientToGCSelectCompendiumInGamePrediction) GetMatchId() uint64 { @@ -14672,7 +14774,7 @@ type CMsgClientToGCSelectCompendiumInGamePredictionResponse struct { func (x *CMsgClientToGCSelectCompendiumInGamePredictionResponse) Reset() { *x = CMsgClientToGCSelectCompendiumInGamePredictionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[149] + mi := &file_dota_gcmessages_client_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14685,7 +14787,7 @@ func (x *CMsgClientToGCSelectCompendiumInGamePredictionResponse) String() string func (*CMsgClientToGCSelectCompendiumInGamePredictionResponse) ProtoMessage() {} func (x *CMsgClientToGCSelectCompendiumInGamePredictionResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[149] + mi := &file_dota_gcmessages_client_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14698,7 +14800,7 @@ func (x *CMsgClientToGCSelectCompendiumInGamePredictionResponse) ProtoReflect() // Deprecated: Use CMsgClientToGCSelectCompendiumInGamePredictionResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSelectCompendiumInGamePredictionResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{149} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{151} } func (x *CMsgClientToGCSelectCompendiumInGamePredictionResponse) GetResult() CMsgClientToGCSelectCompendiumInGamePredictionResponse_EResult { @@ -14722,7 +14824,7 @@ type CMsgClientToGCOpenPlayerCardPack struct { func (x *CMsgClientToGCOpenPlayerCardPack) Reset() { *x = CMsgClientToGCOpenPlayerCardPack{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[150] + mi := &file_dota_gcmessages_client_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14735,7 +14837,7 @@ func (x *CMsgClientToGCOpenPlayerCardPack) String() string { func (*CMsgClientToGCOpenPlayerCardPack) ProtoMessage() {} func (x *CMsgClientToGCOpenPlayerCardPack) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[150] + mi := &file_dota_gcmessages_client_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14748,7 +14850,7 @@ func (x *CMsgClientToGCOpenPlayerCardPack) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCOpenPlayerCardPack.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOpenPlayerCardPack) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{150} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{152} } func (x *CMsgClientToGCOpenPlayerCardPack) GetPlayerCardPackItemId() uint64 { @@ -14791,7 +14893,7 @@ type CMsgClientToGCOpenPlayerCardPackResponse struct { func (x *CMsgClientToGCOpenPlayerCardPackResponse) Reset() { *x = CMsgClientToGCOpenPlayerCardPackResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[151] + mi := &file_dota_gcmessages_client_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14804,7 +14906,7 @@ func (x *CMsgClientToGCOpenPlayerCardPackResponse) String() string { func (*CMsgClientToGCOpenPlayerCardPackResponse) ProtoMessage() {} func (x *CMsgClientToGCOpenPlayerCardPackResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[151] + mi := &file_dota_gcmessages_client_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14817,7 +14919,7 @@ func (x *CMsgClientToGCOpenPlayerCardPackResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCOpenPlayerCardPackResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOpenPlayerCardPackResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{151} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{153} } func (x *CMsgClientToGCOpenPlayerCardPackResponse) GetResult() CMsgClientToGCOpenPlayerCardPackResponse_Result { @@ -14846,7 +14948,7 @@ type CMsgClientToGCRecyclePlayerCard struct { func (x *CMsgClientToGCRecyclePlayerCard) Reset() { *x = CMsgClientToGCRecyclePlayerCard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[152] + mi := &file_dota_gcmessages_client_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14859,7 +14961,7 @@ func (x *CMsgClientToGCRecyclePlayerCard) String() string { func (*CMsgClientToGCRecyclePlayerCard) ProtoMessage() {} func (x *CMsgClientToGCRecyclePlayerCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[152] + mi := &file_dota_gcmessages_client_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14872,7 +14974,7 @@ func (x *CMsgClientToGCRecyclePlayerCard) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCRecyclePlayerCard.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRecyclePlayerCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{152} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{154} } func (x *CMsgClientToGCRecyclePlayerCard) GetPlayerCardItemIds() []uint64 { @@ -14901,7 +15003,7 @@ type CMsgClientToGCRecyclePlayerCardResponse struct { func (x *CMsgClientToGCRecyclePlayerCardResponse) Reset() { *x = CMsgClientToGCRecyclePlayerCardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[153] + mi := &file_dota_gcmessages_client_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14914,7 +15016,7 @@ func (x *CMsgClientToGCRecyclePlayerCardResponse) String() string { func (*CMsgClientToGCRecyclePlayerCardResponse) ProtoMessage() {} func (x *CMsgClientToGCRecyclePlayerCardResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[153] + mi := &file_dota_gcmessages_client_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14927,7 +15029,7 @@ func (x *CMsgClientToGCRecyclePlayerCardResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgClientToGCRecyclePlayerCardResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRecyclePlayerCardResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{153} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{155} } func (x *CMsgClientToGCRecyclePlayerCardResponse) GetResult() CMsgClientToGCRecyclePlayerCardResponse_Result { @@ -14957,7 +15059,7 @@ type CMsgClientToGCCreatePlayerCardPack struct { func (x *CMsgClientToGCCreatePlayerCardPack) Reset() { *x = CMsgClientToGCCreatePlayerCardPack{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[154] + mi := &file_dota_gcmessages_client_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14970,7 +15072,7 @@ func (x *CMsgClientToGCCreatePlayerCardPack) String() string { func (*CMsgClientToGCCreatePlayerCardPack) ProtoMessage() {} func (x *CMsgClientToGCCreatePlayerCardPack) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[154] + mi := &file_dota_gcmessages_client_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14983,7 +15085,7 @@ func (x *CMsgClientToGCCreatePlayerCardPack) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCCreatePlayerCardPack.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCreatePlayerCardPack) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{154} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{156} } func (x *CMsgClientToGCCreatePlayerCardPack) GetCardDustItemId() uint64 { @@ -15018,7 +15120,7 @@ type CMsgClientToGCCreatePlayerCardPackResponse struct { func (x *CMsgClientToGCCreatePlayerCardPackResponse) Reset() { *x = CMsgClientToGCCreatePlayerCardPackResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[155] + mi := &file_dota_gcmessages_client_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15031,7 +15133,7 @@ func (x *CMsgClientToGCCreatePlayerCardPackResponse) String() string { func (*CMsgClientToGCCreatePlayerCardPackResponse) ProtoMessage() {} func (x *CMsgClientToGCCreatePlayerCardPackResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[155] + mi := &file_dota_gcmessages_client_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15044,7 +15146,7 @@ func (x *CMsgClientToGCCreatePlayerCardPackResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCCreatePlayerCardPackResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCreatePlayerCardPackResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{155} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{157} } func (x *CMsgClientToGCCreatePlayerCardPackResponse) GetResult() CMsgClientToGCCreatePlayerCardPackResponse_Result { @@ -15068,7 +15170,7 @@ type CMsgClientToGCCreateTeamPlayerCardPack struct { func (x *CMsgClientToGCCreateTeamPlayerCardPack) Reset() { *x = CMsgClientToGCCreateTeamPlayerCardPack{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[156] + mi := &file_dota_gcmessages_client_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15081,7 +15183,7 @@ func (x *CMsgClientToGCCreateTeamPlayerCardPack) String() string { func (*CMsgClientToGCCreateTeamPlayerCardPack) ProtoMessage() {} func (x *CMsgClientToGCCreateTeamPlayerCardPack) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[156] + mi := &file_dota_gcmessages_client_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15094,7 +15196,7 @@ func (x *CMsgClientToGCCreateTeamPlayerCardPack) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCCreateTeamPlayerCardPack.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCreateTeamPlayerCardPack) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{156} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158} } func (x *CMsgClientToGCCreateTeamPlayerCardPack) GetCardDustItemId() uint64 { @@ -15136,7 +15238,7 @@ type CMsgClientToGCCreateTeamPlayerCardPackResponse struct { func (x *CMsgClientToGCCreateTeamPlayerCardPackResponse) Reset() { *x = CMsgClientToGCCreateTeamPlayerCardPackResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[157] + mi := &file_dota_gcmessages_client_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15149,7 +15251,7 @@ func (x *CMsgClientToGCCreateTeamPlayerCardPackResponse) String() string { func (*CMsgClientToGCCreateTeamPlayerCardPackResponse) ProtoMessage() {} func (x *CMsgClientToGCCreateTeamPlayerCardPackResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[157] + mi := &file_dota_gcmessages_client_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15162,7 +15264,7 @@ func (x *CMsgClientToGCCreateTeamPlayerCardPackResponse) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCCreateTeamPlayerCardPackResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCreateTeamPlayerCardPackResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{157} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159} } func (x *CMsgClientToGCCreateTeamPlayerCardPackResponse) GetResult() CMsgClientToGCCreateTeamPlayerCardPackResponse_Result { @@ -15191,7 +15293,7 @@ type CMsgGCToClientBattlePassRollup_International2016 struct { func (x *CMsgGCToClientBattlePassRollup_International2016) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[158] + mi := &file_dota_gcmessages_client_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15204,7 +15306,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016) String() string { func (*CMsgGCToClientBattlePassRollup_International2016) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[158] + mi := &file_dota_gcmessages_client_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15217,7 +15319,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016) ProtoReflect() protor // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160} } func (x *CMsgGCToClientBattlePassRollup_International2016) GetBattlePassLevel() uint32 { @@ -15302,7 +15404,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016 struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[159] + mi := &file_dota_gcmessages_client_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15315,7 +15417,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[159] + mi := &file_dota_gcmessages_client_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15328,7 +15430,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161} } func (x *CMsgGCToClientBattlePassRollup_Fall2016) GetBattlePassLevel() uint32 { @@ -15413,7 +15515,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017 struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[160] + mi := &file_dota_gcmessages_client_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15426,7 +15528,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017) String() string { func (*CMsgGCToClientBattlePassRollup_Winter2017) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[160] + mi := &file_dota_gcmessages_client_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15439,7 +15541,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162} } func (x *CMsgGCToClientBattlePassRollup_Winter2017) GetBattlePassLevel() uint32 { @@ -15524,7 +15626,7 @@ type CMsgGCToClientBattlePassRollup_TI7 struct { func (x *CMsgGCToClientBattlePassRollup_TI7) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[161] + mi := &file_dota_gcmessages_client_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15537,7 +15639,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7) String() string { func (*CMsgGCToClientBattlePassRollup_TI7) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[161] + mi := &file_dota_gcmessages_client_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15550,7 +15652,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163} } func (x *CMsgGCToClientBattlePassRollup_TI7) GetBattlePassLevel() uint32 { @@ -15634,7 +15736,7 @@ type CMsgGCToClientBattlePassRollup_TI8 struct { func (x *CMsgGCToClientBattlePassRollup_TI8) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[162] + mi := &file_dota_gcmessages_client_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15647,7 +15749,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8) String() string { func (*CMsgGCToClientBattlePassRollup_TI8) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[162] + mi := &file_dota_gcmessages_client_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15660,7 +15762,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164} } func (x *CMsgGCToClientBattlePassRollup_TI8) GetBattlePassLevel() uint32 { @@ -15730,7 +15832,7 @@ type CMsgGCToClientBattlePassRollup_TI9 struct { func (x *CMsgGCToClientBattlePassRollup_TI9) Reset() { *x = CMsgGCToClientBattlePassRollup_TI9{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[163] + mi := &file_dota_gcmessages_client_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15743,7 +15845,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI9) String() string { func (*CMsgGCToClientBattlePassRollup_TI9) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI9) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[163] + mi := &file_dota_gcmessages_client_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15756,7 +15858,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI9) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientBattlePassRollup_TI9.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI9) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{165} } func (x *CMsgGCToClientBattlePassRollup_TI9) GetBattlePassLevel() uint32 { @@ -15777,7 +15879,7 @@ type CMsgGCToClientBattlePassRollup_TI10 struct { func (x *CMsgGCToClientBattlePassRollup_TI10) Reset() { *x = CMsgGCToClientBattlePassRollup_TI10{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[164] + mi := &file_dota_gcmessages_client_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15790,7 +15892,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI10) String() string { func (*CMsgGCToClientBattlePassRollup_TI10) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI10) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[164] + mi := &file_dota_gcmessages_client_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15803,7 +15905,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI10) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgGCToClientBattlePassRollup_TI10.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI10) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{166} } func (x *CMsgGCToClientBattlePassRollup_TI10) GetBattlePassLevel() uint32 { @@ -15825,7 +15927,7 @@ type CMsgGCToClientBattlePassRollupRequest struct { func (x *CMsgGCToClientBattlePassRollupRequest) Reset() { *x = CMsgGCToClientBattlePassRollupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[165] + mi := &file_dota_gcmessages_client_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15838,7 +15940,7 @@ func (x *CMsgGCToClientBattlePassRollupRequest) String() string { func (*CMsgGCToClientBattlePassRollupRequest) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollupRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[165] + mi := &file_dota_gcmessages_client_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15851,7 +15953,7 @@ func (x *CMsgGCToClientBattlePassRollupRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCToClientBattlePassRollupRequest.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollupRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{165} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{167} } func (x *CMsgGCToClientBattlePassRollupRequest) GetEventId() uint32 { @@ -15885,7 +15987,7 @@ type CMsgGCToClientBattlePassRollupResponse struct { func (x *CMsgGCToClientBattlePassRollupResponse) Reset() { *x = CMsgGCToClientBattlePassRollupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[166] + mi := &file_dota_gcmessages_client_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15898,7 +16000,7 @@ func (x *CMsgGCToClientBattlePassRollupResponse) String() string { func (*CMsgGCToClientBattlePassRollupResponse) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollupResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[166] + mi := &file_dota_gcmessages_client_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15911,7 +16013,7 @@ func (x *CMsgGCToClientBattlePassRollupResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCToClientBattlePassRollupResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollupResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{166} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{168} } func (x *CMsgGCToClientBattlePassRollupResponse) GetEventTi6() *CMsgGCToClientBattlePassRollup_International2016 { @@ -15974,7 +16076,7 @@ type CMsgGCToClientBattlePassRollupListRequest struct { func (x *CMsgGCToClientBattlePassRollupListRequest) Reset() { *x = CMsgGCToClientBattlePassRollupListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[167] + mi := &file_dota_gcmessages_client_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15987,7 +16089,7 @@ func (x *CMsgGCToClientBattlePassRollupListRequest) String() string { func (*CMsgGCToClientBattlePassRollupListRequest) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollupListRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[167] + mi := &file_dota_gcmessages_client_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16000,7 +16102,7 @@ func (x *CMsgGCToClientBattlePassRollupListRequest) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCToClientBattlePassRollupListRequest.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollupListRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{167} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{169} } func (x *CMsgGCToClientBattlePassRollupListRequest) GetAccountId() uint32 { @@ -16021,7 +16123,7 @@ type CMsgGCToClientBattlePassRollupListResponse struct { func (x *CMsgGCToClientBattlePassRollupListResponse) Reset() { *x = CMsgGCToClientBattlePassRollupListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[168] + mi := &file_dota_gcmessages_client_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16034,7 +16136,7 @@ func (x *CMsgGCToClientBattlePassRollupListResponse) String() string { func (*CMsgGCToClientBattlePassRollupListResponse) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollupListResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[168] + mi := &file_dota_gcmessages_client_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16047,7 +16149,7 @@ func (x *CMsgGCToClientBattlePassRollupListResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgGCToClientBattlePassRollupListResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollupListResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{168} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{170} } func (x *CMsgGCToClientBattlePassRollupListResponse) GetEventInfo() []*CMsgGCToClientBattlePassRollupListResponse_EventInfo { @@ -16068,7 +16170,7 @@ type CMsgClientToGCTransferSeasonalMMRRequest struct { func (x *CMsgClientToGCTransferSeasonalMMRRequest) Reset() { *x = CMsgClientToGCTransferSeasonalMMRRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[169] + mi := &file_dota_gcmessages_client_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16081,7 +16183,7 @@ func (x *CMsgClientToGCTransferSeasonalMMRRequest) String() string { func (*CMsgClientToGCTransferSeasonalMMRRequest) ProtoMessage() {} func (x *CMsgClientToGCTransferSeasonalMMRRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[169] + mi := &file_dota_gcmessages_client_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16094,7 +16196,7 @@ func (x *CMsgClientToGCTransferSeasonalMMRRequest) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCTransferSeasonalMMRRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCTransferSeasonalMMRRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{169} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{171} } func (x *CMsgClientToGCTransferSeasonalMMRRequest) GetIsParty() bool { @@ -16115,7 +16217,7 @@ type CMsgClientToGCTransferSeasonalMMRResponse struct { func (x *CMsgClientToGCTransferSeasonalMMRResponse) Reset() { *x = CMsgClientToGCTransferSeasonalMMRResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[170] + mi := &file_dota_gcmessages_client_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16128,7 +16230,7 @@ func (x *CMsgClientToGCTransferSeasonalMMRResponse) String() string { func (*CMsgClientToGCTransferSeasonalMMRResponse) ProtoMessage() {} func (x *CMsgClientToGCTransferSeasonalMMRResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[170] + mi := &file_dota_gcmessages_client_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16141,7 +16243,7 @@ func (x *CMsgClientToGCTransferSeasonalMMRResponse) ProtoReflect() protoreflect. // Deprecated: Use CMsgClientToGCTransferSeasonalMMRResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCTransferSeasonalMMRResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{170} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{172} } func (x *CMsgClientToGCTransferSeasonalMMRResponse) GetSuccess() bool { @@ -16162,7 +16264,7 @@ type CMsgGCToClientPlaytestStatus struct { func (x *CMsgGCToClientPlaytestStatus) Reset() { *x = CMsgGCToClientPlaytestStatus{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[171] + mi := &file_dota_gcmessages_client_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16175,7 +16277,7 @@ func (x *CMsgGCToClientPlaytestStatus) String() string { func (*CMsgGCToClientPlaytestStatus) ProtoMessage() {} func (x *CMsgGCToClientPlaytestStatus) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[171] + mi := &file_dota_gcmessages_client_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16188,7 +16290,7 @@ func (x *CMsgGCToClientPlaytestStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientPlaytestStatus.ProtoReflect.Descriptor instead. func (*CMsgGCToClientPlaytestStatus) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{171} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{173} } func (x *CMsgGCToClientPlaytestStatus) GetActive() bool { @@ -16209,7 +16311,7 @@ type CMsgClientToGCJoinPlaytest struct { func (x *CMsgClientToGCJoinPlaytest) Reset() { *x = CMsgClientToGCJoinPlaytest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[172] + mi := &file_dota_gcmessages_client_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16222,7 +16324,7 @@ func (x *CMsgClientToGCJoinPlaytest) String() string { func (*CMsgClientToGCJoinPlaytest) ProtoMessage() {} func (x *CMsgClientToGCJoinPlaytest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[172] + mi := &file_dota_gcmessages_client_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16235,7 +16337,7 @@ func (x *CMsgClientToGCJoinPlaytest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCJoinPlaytest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCJoinPlaytest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{172} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{174} } func (x *CMsgClientToGCJoinPlaytest) GetClientVersion() uint32 { @@ -16256,7 +16358,7 @@ type CMsgClientToGCJoinPlaytestResponse struct { func (x *CMsgClientToGCJoinPlaytestResponse) Reset() { *x = CMsgClientToGCJoinPlaytestResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[173] + mi := &file_dota_gcmessages_client_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16269,7 +16371,7 @@ func (x *CMsgClientToGCJoinPlaytestResponse) String() string { func (*CMsgClientToGCJoinPlaytestResponse) ProtoMessage() {} func (x *CMsgClientToGCJoinPlaytestResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[173] + mi := &file_dota_gcmessages_client_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16282,7 +16384,7 @@ func (x *CMsgClientToGCJoinPlaytestResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCJoinPlaytestResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCJoinPlaytestResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{173} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{175} } func (x *CMsgClientToGCJoinPlaytestResponse) GetError() string { @@ -16304,7 +16406,7 @@ type CMsgDOTASetFavoriteTeam struct { func (x *CMsgDOTASetFavoriteTeam) Reset() { *x = CMsgDOTASetFavoriteTeam{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[174] + mi := &file_dota_gcmessages_client_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16317,7 +16419,7 @@ func (x *CMsgDOTASetFavoriteTeam) String() string { func (*CMsgDOTASetFavoriteTeam) ProtoMessage() {} func (x *CMsgDOTASetFavoriteTeam) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[174] + mi := &file_dota_gcmessages_client_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16330,7 +16432,7 @@ func (x *CMsgDOTASetFavoriteTeam) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTASetFavoriteTeam.ProtoReflect.Descriptor instead. func (*CMsgDOTASetFavoriteTeam) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{174} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{176} } func (x *CMsgDOTASetFavoriteTeam) GetTeamId() uint32 { @@ -16359,7 +16461,7 @@ type CMsgDOTATriviaCurrentQuestions struct { func (x *CMsgDOTATriviaCurrentQuestions) Reset() { *x = CMsgDOTATriviaCurrentQuestions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[175] + mi := &file_dota_gcmessages_client_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16372,7 +16474,7 @@ func (x *CMsgDOTATriviaCurrentQuestions) String() string { func (*CMsgDOTATriviaCurrentQuestions) ProtoMessage() {} func (x *CMsgDOTATriviaCurrentQuestions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[175] + mi := &file_dota_gcmessages_client_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16385,7 +16487,7 @@ func (x *CMsgDOTATriviaCurrentQuestions) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTATriviaCurrentQuestions.ProtoReflect.Descriptor instead. func (*CMsgDOTATriviaCurrentQuestions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{175} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{177} } func (x *CMsgDOTATriviaCurrentQuestions) GetQuestions() []*CMsgDOTATriviaQuestion { @@ -16414,7 +16516,7 @@ type CMsgDOTASubmitTriviaQuestionAnswer struct { func (x *CMsgDOTASubmitTriviaQuestionAnswer) Reset() { *x = CMsgDOTASubmitTriviaQuestionAnswer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[176] + mi := &file_dota_gcmessages_client_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16427,7 +16529,7 @@ func (x *CMsgDOTASubmitTriviaQuestionAnswer) String() string { func (*CMsgDOTASubmitTriviaQuestionAnswer) ProtoMessage() {} func (x *CMsgDOTASubmitTriviaQuestionAnswer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[176] + mi := &file_dota_gcmessages_client_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16440,7 +16542,7 @@ func (x *CMsgDOTASubmitTriviaQuestionAnswer) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgDOTASubmitTriviaQuestionAnswer.ProtoReflect.Descriptor instead. func (*CMsgDOTASubmitTriviaQuestionAnswer) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{176} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{178} } func (x *CMsgDOTASubmitTriviaQuestionAnswer) GetQuestionId() uint32 { @@ -16468,7 +16570,7 @@ type CMsgDOTASubmitTriviaQuestionAnswerResponse struct { func (x *CMsgDOTASubmitTriviaQuestionAnswerResponse) Reset() { *x = CMsgDOTASubmitTriviaQuestionAnswerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[177] + mi := &file_dota_gcmessages_client_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16481,7 +16583,7 @@ func (x *CMsgDOTASubmitTriviaQuestionAnswerResponse) String() string { func (*CMsgDOTASubmitTriviaQuestionAnswerResponse) ProtoMessage() {} func (x *CMsgDOTASubmitTriviaQuestionAnswerResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[177] + mi := &file_dota_gcmessages_client_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16494,7 +16596,7 @@ func (x *CMsgDOTASubmitTriviaQuestionAnswerResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgDOTASubmitTriviaQuestionAnswerResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTASubmitTriviaQuestionAnswerResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{177} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{179} } func (x *CMsgDOTASubmitTriviaQuestionAnswerResponse) GetResult() EDOTATriviaAnswerResult { @@ -16513,7 +16615,7 @@ type CMsgDOTAStartTriviaSession struct { func (x *CMsgDOTAStartTriviaSession) Reset() { *x = CMsgDOTAStartTriviaSession{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[178] + mi := &file_dota_gcmessages_client_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16526,7 +16628,7 @@ func (x *CMsgDOTAStartTriviaSession) String() string { func (*CMsgDOTAStartTriviaSession) ProtoMessage() {} func (x *CMsgDOTAStartTriviaSession) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[178] + mi := &file_dota_gcmessages_client_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16539,7 +16641,7 @@ func (x *CMsgDOTAStartTriviaSession) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAStartTriviaSession.ProtoReflect.Descriptor instead. func (*CMsgDOTAStartTriviaSession) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{178} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{180} } type CMsgDOTAStartTriviaSessionResponse struct { @@ -16554,7 +16656,7 @@ type CMsgDOTAStartTriviaSessionResponse struct { func (x *CMsgDOTAStartTriviaSessionResponse) Reset() { *x = CMsgDOTAStartTriviaSessionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[179] + mi := &file_dota_gcmessages_client_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16567,7 +16669,7 @@ func (x *CMsgDOTAStartTriviaSessionResponse) String() string { func (*CMsgDOTAStartTriviaSessionResponse) ProtoMessage() {} func (x *CMsgDOTAStartTriviaSessionResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[179] + mi := &file_dota_gcmessages_client_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16580,7 +16682,7 @@ func (x *CMsgDOTAStartTriviaSessionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgDOTAStartTriviaSessionResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTAStartTriviaSessionResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{179} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{181} } func (x *CMsgDOTAStartTriviaSessionResponse) GetTriviaEnabled() bool { @@ -16606,7 +16708,7 @@ type CMsgDOTAAnchorPhoneNumberRequest struct { func (x *CMsgDOTAAnchorPhoneNumberRequest) Reset() { *x = CMsgDOTAAnchorPhoneNumberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[180] + mi := &file_dota_gcmessages_client_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16619,7 +16721,7 @@ func (x *CMsgDOTAAnchorPhoneNumberRequest) String() string { func (*CMsgDOTAAnchorPhoneNumberRequest) ProtoMessage() {} func (x *CMsgDOTAAnchorPhoneNumberRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[180] + mi := &file_dota_gcmessages_client_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16632,7 +16734,7 @@ func (x *CMsgDOTAAnchorPhoneNumberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAAnchorPhoneNumberRequest.ProtoReflect.Descriptor instead. func (*CMsgDOTAAnchorPhoneNumberRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{180} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{182} } type CMsgDOTAAnchorPhoneNumberResponse struct { @@ -16646,7 +16748,7 @@ type CMsgDOTAAnchorPhoneNumberResponse struct { func (x *CMsgDOTAAnchorPhoneNumberResponse) Reset() { *x = CMsgDOTAAnchorPhoneNumberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[181] + mi := &file_dota_gcmessages_client_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16659,7 +16761,7 @@ func (x *CMsgDOTAAnchorPhoneNumberResponse) String() string { func (*CMsgDOTAAnchorPhoneNumberResponse) ProtoMessage() {} func (x *CMsgDOTAAnchorPhoneNumberResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[181] + mi := &file_dota_gcmessages_client_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16672,7 +16774,7 @@ func (x *CMsgDOTAAnchorPhoneNumberResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgDOTAAnchorPhoneNumberResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTAAnchorPhoneNumberResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{181} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{183} } func (x *CMsgDOTAAnchorPhoneNumberResponse) GetResult() CMsgDOTAAnchorPhoneNumberResponse_Result { @@ -16691,7 +16793,7 @@ type CMsgDOTAUnanchorPhoneNumberRequest struct { func (x *CMsgDOTAUnanchorPhoneNumberRequest) Reset() { *x = CMsgDOTAUnanchorPhoneNumberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[182] + mi := &file_dota_gcmessages_client_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16704,7 +16806,7 @@ func (x *CMsgDOTAUnanchorPhoneNumberRequest) String() string { func (*CMsgDOTAUnanchorPhoneNumberRequest) ProtoMessage() {} func (x *CMsgDOTAUnanchorPhoneNumberRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[182] + mi := &file_dota_gcmessages_client_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16717,7 +16819,7 @@ func (x *CMsgDOTAUnanchorPhoneNumberRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgDOTAUnanchorPhoneNumberRequest.ProtoReflect.Descriptor instead. func (*CMsgDOTAUnanchorPhoneNumberRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{182} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{184} } type CMsgDOTAUnanchorPhoneNumberResponse struct { @@ -16731,7 +16833,7 @@ type CMsgDOTAUnanchorPhoneNumberResponse struct { func (x *CMsgDOTAUnanchorPhoneNumberResponse) Reset() { *x = CMsgDOTAUnanchorPhoneNumberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[183] + mi := &file_dota_gcmessages_client_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16744,7 +16846,7 @@ func (x *CMsgDOTAUnanchorPhoneNumberResponse) String() string { func (*CMsgDOTAUnanchorPhoneNumberResponse) ProtoMessage() {} func (x *CMsgDOTAUnanchorPhoneNumberResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[183] + mi := &file_dota_gcmessages_client_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16757,7 +16859,7 @@ func (x *CMsgDOTAUnanchorPhoneNumberResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgDOTAUnanchorPhoneNumberResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTAUnanchorPhoneNumberResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{183} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{185} } func (x *CMsgDOTAUnanchorPhoneNumberResponse) GetResult() CMsgDOTAUnanchorPhoneNumberResponse_Result { @@ -16781,7 +16883,7 @@ type CMsgGCToClientCommendNotification struct { func (x *CMsgGCToClientCommendNotification) Reset() { *x = CMsgGCToClientCommendNotification{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[184] + mi := &file_dota_gcmessages_client_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16794,7 +16896,7 @@ func (x *CMsgGCToClientCommendNotification) String() string { func (*CMsgGCToClientCommendNotification) ProtoMessage() {} func (x *CMsgGCToClientCommendNotification) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[184] + mi := &file_dota_gcmessages_client_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16807,7 +16909,7 @@ func (x *CMsgGCToClientCommendNotification) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientCommendNotification.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCommendNotification) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{184} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{186} } func (x *CMsgGCToClientCommendNotification) GetCommenderAccountId() uint32 { @@ -16852,7 +16954,7 @@ type CMsgDOTAClientToGCQuickStatsRequest struct { func (x *CMsgDOTAClientToGCQuickStatsRequest) Reset() { *x = CMsgDOTAClientToGCQuickStatsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[185] + mi := &file_dota_gcmessages_client_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16865,7 +16967,7 @@ func (x *CMsgDOTAClientToGCQuickStatsRequest) String() string { func (*CMsgDOTAClientToGCQuickStatsRequest) ProtoMessage() {} func (x *CMsgDOTAClientToGCQuickStatsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[185] + mi := &file_dota_gcmessages_client_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16878,7 +16980,7 @@ func (x *CMsgDOTAClientToGCQuickStatsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgDOTAClientToGCQuickStatsRequest.ProtoReflect.Descriptor instead. func (*CMsgDOTAClientToGCQuickStatsRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{185} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{187} } func (x *CMsgDOTAClientToGCQuickStatsRequest) GetPlayerAccountId() uint32 { @@ -16926,7 +17028,7 @@ type CMsgDOTAClientToGCQuickStatsResponse struct { func (x *CMsgDOTAClientToGCQuickStatsResponse) Reset() { *x = CMsgDOTAClientToGCQuickStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[186] + mi := &file_dota_gcmessages_client_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16939,7 +17041,7 @@ func (x *CMsgDOTAClientToGCQuickStatsResponse) String() string { func (*CMsgDOTAClientToGCQuickStatsResponse) ProtoMessage() {} func (x *CMsgDOTAClientToGCQuickStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[186] + mi := &file_dota_gcmessages_client_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16952,7 +17054,7 @@ func (x *CMsgDOTAClientToGCQuickStatsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgDOTAClientToGCQuickStatsResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTAClientToGCQuickStatsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{186} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{188} } func (x *CMsgDOTAClientToGCQuickStatsResponse) GetOriginalRequest() *CMsgDOTAClientToGCQuickStatsRequest { @@ -17015,7 +17117,7 @@ type CMsgDOTASelectionPriorityChoiceRequest struct { func (x *CMsgDOTASelectionPriorityChoiceRequest) Reset() { *x = CMsgDOTASelectionPriorityChoiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[187] + mi := &file_dota_gcmessages_client_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17028,7 +17130,7 @@ func (x *CMsgDOTASelectionPriorityChoiceRequest) String() string { func (*CMsgDOTASelectionPriorityChoiceRequest) ProtoMessage() {} func (x *CMsgDOTASelectionPriorityChoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[187] + mi := &file_dota_gcmessages_client_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17041,7 +17143,7 @@ func (x *CMsgDOTASelectionPriorityChoiceRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgDOTASelectionPriorityChoiceRequest.ProtoReflect.Descriptor instead. func (*CMsgDOTASelectionPriorityChoiceRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{187} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{189} } func (x *CMsgDOTASelectionPriorityChoiceRequest) GetChoice() DOTASelectionPriorityChoice { @@ -17062,7 +17164,7 @@ type CMsgDOTASelectionPriorityChoiceResponse struct { func (x *CMsgDOTASelectionPriorityChoiceResponse) Reset() { *x = CMsgDOTASelectionPriorityChoiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[188] + mi := &file_dota_gcmessages_client_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17075,7 +17177,7 @@ func (x *CMsgDOTASelectionPriorityChoiceResponse) String() string { func (*CMsgDOTASelectionPriorityChoiceResponse) ProtoMessage() {} func (x *CMsgDOTASelectionPriorityChoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[188] + mi := &file_dota_gcmessages_client_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17088,7 +17190,7 @@ func (x *CMsgDOTASelectionPriorityChoiceResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgDOTASelectionPriorityChoiceResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTASelectionPriorityChoiceResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{188} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{190} } func (x *CMsgDOTASelectionPriorityChoiceResponse) GetResult() CMsgDOTASelectionPriorityChoiceResponse_Result { @@ -17109,7 +17211,7 @@ type CMsgDOTAGameAutographReward struct { func (x *CMsgDOTAGameAutographReward) Reset() { *x = CMsgDOTAGameAutographReward{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[189] + mi := &file_dota_gcmessages_client_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17122,7 +17224,7 @@ func (x *CMsgDOTAGameAutographReward) String() string { func (*CMsgDOTAGameAutographReward) ProtoMessage() {} func (x *CMsgDOTAGameAutographReward) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[189] + mi := &file_dota_gcmessages_client_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17135,7 +17237,7 @@ func (x *CMsgDOTAGameAutographReward) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAGameAutographReward.ProtoReflect.Descriptor instead. func (*CMsgDOTAGameAutographReward) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{189} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{191} } func (x *CMsgDOTAGameAutographReward) GetBadgeId() string { @@ -17156,7 +17258,7 @@ type CMsgDOTAGameAutographRewardResponse struct { func (x *CMsgDOTAGameAutographRewardResponse) Reset() { *x = CMsgDOTAGameAutographRewardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[190] + mi := &file_dota_gcmessages_client_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17169,7 +17271,7 @@ func (x *CMsgDOTAGameAutographRewardResponse) String() string { func (*CMsgDOTAGameAutographRewardResponse) ProtoMessage() {} func (x *CMsgDOTAGameAutographRewardResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[190] + mi := &file_dota_gcmessages_client_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17182,7 +17284,7 @@ func (x *CMsgDOTAGameAutographRewardResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgDOTAGameAutographRewardResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTAGameAutographRewardResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{190} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{192} } func (x *CMsgDOTAGameAutographRewardResponse) GetResult() CMsgDOTAGameAutographRewardResponse_Result { @@ -17201,7 +17303,7 @@ type CMsgDOTADestroyLobbyRequest struct { func (x *CMsgDOTADestroyLobbyRequest) Reset() { *x = CMsgDOTADestroyLobbyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[191] + mi := &file_dota_gcmessages_client_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17214,7 +17316,7 @@ func (x *CMsgDOTADestroyLobbyRequest) String() string { func (*CMsgDOTADestroyLobbyRequest) ProtoMessage() {} func (x *CMsgDOTADestroyLobbyRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[191] + mi := &file_dota_gcmessages_client_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17227,7 +17329,7 @@ func (x *CMsgDOTADestroyLobbyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTADestroyLobbyRequest.ProtoReflect.Descriptor instead. func (*CMsgDOTADestroyLobbyRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{191} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{193} } type CMsgDOTADestroyLobbyResponse struct { @@ -17241,7 +17343,7 @@ type CMsgDOTADestroyLobbyResponse struct { func (x *CMsgDOTADestroyLobbyResponse) Reset() { *x = CMsgDOTADestroyLobbyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[192] + mi := &file_dota_gcmessages_client_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17254,7 +17356,7 @@ func (x *CMsgDOTADestroyLobbyResponse) String() string { func (*CMsgDOTADestroyLobbyResponse) ProtoMessage() {} func (x *CMsgDOTADestroyLobbyResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[192] + mi := &file_dota_gcmessages_client_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17267,7 +17369,7 @@ func (x *CMsgDOTADestroyLobbyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTADestroyLobbyResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTADestroyLobbyResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{192} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{194} } func (x *CMsgDOTADestroyLobbyResponse) GetResult() CMsgDOTADestroyLobbyResponse_Result { @@ -17286,7 +17388,7 @@ type CMsgDOTAGetRecentPlayTimeFriendsRequest struct { func (x *CMsgDOTAGetRecentPlayTimeFriendsRequest) Reset() { *x = CMsgDOTAGetRecentPlayTimeFriendsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[193] + mi := &file_dota_gcmessages_client_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17299,7 +17401,7 @@ func (x *CMsgDOTAGetRecentPlayTimeFriendsRequest) String() string { func (*CMsgDOTAGetRecentPlayTimeFriendsRequest) ProtoMessage() {} func (x *CMsgDOTAGetRecentPlayTimeFriendsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[193] + mi := &file_dota_gcmessages_client_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17312,7 +17414,7 @@ func (x *CMsgDOTAGetRecentPlayTimeFriendsRequest) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgDOTAGetRecentPlayTimeFriendsRequest.ProtoReflect.Descriptor instead. func (*CMsgDOTAGetRecentPlayTimeFriendsRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{193} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{195} } type CMsgDOTAGetRecentPlayTimeFriendsResponse struct { @@ -17326,7 +17428,7 @@ type CMsgDOTAGetRecentPlayTimeFriendsResponse struct { func (x *CMsgDOTAGetRecentPlayTimeFriendsResponse) Reset() { *x = CMsgDOTAGetRecentPlayTimeFriendsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[194] + mi := &file_dota_gcmessages_client_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17339,7 +17441,7 @@ func (x *CMsgDOTAGetRecentPlayTimeFriendsResponse) String() string { func (*CMsgDOTAGetRecentPlayTimeFriendsResponse) ProtoMessage() {} func (x *CMsgDOTAGetRecentPlayTimeFriendsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[194] + mi := &file_dota_gcmessages_client_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17352,7 +17454,7 @@ func (x *CMsgDOTAGetRecentPlayTimeFriendsResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgDOTAGetRecentPlayTimeFriendsResponse.ProtoReflect.Descriptor instead. func (*CMsgDOTAGetRecentPlayTimeFriendsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{194} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{196} } func (x *CMsgDOTAGetRecentPlayTimeFriendsResponse) GetAccountIds() []uint32 { @@ -17376,7 +17478,7 @@ type CMsgPurchaseItemWithEventPoints struct { func (x *CMsgPurchaseItemWithEventPoints) Reset() { *x = CMsgPurchaseItemWithEventPoints{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[195] + mi := &file_dota_gcmessages_client_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17389,7 +17491,7 @@ func (x *CMsgPurchaseItemWithEventPoints) String() string { func (*CMsgPurchaseItemWithEventPoints) ProtoMessage() {} func (x *CMsgPurchaseItemWithEventPoints) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[195] + mi := &file_dota_gcmessages_client_proto_msgTypes[197] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17402,7 +17504,7 @@ func (x *CMsgPurchaseItemWithEventPoints) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPurchaseItemWithEventPoints.ProtoReflect.Descriptor instead. func (*CMsgPurchaseItemWithEventPoints) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{195} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{197} } func (x *CMsgPurchaseItemWithEventPoints) GetItemDef() uint32 { @@ -17444,7 +17546,7 @@ type CMsgPurchaseItemWithEventPointsResponse struct { func (x *CMsgPurchaseItemWithEventPointsResponse) Reset() { *x = CMsgPurchaseItemWithEventPointsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[196] + mi := &file_dota_gcmessages_client_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17457,7 +17559,7 @@ func (x *CMsgPurchaseItemWithEventPointsResponse) String() string { func (*CMsgPurchaseItemWithEventPointsResponse) ProtoMessage() {} func (x *CMsgPurchaseItemWithEventPointsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[196] + mi := &file_dota_gcmessages_client_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17470,7 +17572,7 @@ func (x *CMsgPurchaseItemWithEventPointsResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgPurchaseItemWithEventPointsResponse.ProtoReflect.Descriptor instead. func (*CMsgPurchaseItemWithEventPointsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{196} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{198} } func (x *CMsgPurchaseItemWithEventPointsResponse) GetResult() CMsgPurchaseItemWithEventPointsResponse_Result { @@ -17492,7 +17594,7 @@ type CMsgPurchaseHeroRandomRelic struct { func (x *CMsgPurchaseHeroRandomRelic) Reset() { *x = CMsgPurchaseHeroRandomRelic{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[197] + mi := &file_dota_gcmessages_client_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17505,7 +17607,7 @@ func (x *CMsgPurchaseHeroRandomRelic) String() string { func (*CMsgPurchaseHeroRandomRelic) ProtoMessage() {} func (x *CMsgPurchaseHeroRandomRelic) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[197] + mi := &file_dota_gcmessages_client_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17518,7 +17620,7 @@ func (x *CMsgPurchaseHeroRandomRelic) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPurchaseHeroRandomRelic.ProtoReflect.Descriptor instead. func (*CMsgPurchaseHeroRandomRelic) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{197} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{199} } func (x *CMsgPurchaseHeroRandomRelic) GetHeroId() int32 { @@ -17547,7 +17649,7 @@ type CMsgPurchaseHeroRandomRelicResponse struct { func (x *CMsgPurchaseHeroRandomRelicResponse) Reset() { *x = CMsgPurchaseHeroRandomRelicResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[198] + mi := &file_dota_gcmessages_client_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17560,7 +17662,7 @@ func (x *CMsgPurchaseHeroRandomRelicResponse) String() string { func (*CMsgPurchaseHeroRandomRelicResponse) ProtoMessage() {} func (x *CMsgPurchaseHeroRandomRelicResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[198] + mi := &file_dota_gcmessages_client_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17573,7 +17675,7 @@ func (x *CMsgPurchaseHeroRandomRelicResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgPurchaseHeroRandomRelicResponse.ProtoReflect.Descriptor instead. func (*CMsgPurchaseHeroRandomRelicResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{198} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{200} } func (x *CMsgPurchaseHeroRandomRelicResponse) GetResult() EPurchaseHeroRelicResult { @@ -17602,7 +17704,7 @@ type CMsgClientToGCRequestPlusWeeklyChallengeResult struct { func (x *CMsgClientToGCRequestPlusWeeklyChallengeResult) Reset() { *x = CMsgClientToGCRequestPlusWeeklyChallengeResult{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[199] + mi := &file_dota_gcmessages_client_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17615,7 +17717,7 @@ func (x *CMsgClientToGCRequestPlusWeeklyChallengeResult) String() string { func (*CMsgClientToGCRequestPlusWeeklyChallengeResult) ProtoMessage() {} func (x *CMsgClientToGCRequestPlusWeeklyChallengeResult) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[199] + mi := &file_dota_gcmessages_client_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17628,7 +17730,7 @@ func (x *CMsgClientToGCRequestPlusWeeklyChallengeResult) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCRequestPlusWeeklyChallengeResult.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestPlusWeeklyChallengeResult) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{199} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{201} } func (x *CMsgClientToGCRequestPlusWeeklyChallengeResult) GetEventId() EEvent { @@ -17654,7 +17756,7 @@ type CMsgClientToGCRequestPlusWeeklyChallengeResultResponse struct { func (x *CMsgClientToGCRequestPlusWeeklyChallengeResultResponse) Reset() { *x = CMsgClientToGCRequestPlusWeeklyChallengeResultResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[200] + mi := &file_dota_gcmessages_client_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17667,7 +17769,7 @@ func (x *CMsgClientToGCRequestPlusWeeklyChallengeResultResponse) String() string func (*CMsgClientToGCRequestPlusWeeklyChallengeResultResponse) ProtoMessage() {} func (x *CMsgClientToGCRequestPlusWeeklyChallengeResultResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[200] + mi := &file_dota_gcmessages_client_proto_msgTypes[202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17680,7 +17782,7 @@ func (x *CMsgClientToGCRequestPlusWeeklyChallengeResultResponse) ProtoReflect() // Deprecated: Use CMsgClientToGCRequestPlusWeeklyChallengeResultResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestPlusWeeklyChallengeResultResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{200} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{202} } type CMsgProfileRequest struct { @@ -17694,7 +17796,7 @@ type CMsgProfileRequest struct { func (x *CMsgProfileRequest) Reset() { *x = CMsgProfileRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[201] + mi := &file_dota_gcmessages_client_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17707,7 +17809,7 @@ func (x *CMsgProfileRequest) String() string { func (*CMsgProfileRequest) ProtoMessage() {} func (x *CMsgProfileRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[201] + mi := &file_dota_gcmessages_client_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17720,7 +17822,7 @@ func (x *CMsgProfileRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgProfileRequest.ProtoReflect.Descriptor instead. func (*CMsgProfileRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{201} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{203} } func (x *CMsgProfileRequest) GetAccountId() uint32 { @@ -17747,7 +17849,7 @@ type CMsgProfileResponse struct { func (x *CMsgProfileResponse) Reset() { *x = CMsgProfileResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[202] + mi := &file_dota_gcmessages_client_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17760,7 +17862,7 @@ func (x *CMsgProfileResponse) String() string { func (*CMsgProfileResponse) ProtoMessage() {} func (x *CMsgProfileResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[202] + mi := &file_dota_gcmessages_client_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17773,7 +17875,7 @@ func (x *CMsgProfileResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgProfileResponse.ProtoReflect.Descriptor instead. func (*CMsgProfileResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{202} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{204} } func (x *CMsgProfileResponse) GetBackgroundItem() *CSOEconItem { @@ -17837,7 +17939,7 @@ type CMsgProfileUpdate struct { func (x *CMsgProfileUpdate) Reset() { *x = CMsgProfileUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[203] + mi := &file_dota_gcmessages_client_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17850,7 +17952,7 @@ func (x *CMsgProfileUpdate) String() string { func (*CMsgProfileUpdate) ProtoMessage() {} func (x *CMsgProfileUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[203] + mi := &file_dota_gcmessages_client_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17863,7 +17965,7 @@ func (x *CMsgProfileUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgProfileUpdate.ProtoReflect.Descriptor instead. func (*CMsgProfileUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{203} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{205} } func (x *CMsgProfileUpdate) GetBackgroundItemId() uint64 { @@ -17891,7 +17993,7 @@ type CMsgProfileUpdateResponse struct { func (x *CMsgProfileUpdateResponse) Reset() { *x = CMsgProfileUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[204] + mi := &file_dota_gcmessages_client_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17904,7 +18006,7 @@ func (x *CMsgProfileUpdateResponse) String() string { func (*CMsgProfileUpdateResponse) ProtoMessage() {} func (x *CMsgProfileUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[204] + mi := &file_dota_gcmessages_client_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17917,7 +18019,7 @@ func (x *CMsgProfileUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgProfileUpdateResponse.ProtoReflect.Descriptor instead. func (*CMsgProfileUpdateResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{204} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{206} } func (x *CMsgProfileUpdateResponse) GetResult() CMsgProfileUpdateResponse_Result { @@ -17941,7 +18043,7 @@ type CMsgTalentWinRates struct { func (x *CMsgTalentWinRates) Reset() { *x = CMsgTalentWinRates{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[205] + mi := &file_dota_gcmessages_client_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17954,7 +18056,7 @@ func (x *CMsgTalentWinRates) String() string { func (*CMsgTalentWinRates) ProtoMessage() {} func (x *CMsgTalentWinRates) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[205] + mi := &file_dota_gcmessages_client_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17967,7 +18069,7 @@ func (x *CMsgTalentWinRates) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgTalentWinRates.ProtoReflect.Descriptor instead. func (*CMsgTalentWinRates) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{205} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{207} } func (x *CMsgTalentWinRates) GetLastRun() uint32 { @@ -18017,7 +18119,7 @@ type CMsgGlobalHeroAverages struct { func (x *CMsgGlobalHeroAverages) Reset() { *x = CMsgGlobalHeroAverages{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[206] + mi := &file_dota_gcmessages_client_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18030,7 +18132,7 @@ func (x *CMsgGlobalHeroAverages) String() string { func (*CMsgGlobalHeroAverages) ProtoMessage() {} func (x *CMsgGlobalHeroAverages) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[206] + mi := &file_dota_gcmessages_client_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18043,7 +18145,7 @@ func (x *CMsgGlobalHeroAverages) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGlobalHeroAverages.ProtoReflect.Descriptor instead. func (*CMsgGlobalHeroAverages) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{206} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{208} } func (x *CMsgGlobalHeroAverages) GetLastRun() uint32 { @@ -18120,7 +18222,7 @@ type CMsgHeroGlobalDataRequest struct { func (x *CMsgHeroGlobalDataRequest) Reset() { *x = CMsgHeroGlobalDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[207] + mi := &file_dota_gcmessages_client_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18133,7 +18235,7 @@ func (x *CMsgHeroGlobalDataRequest) String() string { func (*CMsgHeroGlobalDataRequest) ProtoMessage() {} func (x *CMsgHeroGlobalDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[207] + mi := &file_dota_gcmessages_client_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18146,7 +18248,7 @@ func (x *CMsgHeroGlobalDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgHeroGlobalDataRequest.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{207} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{209} } func (x *CMsgHeroGlobalDataRequest) GetHeroId() int32 { @@ -18168,7 +18270,7 @@ type CMsgHeroGlobalDataResponse struct { func (x *CMsgHeroGlobalDataResponse) Reset() { *x = CMsgHeroGlobalDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[208] + mi := &file_dota_gcmessages_client_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18181,7 +18283,7 @@ func (x *CMsgHeroGlobalDataResponse) String() string { func (*CMsgHeroGlobalDataResponse) ProtoMessage() {} func (x *CMsgHeroGlobalDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[208] + mi := &file_dota_gcmessages_client_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18194,7 +18296,7 @@ func (x *CMsgHeroGlobalDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgHeroGlobalDataResponse.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{208} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{210} } func (x *CMsgHeroGlobalDataResponse) GetHeroId() int32 { @@ -18222,7 +18324,7 @@ type CMsgHeroGlobalDataAllHeroes struct { func (x *CMsgHeroGlobalDataAllHeroes) Reset() { *x = CMsgHeroGlobalDataAllHeroes{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[209] + mi := &file_dota_gcmessages_client_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18235,7 +18337,7 @@ func (x *CMsgHeroGlobalDataAllHeroes) String() string { func (*CMsgHeroGlobalDataAllHeroes) ProtoMessage() {} func (x *CMsgHeroGlobalDataAllHeroes) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[209] + mi := &file_dota_gcmessages_client_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18248,7 +18350,7 @@ func (x *CMsgHeroGlobalDataAllHeroes) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgHeroGlobalDataAllHeroes.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataAllHeroes) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{209} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{211} } func (x *CMsgHeroGlobalDataAllHeroes) GetHeroes() []*CMsgHeroGlobalDataResponse { @@ -18269,7 +18371,7 @@ type CMsgHeroGlobalDataHeroesAlliesAndEnemies struct { func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies) Reset() { *x = CMsgHeroGlobalDataHeroesAlliesAndEnemies{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[210] + mi := &file_dota_gcmessages_client_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18282,7 +18384,7 @@ func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies) String() string { func (*CMsgHeroGlobalDataHeroesAlliesAndEnemies) ProtoMessage() {} func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[210] + mi := &file_dota_gcmessages_client_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18295,7 +18397,7 @@ func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies) ProtoReflect() protoreflect.M // Deprecated: Use CMsgHeroGlobalDataHeroesAlliesAndEnemies.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataHeroesAlliesAndEnemies) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{210} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{212} } func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies) GetRankedHeroData() []*CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData { @@ -18316,7 +18418,7 @@ type CMsgPrivateMetadataKeyRequest struct { func (x *CMsgPrivateMetadataKeyRequest) Reset() { *x = CMsgPrivateMetadataKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[211] + mi := &file_dota_gcmessages_client_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18329,7 +18431,7 @@ func (x *CMsgPrivateMetadataKeyRequest) String() string { func (*CMsgPrivateMetadataKeyRequest) ProtoMessage() {} func (x *CMsgPrivateMetadataKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[211] + mi := &file_dota_gcmessages_client_proto_msgTypes[213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18342,7 +18444,7 @@ func (x *CMsgPrivateMetadataKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPrivateMetadataKeyRequest.ProtoReflect.Descriptor instead. func (*CMsgPrivateMetadataKeyRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{211} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{213} } func (x *CMsgPrivateMetadataKeyRequest) GetMatchId() uint64 { @@ -18363,7 +18465,7 @@ type CMsgPrivateMetadataKeyResponse struct { func (x *CMsgPrivateMetadataKeyResponse) Reset() { *x = CMsgPrivateMetadataKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[212] + mi := &file_dota_gcmessages_client_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18376,7 +18478,7 @@ func (x *CMsgPrivateMetadataKeyResponse) String() string { func (*CMsgPrivateMetadataKeyResponse) ProtoMessage() {} func (x *CMsgPrivateMetadataKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[212] + mi := &file_dota_gcmessages_client_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18389,7 +18491,7 @@ func (x *CMsgPrivateMetadataKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPrivateMetadataKeyResponse.ProtoReflect.Descriptor instead. func (*CMsgPrivateMetadataKeyResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{212} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{214} } func (x *CMsgPrivateMetadataKeyResponse) GetPrivateKey() uint32 { @@ -18410,7 +18512,7 @@ type CMsgActivatePlusFreeTrialResponse struct { func (x *CMsgActivatePlusFreeTrialResponse) Reset() { *x = CMsgActivatePlusFreeTrialResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[213] + mi := &file_dota_gcmessages_client_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18423,7 +18525,7 @@ func (x *CMsgActivatePlusFreeTrialResponse) String() string { func (*CMsgActivatePlusFreeTrialResponse) ProtoMessage() {} func (x *CMsgActivatePlusFreeTrialResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[213] + mi := &file_dota_gcmessages_client_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18436,7 +18538,7 @@ func (x *CMsgActivatePlusFreeTrialResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgActivatePlusFreeTrialResponse.ProtoReflect.Descriptor instead. func (*CMsgActivatePlusFreeTrialResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{213} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{215} } func (x *CMsgActivatePlusFreeTrialResponse) GetResult() CMsgActivatePlusFreeTrialResponse_Result { @@ -18460,7 +18562,7 @@ type CMsgGCToClientCavernCrawlMapPathCompleted struct { func (x *CMsgGCToClientCavernCrawlMapPathCompleted) Reset() { *x = CMsgGCToClientCavernCrawlMapPathCompleted{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[214] + mi := &file_dota_gcmessages_client_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18473,7 +18575,7 @@ func (x *CMsgGCToClientCavernCrawlMapPathCompleted) String() string { func (*CMsgGCToClientCavernCrawlMapPathCompleted) ProtoMessage() {} func (x *CMsgGCToClientCavernCrawlMapPathCompleted) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[214] + mi := &file_dota_gcmessages_client_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18486,7 +18588,7 @@ func (x *CMsgGCToClientCavernCrawlMapPathCompleted) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCToClientCavernCrawlMapPathCompleted.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCavernCrawlMapPathCompleted) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{214} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{216} } func (x *CMsgGCToClientCavernCrawlMapPathCompleted) GetEventId() uint32 { @@ -18528,7 +18630,7 @@ type CMsgGCToClientCavernCrawlMapUpdated struct { func (x *CMsgGCToClientCavernCrawlMapUpdated) Reset() { *x = CMsgGCToClientCavernCrawlMapUpdated{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[215] + mi := &file_dota_gcmessages_client_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18541,7 +18643,7 @@ func (x *CMsgGCToClientCavernCrawlMapUpdated) String() string { func (*CMsgGCToClientCavernCrawlMapUpdated) ProtoMessage() {} func (x *CMsgGCToClientCavernCrawlMapUpdated) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[215] + mi := &file_dota_gcmessages_client_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18554,7 +18656,7 @@ func (x *CMsgGCToClientCavernCrawlMapUpdated) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgGCToClientCavernCrawlMapUpdated.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCavernCrawlMapUpdated) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{215} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{217} } func (x *CMsgGCToClientCavernCrawlMapUpdated) GetEventId() uint32 { @@ -18577,7 +18679,7 @@ type CMsgClientToGCCavernCrawlClaimRoom struct { func (x *CMsgClientToGCCavernCrawlClaimRoom) Reset() { *x = CMsgClientToGCCavernCrawlClaimRoom{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[216] + mi := &file_dota_gcmessages_client_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18590,7 +18692,7 @@ func (x *CMsgClientToGCCavernCrawlClaimRoom) String() string { func (*CMsgClientToGCCavernCrawlClaimRoom) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlClaimRoom) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[216] + mi := &file_dota_gcmessages_client_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18603,7 +18705,7 @@ func (x *CMsgClientToGCCavernCrawlClaimRoom) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCCavernCrawlClaimRoom.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlClaimRoom) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{216} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{218} } func (x *CMsgClientToGCCavernCrawlClaimRoom) GetEventId() uint32 { @@ -18638,7 +18740,7 @@ type CMsgClientToGCCavernCrawlClaimRoomResponse struct { func (x *CMsgClientToGCCavernCrawlClaimRoomResponse) Reset() { *x = CMsgClientToGCCavernCrawlClaimRoomResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[217] + mi := &file_dota_gcmessages_client_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18651,7 +18753,7 @@ func (x *CMsgClientToGCCavernCrawlClaimRoomResponse) String() string { func (*CMsgClientToGCCavernCrawlClaimRoomResponse) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlClaimRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[217] + mi := &file_dota_gcmessages_client_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18664,7 +18766,7 @@ func (x *CMsgClientToGCCavernCrawlClaimRoomResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCCavernCrawlClaimRoomResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlClaimRoomResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{217} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{219} } func (x *CMsgClientToGCCavernCrawlClaimRoomResponse) GetResult() CMsgClientToGCCavernCrawlClaimRoomResponse_Result { @@ -18688,7 +18790,7 @@ type CMsgClientToGCCavernCrawlUseItemOnRoom struct { func (x *CMsgClientToGCCavernCrawlUseItemOnRoom) Reset() { *x = CMsgClientToGCCavernCrawlUseItemOnRoom{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[218] + mi := &file_dota_gcmessages_client_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18701,7 +18803,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnRoom) String() string { func (*CMsgClientToGCCavernCrawlUseItemOnRoom) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlUseItemOnRoom) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[218] + mi := &file_dota_gcmessages_client_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18714,7 +18816,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnRoom) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCCavernCrawlUseItemOnRoom.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlUseItemOnRoom) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{218} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{220} } func (x *CMsgClientToGCCavernCrawlUseItemOnRoom) GetEventId() uint32 { @@ -18756,7 +18858,7 @@ type CMsgClientToGCCavernCrawlUseItemOnRoomResponse struct { func (x *CMsgClientToGCCavernCrawlUseItemOnRoomResponse) Reset() { *x = CMsgClientToGCCavernCrawlUseItemOnRoomResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[219] + mi := &file_dota_gcmessages_client_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18769,7 +18871,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnRoomResponse) String() string { func (*CMsgClientToGCCavernCrawlUseItemOnRoomResponse) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlUseItemOnRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[219] + mi := &file_dota_gcmessages_client_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18782,7 +18884,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnRoomResponse) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCCavernCrawlUseItemOnRoomResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlUseItemOnRoomResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{219} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{221} } func (x *CMsgClientToGCCavernCrawlUseItemOnRoomResponse) GetResult() CMsgClientToGCCavernCrawlUseItemOnRoomResponse_Result { @@ -18806,7 +18908,7 @@ type CMsgClientToGCCavernCrawlUseItemOnPath struct { func (x *CMsgClientToGCCavernCrawlUseItemOnPath) Reset() { *x = CMsgClientToGCCavernCrawlUseItemOnPath{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[220] + mi := &file_dota_gcmessages_client_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18819,7 +18921,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnPath) String() string { func (*CMsgClientToGCCavernCrawlUseItemOnPath) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlUseItemOnPath) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[220] + mi := &file_dota_gcmessages_client_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18832,7 +18934,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnPath) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCCavernCrawlUseItemOnPath.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlUseItemOnPath) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{220} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{222} } func (x *CMsgClientToGCCavernCrawlUseItemOnPath) GetEventId() uint32 { @@ -18874,7 +18976,7 @@ type CMsgClientToGCCavernCrawlUseItemOnPathResponse struct { func (x *CMsgClientToGCCavernCrawlUseItemOnPathResponse) Reset() { *x = CMsgClientToGCCavernCrawlUseItemOnPathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[221] + mi := &file_dota_gcmessages_client_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18887,7 +18989,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnPathResponse) String() string { func (*CMsgClientToGCCavernCrawlUseItemOnPathResponse) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlUseItemOnPathResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[221] + mi := &file_dota_gcmessages_client_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18900,7 +19002,7 @@ func (x *CMsgClientToGCCavernCrawlUseItemOnPathResponse) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCCavernCrawlUseItemOnPathResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlUseItemOnPathResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{221} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223} } func (x *CMsgClientToGCCavernCrawlUseItemOnPathResponse) GetResult() CMsgClientToGCCavernCrawlUseItemOnPathResponse_Result { @@ -18921,7 +19023,7 @@ type CMsgClientToGCCavernCrawlRequestMapState struct { func (x *CMsgClientToGCCavernCrawlRequestMapState) Reset() { *x = CMsgClientToGCCavernCrawlRequestMapState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[222] + mi := &file_dota_gcmessages_client_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18934,7 +19036,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapState) String() string { func (*CMsgClientToGCCavernCrawlRequestMapState) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlRequestMapState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[222] + mi := &file_dota_gcmessages_client_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18947,7 +19049,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapState) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCCavernCrawlRequestMapState.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlRequestMapState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{222} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{224} } func (x *CMsgClientToGCCavernCrawlRequestMapState) GetEventId() uint32 { @@ -18971,7 +19073,7 @@ type CMsgClientToGCCavernCrawlRequestMapStateResponse struct { func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse) Reset() { *x = CMsgClientToGCCavernCrawlRequestMapStateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[223] + mi := &file_dota_gcmessages_client_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18984,7 +19086,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse) String() string { func (*CMsgClientToGCCavernCrawlRequestMapStateResponse) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[223] + mi := &file_dota_gcmessages_client_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18997,7 +19099,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse) ProtoReflect() protor // Deprecated: Use CMsgClientToGCCavernCrawlRequestMapStateResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlRequestMapStateResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225} } func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse) GetResult() CMsgClientToGCCavernCrawlRequestMapStateResponse_Result { @@ -19039,7 +19141,7 @@ type CMsgClientToGCCavernCrawlGetClaimedRoomCount struct { func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCount) Reset() { *x = CMsgClientToGCCavernCrawlGetClaimedRoomCount{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[224] + mi := &file_dota_gcmessages_client_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19052,7 +19154,7 @@ func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCount) String() string { func (*CMsgClientToGCCavernCrawlGetClaimedRoomCount) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCount) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[224] + mi := &file_dota_gcmessages_client_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19065,7 +19167,7 @@ func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCount) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCCavernCrawlGetClaimedRoomCount.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlGetClaimedRoomCount) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{224} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{226} } func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCount) GetEventId() uint32 { @@ -19088,7 +19190,7 @@ type CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse struct { func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse) Reset() { *x = CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[225] + mi := &file_dota_gcmessages_client_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19101,7 +19203,7 @@ func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse) String() string { func (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[225] + mi := &file_dota_gcmessages_client_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19114,7 +19216,7 @@ func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse) ProtoReflect() pr // Deprecated: Use CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{227} } func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse) GetResult() CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_Result { @@ -19149,7 +19251,7 @@ type CMsgDOTAMutationList struct { func (x *CMsgDOTAMutationList) Reset() { *x = CMsgDOTAMutationList{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[226] + mi := &file_dota_gcmessages_client_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19162,7 +19264,7 @@ func (x *CMsgDOTAMutationList) String() string { func (*CMsgDOTAMutationList) ProtoMessage() {} func (x *CMsgDOTAMutationList) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[226] + mi := &file_dota_gcmessages_client_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19175,7 +19277,7 @@ func (x *CMsgDOTAMutationList) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAMutationList.ProtoReflect.Descriptor instead. func (*CMsgDOTAMutationList) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{226} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{228} } func (x *CMsgDOTAMutationList) GetMutations() []*CMsgDOTAMutationList_Mutation { @@ -19197,7 +19299,7 @@ type CMsgEventTipsSummaryRequest struct { func (x *CMsgEventTipsSummaryRequest) Reset() { *x = CMsgEventTipsSummaryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[227] + mi := &file_dota_gcmessages_client_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19210,7 +19312,7 @@ func (x *CMsgEventTipsSummaryRequest) String() string { func (*CMsgEventTipsSummaryRequest) ProtoMessage() {} func (x *CMsgEventTipsSummaryRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[227] + mi := &file_dota_gcmessages_client_proto_msgTypes[229] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19223,7 +19325,7 @@ func (x *CMsgEventTipsSummaryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgEventTipsSummaryRequest.ProtoReflect.Descriptor instead. func (*CMsgEventTipsSummaryRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{227} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{229} } func (x *CMsgEventTipsSummaryRequest) GetEventId() EEvent { @@ -19252,7 +19354,7 @@ type CMsgEventTipsSummaryResponse struct { func (x *CMsgEventTipsSummaryResponse) Reset() { *x = CMsgEventTipsSummaryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[228] + mi := &file_dota_gcmessages_client_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19265,7 +19367,7 @@ func (x *CMsgEventTipsSummaryResponse) String() string { func (*CMsgEventTipsSummaryResponse) ProtoMessage() {} func (x *CMsgEventTipsSummaryResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[228] + mi := &file_dota_gcmessages_client_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19278,7 +19380,7 @@ func (x *CMsgEventTipsSummaryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgEventTipsSummaryResponse.ProtoReflect.Descriptor instead. func (*CMsgEventTipsSummaryResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{228} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{230} } func (x *CMsgEventTipsSummaryResponse) GetResult() bool { @@ -19307,7 +19409,7 @@ type CMsgSocialFeedRequest struct { func (x *CMsgSocialFeedRequest) Reset() { *x = CMsgSocialFeedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[229] + mi := &file_dota_gcmessages_client_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19320,7 +19422,7 @@ func (x *CMsgSocialFeedRequest) String() string { func (*CMsgSocialFeedRequest) ProtoMessage() {} func (x *CMsgSocialFeedRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[229] + mi := &file_dota_gcmessages_client_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19333,7 +19435,7 @@ func (x *CMsgSocialFeedRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSocialFeedRequest.ProtoReflect.Descriptor instead. func (*CMsgSocialFeedRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{229} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{231} } func (x *CMsgSocialFeedRequest) GetAccountId() uint32 { @@ -19362,7 +19464,7 @@ type CMsgSocialFeedResponse struct { func (x *CMsgSocialFeedResponse) Reset() { *x = CMsgSocialFeedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[230] + mi := &file_dota_gcmessages_client_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19375,7 +19477,7 @@ func (x *CMsgSocialFeedResponse) String() string { func (*CMsgSocialFeedResponse) ProtoMessage() {} func (x *CMsgSocialFeedResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[230] + mi := &file_dota_gcmessages_client_proto_msgTypes[232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19388,7 +19490,7 @@ func (x *CMsgSocialFeedResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSocialFeedResponse.ProtoReflect.Descriptor instead. func (*CMsgSocialFeedResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{230} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{232} } func (x *CMsgSocialFeedResponse) GetResult() CMsgSocialFeedResponse_Result { @@ -19416,7 +19518,7 @@ type CMsgSocialFeedCommentsRequest struct { func (x *CMsgSocialFeedCommentsRequest) Reset() { *x = CMsgSocialFeedCommentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[231] + mi := &file_dota_gcmessages_client_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19429,7 +19531,7 @@ func (x *CMsgSocialFeedCommentsRequest) String() string { func (*CMsgSocialFeedCommentsRequest) ProtoMessage() {} func (x *CMsgSocialFeedCommentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[231] + mi := &file_dota_gcmessages_client_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19442,7 +19544,7 @@ func (x *CMsgSocialFeedCommentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSocialFeedCommentsRequest.ProtoReflect.Descriptor instead. func (*CMsgSocialFeedCommentsRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{231} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{233} } func (x *CMsgSocialFeedCommentsRequest) GetFeedEventId() uint64 { @@ -19464,7 +19566,7 @@ type CMsgSocialFeedCommentsResponse struct { func (x *CMsgSocialFeedCommentsResponse) Reset() { *x = CMsgSocialFeedCommentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[232] + mi := &file_dota_gcmessages_client_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19477,7 +19579,7 @@ func (x *CMsgSocialFeedCommentsResponse) String() string { func (*CMsgSocialFeedCommentsResponse) ProtoMessage() {} func (x *CMsgSocialFeedCommentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[232] + mi := &file_dota_gcmessages_client_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19490,7 +19592,7 @@ func (x *CMsgSocialFeedCommentsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSocialFeedCommentsResponse.ProtoReflect.Descriptor instead. func (*CMsgSocialFeedCommentsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{232} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{234} } func (x *CMsgSocialFeedCommentsResponse) GetResult() CMsgSocialFeedCommentsResponse_Result { @@ -19520,7 +19622,7 @@ type CMsgClientToGCPlayerCardSpecificPurchaseRequest struct { func (x *CMsgClientToGCPlayerCardSpecificPurchaseRequest) Reset() { *x = CMsgClientToGCPlayerCardSpecificPurchaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[233] + mi := &file_dota_gcmessages_client_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19533,7 +19635,7 @@ func (x *CMsgClientToGCPlayerCardSpecificPurchaseRequest) String() string { func (*CMsgClientToGCPlayerCardSpecificPurchaseRequest) ProtoMessage() {} func (x *CMsgClientToGCPlayerCardSpecificPurchaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[233] + mi := &file_dota_gcmessages_client_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19546,7 +19648,7 @@ func (x *CMsgClientToGCPlayerCardSpecificPurchaseRequest) ProtoReflect() protore // Deprecated: Use CMsgClientToGCPlayerCardSpecificPurchaseRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlayerCardSpecificPurchaseRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{233} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{235} } func (x *CMsgClientToGCPlayerCardSpecificPurchaseRequest) GetPlayerAccountId() uint32 { @@ -19582,7 +19684,7 @@ type CMsgClientToGCPlayerCardSpecificPurchaseResponse struct { func (x *CMsgClientToGCPlayerCardSpecificPurchaseResponse) Reset() { *x = CMsgClientToGCPlayerCardSpecificPurchaseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[234] + mi := &file_dota_gcmessages_client_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19595,7 +19697,7 @@ func (x *CMsgClientToGCPlayerCardSpecificPurchaseResponse) String() string { func (*CMsgClientToGCPlayerCardSpecificPurchaseResponse) ProtoMessage() {} func (x *CMsgClientToGCPlayerCardSpecificPurchaseResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[234] + mi := &file_dota_gcmessages_client_proto_msgTypes[236] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19608,7 +19710,7 @@ func (x *CMsgClientToGCPlayerCardSpecificPurchaseResponse) ProtoReflect() protor // Deprecated: Use CMsgClientToGCPlayerCardSpecificPurchaseResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlayerCardSpecificPurchaseResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{234} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{236} } func (x *CMsgClientToGCPlayerCardSpecificPurchaseResponse) GetResult() CMsgClientToGCPlayerCardSpecificPurchaseResponse_Result { @@ -19636,7 +19738,7 @@ type CMsgClientToGCRequestContestVotes struct { func (x *CMsgClientToGCRequestContestVotes) Reset() { *x = CMsgClientToGCRequestContestVotes{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[235] + mi := &file_dota_gcmessages_client_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19649,7 +19751,7 @@ func (x *CMsgClientToGCRequestContestVotes) String() string { func (*CMsgClientToGCRequestContestVotes) ProtoMessage() {} func (x *CMsgClientToGCRequestContestVotes) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[235] + mi := &file_dota_gcmessages_client_proto_msgTypes[237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19662,7 +19764,7 @@ func (x *CMsgClientToGCRequestContestVotes) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCRequestContestVotes.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestContestVotes) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{235} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{237} } func (x *CMsgClientToGCRequestContestVotes) GetContestId() uint32 { @@ -19684,7 +19786,7 @@ type CMsgClientToGCRequestContestVotesResponse struct { func (x *CMsgClientToGCRequestContestVotesResponse) Reset() { *x = CMsgClientToGCRequestContestVotesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[236] + mi := &file_dota_gcmessages_client_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19697,7 +19799,7 @@ func (x *CMsgClientToGCRequestContestVotesResponse) String() string { func (*CMsgClientToGCRequestContestVotesResponse) ProtoMessage() {} func (x *CMsgClientToGCRequestContestVotesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[236] + mi := &file_dota_gcmessages_client_proto_msgTypes[238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19710,7 +19812,7 @@ func (x *CMsgClientToGCRequestContestVotesResponse) ProtoReflect() protoreflect. // Deprecated: Use CMsgClientToGCRequestContestVotesResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestContestVotesResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{236} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{238} } func (x *CMsgClientToGCRequestContestVotesResponse) GetResult() CMsgClientToGCRequestContestVotesResponse_EResponse { @@ -19740,7 +19842,7 @@ type CMsgClientToGCRecordContestVote struct { func (x *CMsgClientToGCRecordContestVote) Reset() { *x = CMsgClientToGCRecordContestVote{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[237] + mi := &file_dota_gcmessages_client_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19753,7 +19855,7 @@ func (x *CMsgClientToGCRecordContestVote) String() string { func (*CMsgClientToGCRecordContestVote) ProtoMessage() {} func (x *CMsgClientToGCRecordContestVote) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[237] + mi := &file_dota_gcmessages_client_proto_msgTypes[239] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19766,7 +19868,7 @@ func (x *CMsgClientToGCRecordContestVote) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCRecordContestVote.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRecordContestVote) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{237} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{239} } func (x *CMsgClientToGCRecordContestVote) GetContestId() uint32 { @@ -19801,7 +19903,7 @@ type CMsgGCToClientRecordContestVoteResponse struct { func (x *CMsgGCToClientRecordContestVoteResponse) Reset() { *x = CMsgGCToClientRecordContestVoteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[238] + mi := &file_dota_gcmessages_client_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19814,7 +19916,7 @@ func (x *CMsgGCToClientRecordContestVoteResponse) String() string { func (*CMsgGCToClientRecordContestVoteResponse) ProtoMessage() {} func (x *CMsgGCToClientRecordContestVoteResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[238] + mi := &file_dota_gcmessages_client_proto_msgTypes[240] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19827,7 +19929,7 @@ func (x *CMsgGCToClientRecordContestVoteResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCToClientRecordContestVoteResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientRecordContestVoteResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{238} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{240} } func (x *CMsgGCToClientRecordContestVoteResponse) GetEresult() CMsgGCToClientRecordContestVoteResponse_EResult { @@ -19850,7 +19952,7 @@ type CMsgDevGrantEventPoints struct { func (x *CMsgDevGrantEventPoints) Reset() { *x = CMsgDevGrantEventPoints{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[239] + mi := &file_dota_gcmessages_client_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19863,7 +19965,7 @@ func (x *CMsgDevGrantEventPoints) String() string { func (*CMsgDevGrantEventPoints) ProtoMessage() {} func (x *CMsgDevGrantEventPoints) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[239] + mi := &file_dota_gcmessages_client_proto_msgTypes[241] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19876,7 +19978,7 @@ func (x *CMsgDevGrantEventPoints) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDevGrantEventPoints.ProtoReflect.Descriptor instead. func (*CMsgDevGrantEventPoints) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{239} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{241} } func (x *CMsgDevGrantEventPoints) GetEventId() EEvent { @@ -19911,7 +20013,7 @@ type CMsgDevGrantEventPointsResponse struct { func (x *CMsgDevGrantEventPointsResponse) Reset() { *x = CMsgDevGrantEventPointsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[240] + mi := &file_dota_gcmessages_client_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19924,7 +20026,7 @@ func (x *CMsgDevGrantEventPointsResponse) String() string { func (*CMsgDevGrantEventPointsResponse) ProtoMessage() {} func (x *CMsgDevGrantEventPointsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[240] + mi := &file_dota_gcmessages_client_proto_msgTypes[242] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19937,7 +20039,7 @@ func (x *CMsgDevGrantEventPointsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDevGrantEventPointsResponse.ProtoReflect.Descriptor instead. func (*CMsgDevGrantEventPointsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{240} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{242} } func (x *CMsgDevGrantEventPointsResponse) GetResult() EDevEventRequestResult { @@ -19960,7 +20062,7 @@ type CMsgDevGrantEventAction struct { func (x *CMsgDevGrantEventAction) Reset() { *x = CMsgDevGrantEventAction{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[241] + mi := &file_dota_gcmessages_client_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19973,7 +20075,7 @@ func (x *CMsgDevGrantEventAction) String() string { func (*CMsgDevGrantEventAction) ProtoMessage() {} func (x *CMsgDevGrantEventAction) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[241] + mi := &file_dota_gcmessages_client_proto_msgTypes[243] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19986,7 +20088,7 @@ func (x *CMsgDevGrantEventAction) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDevGrantEventAction.ProtoReflect.Descriptor instead. func (*CMsgDevGrantEventAction) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{241} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{243} } func (x *CMsgDevGrantEventAction) GetEventId() EEvent { @@ -20021,7 +20123,7 @@ type CMsgDevGrantEventActionResponse struct { func (x *CMsgDevGrantEventActionResponse) Reset() { *x = CMsgDevGrantEventActionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[242] + mi := &file_dota_gcmessages_client_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20034,7 +20136,7 @@ func (x *CMsgDevGrantEventActionResponse) String() string { func (*CMsgDevGrantEventActionResponse) ProtoMessage() {} func (x *CMsgDevGrantEventActionResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[242] + mi := &file_dota_gcmessages_client_proto_msgTypes[244] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20047,7 +20149,7 @@ func (x *CMsgDevGrantEventActionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDevGrantEventActionResponse.ProtoReflect.Descriptor instead. func (*CMsgDevGrantEventActionResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{242} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{244} } func (x *CMsgDevGrantEventActionResponse) GetResult() EDevEventRequestResult { @@ -20071,7 +20173,7 @@ type CMsgDevDeleteEventActions struct { func (x *CMsgDevDeleteEventActions) Reset() { *x = CMsgDevDeleteEventActions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[243] + mi := &file_dota_gcmessages_client_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20084,7 +20186,7 @@ func (x *CMsgDevDeleteEventActions) String() string { func (*CMsgDevDeleteEventActions) ProtoMessage() {} func (x *CMsgDevDeleteEventActions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[243] + mi := &file_dota_gcmessages_client_proto_msgTypes[245] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20097,7 +20199,7 @@ func (x *CMsgDevDeleteEventActions) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDevDeleteEventActions.ProtoReflect.Descriptor instead. func (*CMsgDevDeleteEventActions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{243} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{245} } func (x *CMsgDevDeleteEventActions) GetEventId() EEvent { @@ -20139,7 +20241,7 @@ type CMsgDevDeleteEventActionsResponse struct { func (x *CMsgDevDeleteEventActionsResponse) Reset() { *x = CMsgDevDeleteEventActionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[244] + mi := &file_dota_gcmessages_client_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20152,7 +20254,7 @@ func (x *CMsgDevDeleteEventActionsResponse) String() string { func (*CMsgDevDeleteEventActionsResponse) ProtoMessage() {} func (x *CMsgDevDeleteEventActionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[244] + mi := &file_dota_gcmessages_client_proto_msgTypes[246] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20165,7 +20267,7 @@ func (x *CMsgDevDeleteEventActionsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgDevDeleteEventActionsResponse.ProtoReflect.Descriptor instead. func (*CMsgDevDeleteEventActionsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{244} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{246} } func (x *CMsgDevDeleteEventActionsResponse) GetResult() EDevEventRequestResult { @@ -20187,7 +20289,7 @@ type CMsgDevResetEventState struct { func (x *CMsgDevResetEventState) Reset() { *x = CMsgDevResetEventState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[245] + mi := &file_dota_gcmessages_client_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20200,7 +20302,7 @@ func (x *CMsgDevResetEventState) String() string { func (*CMsgDevResetEventState) ProtoMessage() {} func (x *CMsgDevResetEventState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[245] + mi := &file_dota_gcmessages_client_proto_msgTypes[247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20213,7 +20315,7 @@ func (x *CMsgDevResetEventState) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDevResetEventState.ProtoReflect.Descriptor instead. func (*CMsgDevResetEventState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{245} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{247} } func (x *CMsgDevResetEventState) GetEventId() EEvent { @@ -20241,7 +20343,7 @@ type CMsgDevResetEventStateResponse struct { func (x *CMsgDevResetEventStateResponse) Reset() { *x = CMsgDevResetEventStateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[246] + mi := &file_dota_gcmessages_client_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20254,7 +20356,7 @@ func (x *CMsgDevResetEventStateResponse) String() string { func (*CMsgDevResetEventStateResponse) ProtoMessage() {} func (x *CMsgDevResetEventStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[246] + mi := &file_dota_gcmessages_client_proto_msgTypes[248] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20267,7 +20369,7 @@ func (x *CMsgDevResetEventStateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDevResetEventStateResponse.ProtoReflect.Descriptor instead. func (*CMsgDevResetEventStateResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{246} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{248} } func (x *CMsgDevResetEventStateResponse) GetResult() EDevEventRequestResult { @@ -20288,7 +20390,7 @@ type CMsgConsumeEventSupportGrantItem struct { func (x *CMsgConsumeEventSupportGrantItem) Reset() { *x = CMsgConsumeEventSupportGrantItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[247] + mi := &file_dota_gcmessages_client_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20301,7 +20403,7 @@ func (x *CMsgConsumeEventSupportGrantItem) String() string { func (*CMsgConsumeEventSupportGrantItem) ProtoMessage() {} func (x *CMsgConsumeEventSupportGrantItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[247] + mi := &file_dota_gcmessages_client_proto_msgTypes[249] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20314,7 +20416,7 @@ func (x *CMsgConsumeEventSupportGrantItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgConsumeEventSupportGrantItem.ProtoReflect.Descriptor instead. func (*CMsgConsumeEventSupportGrantItem) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{247} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{249} } func (x *CMsgConsumeEventSupportGrantItem) GetItemId() uint64 { @@ -20335,7 +20437,7 @@ type CMsgConsumeEventSupportGrantItemResponse struct { func (x *CMsgConsumeEventSupportGrantItemResponse) Reset() { *x = CMsgConsumeEventSupportGrantItemResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[248] + mi := &file_dota_gcmessages_client_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20348,7 +20450,7 @@ func (x *CMsgConsumeEventSupportGrantItemResponse) String() string { func (*CMsgConsumeEventSupportGrantItemResponse) ProtoMessage() {} func (x *CMsgConsumeEventSupportGrantItemResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[248] + mi := &file_dota_gcmessages_client_proto_msgTypes[250] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20361,7 +20463,7 @@ func (x *CMsgConsumeEventSupportGrantItemResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgConsumeEventSupportGrantItemResponse.ProtoReflect.Descriptor instead. func (*CMsgConsumeEventSupportGrantItemResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{248} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{250} } func (x *CMsgConsumeEventSupportGrantItemResponse) GetResult() ESupportEventRequestResult { @@ -20380,7 +20482,7 @@ type CMsgClientToGCGetFilteredPlayers struct { func (x *CMsgClientToGCGetFilteredPlayers) Reset() { *x = CMsgClientToGCGetFilteredPlayers{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[249] + mi := &file_dota_gcmessages_client_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20393,7 +20495,7 @@ func (x *CMsgClientToGCGetFilteredPlayers) String() string { func (*CMsgClientToGCGetFilteredPlayers) ProtoMessage() {} func (x *CMsgClientToGCGetFilteredPlayers) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[249] + mi := &file_dota_gcmessages_client_proto_msgTypes[251] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20406,7 +20508,7 @@ func (x *CMsgClientToGCGetFilteredPlayers) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetFilteredPlayers.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetFilteredPlayers) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{249} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{251} } type CMsgGCToClientGetFilteredPlayersResponse struct { @@ -20424,7 +20526,7 @@ type CMsgGCToClientGetFilteredPlayersResponse struct { func (x *CMsgGCToClientGetFilteredPlayersResponse) Reset() { *x = CMsgGCToClientGetFilteredPlayersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[250] + mi := &file_dota_gcmessages_client_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20437,7 +20539,7 @@ func (x *CMsgGCToClientGetFilteredPlayersResponse) String() string { func (*CMsgGCToClientGetFilteredPlayersResponse) ProtoMessage() {} func (x *CMsgGCToClientGetFilteredPlayersResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[250] + mi := &file_dota_gcmessages_client_proto_msgTypes[252] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20450,7 +20552,7 @@ func (x *CMsgGCToClientGetFilteredPlayersResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCToClientGetFilteredPlayersResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientGetFilteredPlayersResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{250} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{252} } func (x *CMsgGCToClientGetFilteredPlayersResponse) GetResult() CMsgGCToClientGetFilteredPlayersResponse_Result { @@ -20499,7 +20601,7 @@ type CMsgClientToGCRemoveFilteredPlayer struct { func (x *CMsgClientToGCRemoveFilteredPlayer) Reset() { *x = CMsgClientToGCRemoveFilteredPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[251] + mi := &file_dota_gcmessages_client_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20512,7 +20614,7 @@ func (x *CMsgClientToGCRemoveFilteredPlayer) String() string { func (*CMsgClientToGCRemoveFilteredPlayer) ProtoMessage() {} func (x *CMsgClientToGCRemoveFilteredPlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[251] + mi := &file_dota_gcmessages_client_proto_msgTypes[253] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20525,7 +20627,7 @@ func (x *CMsgClientToGCRemoveFilteredPlayer) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCRemoveFilteredPlayer.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRemoveFilteredPlayer) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{251} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{253} } func (x *CMsgClientToGCRemoveFilteredPlayer) GetAccountIdToRemove() uint32 { @@ -20546,7 +20648,7 @@ type CMsgGCToClientRemoveFilteredPlayerResponse struct { func (x *CMsgGCToClientRemoveFilteredPlayerResponse) Reset() { *x = CMsgGCToClientRemoveFilteredPlayerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[252] + mi := &file_dota_gcmessages_client_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20559,7 +20661,7 @@ func (x *CMsgGCToClientRemoveFilteredPlayerResponse) String() string { func (*CMsgGCToClientRemoveFilteredPlayerResponse) ProtoMessage() {} func (x *CMsgGCToClientRemoveFilteredPlayerResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[252] + mi := &file_dota_gcmessages_client_proto_msgTypes[254] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20572,7 +20674,7 @@ func (x *CMsgGCToClientRemoveFilteredPlayerResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgGCToClientRemoveFilteredPlayerResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientRemoveFilteredPlayerResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{252} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{254} } func (x *CMsgGCToClientRemoveFilteredPlayerResponse) GetResult() CMsgGCToClientRemoveFilteredPlayerResponse_Result { @@ -20593,7 +20695,7 @@ type CMsgClientToGCPurchaseFilteredPlayerSlot struct { func (x *CMsgClientToGCPurchaseFilteredPlayerSlot) Reset() { *x = CMsgClientToGCPurchaseFilteredPlayerSlot{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[253] + mi := &file_dota_gcmessages_client_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20606,7 +20708,7 @@ func (x *CMsgClientToGCPurchaseFilteredPlayerSlot) String() string { func (*CMsgClientToGCPurchaseFilteredPlayerSlot) ProtoMessage() {} func (x *CMsgClientToGCPurchaseFilteredPlayerSlot) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[253] + mi := &file_dota_gcmessages_client_proto_msgTypes[255] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20619,7 +20721,7 @@ func (x *CMsgClientToGCPurchaseFilteredPlayerSlot) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCPurchaseFilteredPlayerSlot.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPurchaseFilteredPlayerSlot) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{253} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{255} } func (x *CMsgClientToGCPurchaseFilteredPlayerSlot) GetAdditionalSlotsCurrent() int32 { @@ -20642,7 +20744,7 @@ type CMsgGCToClientPurchaseFilteredPlayerSlotResponse struct { func (x *CMsgGCToClientPurchaseFilteredPlayerSlotResponse) Reset() { *x = CMsgGCToClientPurchaseFilteredPlayerSlotResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[254] + mi := &file_dota_gcmessages_client_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20655,7 +20757,7 @@ func (x *CMsgGCToClientPurchaseFilteredPlayerSlotResponse) String() string { func (*CMsgGCToClientPurchaseFilteredPlayerSlotResponse) ProtoMessage() {} func (x *CMsgGCToClientPurchaseFilteredPlayerSlotResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[254] + mi := &file_dota_gcmessages_client_proto_msgTypes[256] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20668,7 +20770,7 @@ func (x *CMsgGCToClientPurchaseFilteredPlayerSlotResponse) ProtoReflect() protor // Deprecated: Use CMsgGCToClientPurchaseFilteredPlayerSlotResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientPurchaseFilteredPlayerSlotResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{254} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{256} } func (x *CMsgGCToClientPurchaseFilteredPlayerSlotResponse) GetResult() CMsgGCToClientPurchaseFilteredPlayerSlotResponse_Result { @@ -20704,7 +20806,7 @@ type CMsgClientToGCUpdateFilteredPlayerNote struct { func (x *CMsgClientToGCUpdateFilteredPlayerNote) Reset() { *x = CMsgClientToGCUpdateFilteredPlayerNote{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[255] + mi := &file_dota_gcmessages_client_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20717,7 +20819,7 @@ func (x *CMsgClientToGCUpdateFilteredPlayerNote) String() string { func (*CMsgClientToGCUpdateFilteredPlayerNote) ProtoMessage() {} func (x *CMsgClientToGCUpdateFilteredPlayerNote) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[255] + mi := &file_dota_gcmessages_client_proto_msgTypes[257] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20730,7 +20832,7 @@ func (x *CMsgClientToGCUpdateFilteredPlayerNote) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCUpdateFilteredPlayerNote.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUpdateFilteredPlayerNote) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{255} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{257} } func (x *CMsgClientToGCUpdateFilteredPlayerNote) GetTargetAccountId() uint32 { @@ -20758,7 +20860,7 @@ type CMsgGCToClientUpdateFilteredPlayerNoteResponse struct { func (x *CMsgGCToClientUpdateFilteredPlayerNoteResponse) Reset() { *x = CMsgGCToClientUpdateFilteredPlayerNoteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[256] + mi := &file_dota_gcmessages_client_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20771,7 +20873,7 @@ func (x *CMsgGCToClientUpdateFilteredPlayerNoteResponse) String() string { func (*CMsgGCToClientUpdateFilteredPlayerNoteResponse) ProtoMessage() {} func (x *CMsgGCToClientUpdateFilteredPlayerNoteResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[256] + mi := &file_dota_gcmessages_client_proto_msgTypes[258] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20784,7 +20886,7 @@ func (x *CMsgGCToClientUpdateFilteredPlayerNoteResponse) ProtoReflect() protoref // Deprecated: Use CMsgGCToClientUpdateFilteredPlayerNoteResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientUpdateFilteredPlayerNoteResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{256} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{258} } func (x *CMsgGCToClientUpdateFilteredPlayerNoteResponse) GetResult() CMsgGCToClientUpdateFilteredPlayerNoteResponse_Result { @@ -20807,7 +20909,7 @@ type CMsgPartySearchPlayer struct { func (x *CMsgPartySearchPlayer) Reset() { *x = CMsgPartySearchPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[257] + mi := &file_dota_gcmessages_client_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20820,7 +20922,7 @@ func (x *CMsgPartySearchPlayer) String() string { func (*CMsgPartySearchPlayer) ProtoMessage() {} func (x *CMsgPartySearchPlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[257] + mi := &file_dota_gcmessages_client_proto_msgTypes[259] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20833,7 +20935,7 @@ func (x *CMsgPartySearchPlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPartySearchPlayer.ProtoReflect.Descriptor instead. func (*CMsgPartySearchPlayer) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{257} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{259} } func (x *CMsgPartySearchPlayer) GetAccountId() uint32 { @@ -20868,7 +20970,7 @@ type CMsgGCToClientPlayerBeaconState struct { func (x *CMsgGCToClientPlayerBeaconState) Reset() { *x = CMsgGCToClientPlayerBeaconState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[258] + mi := &file_dota_gcmessages_client_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20881,7 +20983,7 @@ func (x *CMsgGCToClientPlayerBeaconState) String() string { func (*CMsgGCToClientPlayerBeaconState) ProtoMessage() {} func (x *CMsgGCToClientPlayerBeaconState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[258] + mi := &file_dota_gcmessages_client_proto_msgTypes[260] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20894,7 +20996,7 @@ func (x *CMsgGCToClientPlayerBeaconState) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientPlayerBeaconState.ProtoReflect.Descriptor instead. func (*CMsgGCToClientPlayerBeaconState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{258} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{260} } func (x *CMsgGCToClientPlayerBeaconState) GetNumActiveBeacons() []int32 { @@ -20917,7 +21019,7 @@ type CMsgGCToClientPartyBeaconUpdate struct { func (x *CMsgGCToClientPartyBeaconUpdate) Reset() { *x = CMsgGCToClientPartyBeaconUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[259] + mi := &file_dota_gcmessages_client_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20930,7 +21032,7 @@ func (x *CMsgGCToClientPartyBeaconUpdate) String() string { func (*CMsgGCToClientPartyBeaconUpdate) ProtoMessage() {} func (x *CMsgGCToClientPartyBeaconUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[259] + mi := &file_dota_gcmessages_client_proto_msgTypes[261] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20943,7 +21045,7 @@ func (x *CMsgGCToClientPartyBeaconUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientPartyBeaconUpdate.ProtoReflect.Descriptor instead. func (*CMsgGCToClientPartyBeaconUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{259} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{261} } func (x *CMsgGCToClientPartyBeaconUpdate) GetBeaconAdded() bool { @@ -20978,7 +21080,7 @@ type CMsgClientToGCUpdatePartyBeacon struct { func (x *CMsgClientToGCUpdatePartyBeacon) Reset() { *x = CMsgClientToGCUpdatePartyBeacon{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[260] + mi := &file_dota_gcmessages_client_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20991,7 +21093,7 @@ func (x *CMsgClientToGCUpdatePartyBeacon) String() string { func (*CMsgClientToGCUpdatePartyBeacon) ProtoMessage() {} func (x *CMsgClientToGCUpdatePartyBeacon) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[260] + mi := &file_dota_gcmessages_client_proto_msgTypes[262] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21004,7 +21106,7 @@ func (x *CMsgClientToGCUpdatePartyBeacon) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCUpdatePartyBeacon.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUpdatePartyBeacon) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{260} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{262} } func (x *CMsgClientToGCUpdatePartyBeacon) GetAction() CMsgClientToGCUpdatePartyBeacon_Action { @@ -21023,7 +21125,7 @@ type CMsgClientToGCRequestActiveBeaconParties struct { func (x *CMsgClientToGCRequestActiveBeaconParties) Reset() { *x = CMsgClientToGCRequestActiveBeaconParties{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[261] + mi := &file_dota_gcmessages_client_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21036,7 +21138,7 @@ func (x *CMsgClientToGCRequestActiveBeaconParties) String() string { func (*CMsgClientToGCRequestActiveBeaconParties) ProtoMessage() {} func (x *CMsgClientToGCRequestActiveBeaconParties) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[261] + mi := &file_dota_gcmessages_client_proto_msgTypes[263] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21049,7 +21151,7 @@ func (x *CMsgClientToGCRequestActiveBeaconParties) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCRequestActiveBeaconParties.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestActiveBeaconParties) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{261} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{263} } type CMsgGCToClientRequestActiveBeaconPartiesResponse struct { @@ -21064,7 +21166,7 @@ type CMsgGCToClientRequestActiveBeaconPartiesResponse struct { func (x *CMsgGCToClientRequestActiveBeaconPartiesResponse) Reset() { *x = CMsgGCToClientRequestActiveBeaconPartiesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[262] + mi := &file_dota_gcmessages_client_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21077,7 +21179,7 @@ func (x *CMsgGCToClientRequestActiveBeaconPartiesResponse) String() string { func (*CMsgGCToClientRequestActiveBeaconPartiesResponse) ProtoMessage() {} func (x *CMsgGCToClientRequestActiveBeaconPartiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[262] + mi := &file_dota_gcmessages_client_proto_msgTypes[264] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21090,7 +21192,7 @@ func (x *CMsgGCToClientRequestActiveBeaconPartiesResponse) ProtoReflect() protor // Deprecated: Use CMsgGCToClientRequestActiveBeaconPartiesResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientRequestActiveBeaconPartiesResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{262} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{264} } func (x *CMsgGCToClientRequestActiveBeaconPartiesResponse) GetResponse() CMsgGCToClientRequestActiveBeaconPartiesResponse_EResponse { @@ -21120,7 +21222,7 @@ type CMsgClientToGCJoinPartyFromBeacon struct { func (x *CMsgClientToGCJoinPartyFromBeacon) Reset() { *x = CMsgClientToGCJoinPartyFromBeacon{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[263] + mi := &file_dota_gcmessages_client_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21133,7 +21235,7 @@ func (x *CMsgClientToGCJoinPartyFromBeacon) String() string { func (*CMsgClientToGCJoinPartyFromBeacon) ProtoMessage() {} func (x *CMsgClientToGCJoinPartyFromBeacon) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[263] + mi := &file_dota_gcmessages_client_proto_msgTypes[265] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21146,7 +21248,7 @@ func (x *CMsgClientToGCJoinPartyFromBeacon) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCJoinPartyFromBeacon.ProtoReflect.Descriptor instead. func (*CMsgClientToGCJoinPartyFromBeacon) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{263} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{265} } func (x *CMsgClientToGCJoinPartyFromBeacon) GetPartyId() uint64 { @@ -21181,7 +21283,7 @@ type CMsgGCToClientJoinPartyFromBeaconResponse struct { func (x *CMsgGCToClientJoinPartyFromBeaconResponse) Reset() { *x = CMsgGCToClientJoinPartyFromBeaconResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[264] + mi := &file_dota_gcmessages_client_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21194,7 +21296,7 @@ func (x *CMsgGCToClientJoinPartyFromBeaconResponse) String() string { func (*CMsgGCToClientJoinPartyFromBeaconResponse) ProtoMessage() {} func (x *CMsgGCToClientJoinPartyFromBeaconResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[264] + mi := &file_dota_gcmessages_client_proto_msgTypes[266] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21207,7 +21309,7 @@ func (x *CMsgGCToClientJoinPartyFromBeaconResponse) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCToClientJoinPartyFromBeaconResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientJoinPartyFromBeaconResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{264} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{266} } func (x *CMsgGCToClientJoinPartyFromBeaconResponse) GetResponse() CMsgGCToClientJoinPartyFromBeaconResponse_EResponse { @@ -21233,7 +21335,7 @@ type CMsgClientToGCManageFavorites struct { func (x *CMsgClientToGCManageFavorites) Reset() { *x = CMsgClientToGCManageFavorites{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[265] + mi := &file_dota_gcmessages_client_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21246,7 +21348,7 @@ func (x *CMsgClientToGCManageFavorites) String() string { func (*CMsgClientToGCManageFavorites) ProtoMessage() {} func (x *CMsgClientToGCManageFavorites) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[265] + mi := &file_dota_gcmessages_client_proto_msgTypes[267] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21259,7 +21361,7 @@ func (x *CMsgClientToGCManageFavorites) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCManageFavorites.ProtoReflect.Descriptor instead. func (*CMsgClientToGCManageFavorites) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{265} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{267} } func (x *CMsgClientToGCManageFavorites) GetAction() CMsgClientToGCManageFavorites_Action { @@ -21317,7 +21419,7 @@ type CMsgGCToClientManageFavoritesResponse struct { func (x *CMsgGCToClientManageFavoritesResponse) Reset() { *x = CMsgGCToClientManageFavoritesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[266] + mi := &file_dota_gcmessages_client_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21330,7 +21432,7 @@ func (x *CMsgGCToClientManageFavoritesResponse) String() string { func (*CMsgGCToClientManageFavoritesResponse) ProtoMessage() {} func (x *CMsgGCToClientManageFavoritesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[266] + mi := &file_dota_gcmessages_client_proto_msgTypes[268] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21343,7 +21445,7 @@ func (x *CMsgGCToClientManageFavoritesResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCToClientManageFavoritesResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientManageFavoritesResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{266} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{268} } func (x *CMsgGCToClientManageFavoritesResponse) GetResponse() CMsgGCToClientManageFavoritesResponse_EResponse { @@ -21379,7 +21481,7 @@ type CMsgClientToGCGetFavoritePlayers struct { func (x *CMsgClientToGCGetFavoritePlayers) Reset() { *x = CMsgClientToGCGetFavoritePlayers{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[267] + mi := &file_dota_gcmessages_client_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21392,7 +21494,7 @@ func (x *CMsgClientToGCGetFavoritePlayers) String() string { func (*CMsgClientToGCGetFavoritePlayers) ProtoMessage() {} func (x *CMsgClientToGCGetFavoritePlayers) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[267] + mi := &file_dota_gcmessages_client_proto_msgTypes[269] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21405,7 +21507,7 @@ func (x *CMsgClientToGCGetFavoritePlayers) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetFavoritePlayers.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetFavoritePlayers) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{267} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{269} } func (x *CMsgClientToGCGetFavoritePlayers) GetPaginationKey() uint64 { @@ -21435,7 +21537,7 @@ type CMsgGCToClientGetFavoritePlayersResponse struct { func (x *CMsgGCToClientGetFavoritePlayersResponse) Reset() { *x = CMsgGCToClientGetFavoritePlayersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[268] + mi := &file_dota_gcmessages_client_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21448,7 +21550,7 @@ func (x *CMsgGCToClientGetFavoritePlayersResponse) String() string { func (*CMsgGCToClientGetFavoritePlayersResponse) ProtoMessage() {} func (x *CMsgGCToClientGetFavoritePlayersResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[268] + mi := &file_dota_gcmessages_client_proto_msgTypes[270] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21461,7 +21563,7 @@ func (x *CMsgGCToClientGetFavoritePlayersResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCToClientGetFavoritePlayersResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientGetFavoritePlayersResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{268} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{270} } func (x *CMsgGCToClientGetFavoritePlayersResponse) GetResponse() CMsgGCToClientGetFavoritePlayersResponse_EResponse { @@ -21496,7 +21598,7 @@ type CMsgGCToClientPartySearchInvite struct { func (x *CMsgGCToClientPartySearchInvite) Reset() { *x = CMsgGCToClientPartySearchInvite{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[269] + mi := &file_dota_gcmessages_client_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21509,7 +21611,7 @@ func (x *CMsgGCToClientPartySearchInvite) String() string { func (*CMsgGCToClientPartySearchInvite) ProtoMessage() {} func (x *CMsgGCToClientPartySearchInvite) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[269] + mi := &file_dota_gcmessages_client_proto_msgTypes[271] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21522,7 +21624,7 @@ func (x *CMsgGCToClientPartySearchInvite) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientPartySearchInvite.ProtoReflect.Descriptor instead. func (*CMsgGCToClientPartySearchInvite) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{269} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{271} } func (x *CMsgGCToClientPartySearchInvite) GetAccountId() uint32 { @@ -21543,7 +21645,7 @@ type CMsgClientToGCVerifyFavoritePlayers struct { func (x *CMsgClientToGCVerifyFavoritePlayers) Reset() { *x = CMsgClientToGCVerifyFavoritePlayers{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[270] + mi := &file_dota_gcmessages_client_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21556,7 +21658,7 @@ func (x *CMsgClientToGCVerifyFavoritePlayers) String() string { func (*CMsgClientToGCVerifyFavoritePlayers) ProtoMessage() {} func (x *CMsgClientToGCVerifyFavoritePlayers) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[270] + mi := &file_dota_gcmessages_client_proto_msgTypes[272] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21569,7 +21671,7 @@ func (x *CMsgClientToGCVerifyFavoritePlayers) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCVerifyFavoritePlayers.ProtoReflect.Descriptor instead. func (*CMsgClientToGCVerifyFavoritePlayers) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{270} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{272} } func (x *CMsgClientToGCVerifyFavoritePlayers) GetAccountIds() []uint32 { @@ -21590,7 +21692,7 @@ type CMsgGCToClientVerifyFavoritePlayersResponse struct { func (x *CMsgGCToClientVerifyFavoritePlayersResponse) Reset() { *x = CMsgGCToClientVerifyFavoritePlayersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[271] + mi := &file_dota_gcmessages_client_proto_msgTypes[273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21603,7 +21705,7 @@ func (x *CMsgGCToClientVerifyFavoritePlayersResponse) String() string { func (*CMsgGCToClientVerifyFavoritePlayersResponse) ProtoMessage() {} func (x *CMsgGCToClientVerifyFavoritePlayersResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[271] + mi := &file_dota_gcmessages_client_proto_msgTypes[273] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21616,7 +21718,7 @@ func (x *CMsgGCToClientVerifyFavoritePlayersResponse) ProtoReflect() protoreflec // Deprecated: Use CMsgGCToClientVerifyFavoritePlayersResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientVerifyFavoritePlayersResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{271} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{273} } func (x *CMsgGCToClientVerifyFavoritePlayersResponse) GetResults() []*CMsgGCToClientVerifyFavoritePlayersResponse_Result { @@ -21637,7 +21739,7 @@ type CMsgClientToGCRequestPlayerRecentAccomplishments struct { func (x *CMsgClientToGCRequestPlayerRecentAccomplishments) Reset() { *x = CMsgClientToGCRequestPlayerRecentAccomplishments{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[272] + mi := &file_dota_gcmessages_client_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21650,7 +21752,7 @@ func (x *CMsgClientToGCRequestPlayerRecentAccomplishments) String() string { func (*CMsgClientToGCRequestPlayerRecentAccomplishments) ProtoMessage() {} func (x *CMsgClientToGCRequestPlayerRecentAccomplishments) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[272] + mi := &file_dota_gcmessages_client_proto_msgTypes[274] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21663,7 +21765,7 @@ func (x *CMsgClientToGCRequestPlayerRecentAccomplishments) ProtoReflect() protor // Deprecated: Use CMsgClientToGCRequestPlayerRecentAccomplishments.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestPlayerRecentAccomplishments) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{272} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{274} } func (x *CMsgClientToGCRequestPlayerRecentAccomplishments) GetAccountId() uint32 { @@ -21685,7 +21787,7 @@ type CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse struct { func (x *CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse) Reset() { *x = CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[273] + mi := &file_dota_gcmessages_client_proto_msgTypes[275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21698,7 +21800,7 @@ func (x *CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse) String() stri func (*CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse) ProtoMessage() {} func (x *CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[273] + mi := &file_dota_gcmessages_client_proto_msgTypes[275] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21711,7 +21813,7 @@ func (x *CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse) ProtoReflect( // Deprecated: Use CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{273} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{275} } func (x *CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse) GetResult() CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse_EResponse { @@ -21740,7 +21842,7 @@ type CMsgClientToGCRequestPlayerHeroRecentAccomplishments struct { func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishments) Reset() { *x = CMsgClientToGCRequestPlayerHeroRecentAccomplishments{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[274] + mi := &file_dota_gcmessages_client_proto_msgTypes[276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21753,7 +21855,7 @@ func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishments) String() string { func (*CMsgClientToGCRequestPlayerHeroRecentAccomplishments) ProtoMessage() {} func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishments) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[274] + mi := &file_dota_gcmessages_client_proto_msgTypes[276] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21766,7 +21868,7 @@ func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishments) ProtoReflect() pr // Deprecated: Use CMsgClientToGCRequestPlayerHeroRecentAccomplishments.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestPlayerHeroRecentAccomplishments) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{274} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{276} } func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishments) GetAccountId() uint32 { @@ -21795,7 +21897,7 @@ type CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse struct { func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse) Reset() { *x = CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[275] + mi := &file_dota_gcmessages_client_proto_msgTypes[277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21808,7 +21910,7 @@ func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse) String() func (*CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse) ProtoMessage() {} func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[275] + mi := &file_dota_gcmessages_client_proto_msgTypes[277] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21821,7 +21923,7 @@ func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse) ProtoRefl // Deprecated: Use CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{275} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{277} } func (x *CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse) GetResult() CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse_EResponse { @@ -21851,7 +21953,7 @@ type CMsgClientToGCSubmitPlayerMatchSurvey struct { func (x *CMsgClientToGCSubmitPlayerMatchSurvey) Reset() { *x = CMsgClientToGCSubmitPlayerMatchSurvey{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[276] + mi := &file_dota_gcmessages_client_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21864,7 +21966,7 @@ func (x *CMsgClientToGCSubmitPlayerMatchSurvey) String() string { func (*CMsgClientToGCSubmitPlayerMatchSurvey) ProtoMessage() {} func (x *CMsgClientToGCSubmitPlayerMatchSurvey) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[276] + mi := &file_dota_gcmessages_client_proto_msgTypes[278] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21877,7 +21979,7 @@ func (x *CMsgClientToGCSubmitPlayerMatchSurvey) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCSubmitPlayerMatchSurvey.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSubmitPlayerMatchSurvey) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{276} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{278} } func (x *CMsgClientToGCSubmitPlayerMatchSurvey) GetMatchId() uint64 { @@ -21913,7 +22015,7 @@ type CMsgClientToGCSubmitPlayerMatchSurveyResponse struct { func (x *CMsgClientToGCSubmitPlayerMatchSurveyResponse) Reset() { *x = CMsgClientToGCSubmitPlayerMatchSurveyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[277] + mi := &file_dota_gcmessages_client_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21926,7 +22028,7 @@ func (x *CMsgClientToGCSubmitPlayerMatchSurveyResponse) String() string { func (*CMsgClientToGCSubmitPlayerMatchSurveyResponse) ProtoMessage() {} func (x *CMsgClientToGCSubmitPlayerMatchSurveyResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[277] + mi := &file_dota_gcmessages_client_proto_msgTypes[279] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21939,7 +22041,7 @@ func (x *CMsgClientToGCSubmitPlayerMatchSurveyResponse) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCSubmitPlayerMatchSurveyResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSubmitPlayerMatchSurveyResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{277} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{279} } func (x *CMsgClientToGCSubmitPlayerMatchSurveyResponse) GetEresult() CMsgClientToGCSubmitPlayerMatchSurveyResponse_EResponse { @@ -21965,7 +22067,7 @@ type CMsgGCToClientVACReminder struct { func (x *CMsgGCToClientVACReminder) Reset() { *x = CMsgGCToClientVACReminder{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[278] + mi := &file_dota_gcmessages_client_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21978,7 +22080,7 @@ func (x *CMsgGCToClientVACReminder) String() string { func (*CMsgGCToClientVACReminder) ProtoMessage() {} func (x *CMsgGCToClientVACReminder) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[278] + mi := &file_dota_gcmessages_client_proto_msgTypes[280] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21991,7 +22093,7 @@ func (x *CMsgGCToClientVACReminder) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientVACReminder.ProtoReflect.Descriptor instead. func (*CMsgGCToClientVACReminder) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{278} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{280} } type CMsgClientToGCUnderDraftRequest struct { @@ -22006,7 +22108,7 @@ type CMsgClientToGCUnderDraftRequest struct { func (x *CMsgClientToGCUnderDraftRequest) Reset() { *x = CMsgClientToGCUnderDraftRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[279] + mi := &file_dota_gcmessages_client_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22019,7 +22121,7 @@ func (x *CMsgClientToGCUnderDraftRequest) String() string { func (*CMsgClientToGCUnderDraftRequest) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[279] + mi := &file_dota_gcmessages_client_proto_msgTypes[281] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22032,7 +22134,7 @@ func (x *CMsgClientToGCUnderDraftRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCUnderDraftRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{279} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{281} } func (x *CMsgClientToGCUnderDraftRequest) GetAccountId() uint32 { @@ -22063,7 +22165,7 @@ type CMsgClientToGCUnderDraftResponse struct { func (x *CMsgClientToGCUnderDraftResponse) Reset() { *x = CMsgClientToGCUnderDraftResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[280] + mi := &file_dota_gcmessages_client_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22076,7 +22178,7 @@ func (x *CMsgClientToGCUnderDraftResponse) String() string { func (*CMsgClientToGCUnderDraftResponse) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[280] + mi := &file_dota_gcmessages_client_proto_msgTypes[282] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22089,7 +22191,7 @@ func (x *CMsgClientToGCUnderDraftResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCUnderDraftResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{280} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{282} } func (x *CMsgClientToGCUnderDraftResponse) GetResult() EUnderDraftResponse { @@ -22131,7 +22233,7 @@ type CMsgClientToGCUnderDraftReroll struct { func (x *CMsgClientToGCUnderDraftReroll) Reset() { *x = CMsgClientToGCUnderDraftReroll{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[281] + mi := &file_dota_gcmessages_client_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22144,7 +22246,7 @@ func (x *CMsgClientToGCUnderDraftReroll) String() string { func (*CMsgClientToGCUnderDraftReroll) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftReroll) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[281] + mi := &file_dota_gcmessages_client_proto_msgTypes[283] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22157,7 +22259,7 @@ func (x *CMsgClientToGCUnderDraftReroll) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCUnderDraftReroll.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftReroll) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{281} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{283} } func (x *CMsgClientToGCUnderDraftReroll) GetEventId() uint32 { @@ -22180,7 +22282,7 @@ type CMsgClientToGCUnderDraftRerollResponse struct { func (x *CMsgClientToGCUnderDraftRerollResponse) Reset() { *x = CMsgClientToGCUnderDraftRerollResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[282] + mi := &file_dota_gcmessages_client_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22193,7 +22295,7 @@ func (x *CMsgClientToGCUnderDraftRerollResponse) String() string { func (*CMsgClientToGCUnderDraftRerollResponse) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftRerollResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[282] + mi := &file_dota_gcmessages_client_proto_msgTypes[284] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22206,7 +22308,7 @@ func (x *CMsgClientToGCUnderDraftRerollResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCUnderDraftRerollResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftRerollResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{282} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{284} } func (x *CMsgClientToGCUnderDraftRerollResponse) GetResult() EUnderDraftResponse { @@ -22242,7 +22344,7 @@ type CMsgClientToGCUnderDraftBuy struct { func (x *CMsgClientToGCUnderDraftBuy) Reset() { *x = CMsgClientToGCUnderDraftBuy{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[283] + mi := &file_dota_gcmessages_client_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22255,7 +22357,7 @@ func (x *CMsgClientToGCUnderDraftBuy) String() string { func (*CMsgClientToGCUnderDraftBuy) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftBuy) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[283] + mi := &file_dota_gcmessages_client_proto_msgTypes[285] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22268,7 +22370,7 @@ func (x *CMsgClientToGCUnderDraftBuy) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCUnderDraftBuy.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftBuy) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{283} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{285} } func (x *CMsgClientToGCUnderDraftBuy) GetEventId() uint32 { @@ -22296,7 +22398,7 @@ type CMsgGCToClientGuildUnderDraftGoldUpdated struct { func (x *CMsgGCToClientGuildUnderDraftGoldUpdated) Reset() { *x = CMsgGCToClientGuildUnderDraftGoldUpdated{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[284] + mi := &file_dota_gcmessages_client_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22309,7 +22411,7 @@ func (x *CMsgGCToClientGuildUnderDraftGoldUpdated) String() string { func (*CMsgGCToClientGuildUnderDraftGoldUpdated) ProtoMessage() {} func (x *CMsgGCToClientGuildUnderDraftGoldUpdated) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[284] + mi := &file_dota_gcmessages_client_proto_msgTypes[286] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22322,7 +22424,7 @@ func (x *CMsgGCToClientGuildUnderDraftGoldUpdated) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCToClientGuildUnderDraftGoldUpdated.ProtoReflect.Descriptor instead. func (*CMsgGCToClientGuildUnderDraftGoldUpdated) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{284} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{286} } func (x *CMsgGCToClientGuildUnderDraftGoldUpdated) GetEventId() uint32 { @@ -22346,7 +22448,7 @@ type CMsgClientToGCUnderDraftBuyResponse struct { func (x *CMsgClientToGCUnderDraftBuyResponse) Reset() { *x = CMsgClientToGCUnderDraftBuyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[285] + mi := &file_dota_gcmessages_client_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22359,7 +22461,7 @@ func (x *CMsgClientToGCUnderDraftBuyResponse) String() string { func (*CMsgClientToGCUnderDraftBuyResponse) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftBuyResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[285] + mi := &file_dota_gcmessages_client_proto_msgTypes[287] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22372,7 +22474,7 @@ func (x *CMsgClientToGCUnderDraftBuyResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCUnderDraftBuyResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftBuyResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{285} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{287} } func (x *CMsgClientToGCUnderDraftBuyResponse) GetResult() EUnderDraftResponse { @@ -22414,7 +22516,7 @@ type CMsgClientToGCUnderDraftRollBackBench struct { func (x *CMsgClientToGCUnderDraftRollBackBench) Reset() { *x = CMsgClientToGCUnderDraftRollBackBench{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[286] + mi := &file_dota_gcmessages_client_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22427,7 +22529,7 @@ func (x *CMsgClientToGCUnderDraftRollBackBench) String() string { func (*CMsgClientToGCUnderDraftRollBackBench) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftRollBackBench) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[286] + mi := &file_dota_gcmessages_client_proto_msgTypes[288] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22440,7 +22542,7 @@ func (x *CMsgClientToGCUnderDraftRollBackBench) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCUnderDraftRollBackBench.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftRollBackBench) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{286} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{288} } func (x *CMsgClientToGCUnderDraftRollBackBench) GetEventId() uint32 { @@ -22463,7 +22565,7 @@ type CMsgClientToGCUnderDraftRollBackBenchResponse struct { func (x *CMsgClientToGCUnderDraftRollBackBenchResponse) Reset() { *x = CMsgClientToGCUnderDraftRollBackBenchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[287] + mi := &file_dota_gcmessages_client_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22476,7 +22578,7 @@ func (x *CMsgClientToGCUnderDraftRollBackBenchResponse) String() string { func (*CMsgClientToGCUnderDraftRollBackBenchResponse) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftRollBackBenchResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[287] + mi := &file_dota_gcmessages_client_proto_msgTypes[289] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22489,7 +22591,7 @@ func (x *CMsgClientToGCUnderDraftRollBackBenchResponse) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCUnderDraftRollBackBenchResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftRollBackBenchResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{287} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{289} } func (x *CMsgClientToGCUnderDraftRollBackBenchResponse) GetResult() EUnderDraftResponse { @@ -22525,7 +22627,7 @@ type CMsgClientToGCUnderDraftSell struct { func (x *CMsgClientToGCUnderDraftSell) Reset() { *x = CMsgClientToGCUnderDraftSell{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[288] + mi := &file_dota_gcmessages_client_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22538,7 +22640,7 @@ func (x *CMsgClientToGCUnderDraftSell) String() string { func (*CMsgClientToGCUnderDraftSell) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftSell) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[288] + mi := &file_dota_gcmessages_client_proto_msgTypes[290] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22551,7 +22653,7 @@ func (x *CMsgClientToGCUnderDraftSell) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCUnderDraftSell.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftSell) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{288} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{290} } func (x *CMsgClientToGCUnderDraftSell) GetEventId() uint32 { @@ -22582,7 +22684,7 @@ type CMsgClientToGCUnderDraftSellResponse struct { func (x *CMsgClientToGCUnderDraftSellResponse) Reset() { *x = CMsgClientToGCUnderDraftSellResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[289] + mi := &file_dota_gcmessages_client_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22595,7 +22697,7 @@ func (x *CMsgClientToGCUnderDraftSellResponse) String() string { func (*CMsgClientToGCUnderDraftSellResponse) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftSellResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[289] + mi := &file_dota_gcmessages_client_proto_msgTypes[291] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22608,7 +22710,7 @@ func (x *CMsgClientToGCUnderDraftSellResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCUnderDraftSellResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftSellResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{289} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{291} } func (x *CMsgClientToGCUnderDraftSellResponse) GetResult() EUnderDraftResponse { @@ -22651,7 +22753,7 @@ type CMsgClientToGCUnderDraftRedeemReward struct { func (x *CMsgClientToGCUnderDraftRedeemReward) Reset() { *x = CMsgClientToGCUnderDraftRedeemReward{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[290] + mi := &file_dota_gcmessages_client_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22664,7 +22766,7 @@ func (x *CMsgClientToGCUnderDraftRedeemReward) String() string { func (*CMsgClientToGCUnderDraftRedeemReward) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftRedeemReward) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[290] + mi := &file_dota_gcmessages_client_proto_msgTypes[292] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22677,7 +22779,7 @@ func (x *CMsgClientToGCUnderDraftRedeemReward) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCUnderDraftRedeemReward.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftRedeemReward) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{290} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{292} } func (x *CMsgClientToGCUnderDraftRedeemReward) GetEventId() uint32 { @@ -22705,7 +22807,7 @@ type CMsgClientToGCUnderDraftRedeemRewardResponse struct { func (x *CMsgClientToGCUnderDraftRedeemRewardResponse) Reset() { *x = CMsgClientToGCUnderDraftRedeemRewardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[291] + mi := &file_dota_gcmessages_client_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22718,7 +22820,7 @@ func (x *CMsgClientToGCUnderDraftRedeemRewardResponse) String() string { func (*CMsgClientToGCUnderDraftRedeemRewardResponse) ProtoMessage() {} func (x *CMsgClientToGCUnderDraftRedeemRewardResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[291] + mi := &file_dota_gcmessages_client_proto_msgTypes[293] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22731,7 +22833,7 @@ func (x *CMsgClientToGCUnderDraftRedeemRewardResponse) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCUnderDraftRedeemRewardResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUnderDraftRedeemRewardResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{291} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{293} } func (x *CMsgClientToGCUnderDraftRedeemRewardResponse) GetResult() EUnderDraftResponse { @@ -22754,7 +22856,7 @@ type CMsgClientToGCSubmitDraftTriviaMatchAnswer struct { func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswer) Reset() { *x = CMsgClientToGCSubmitDraftTriviaMatchAnswer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[292] + mi := &file_dota_gcmessages_client_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22767,7 +22869,7 @@ func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswer) String() string { func (*CMsgClientToGCSubmitDraftTriviaMatchAnswer) ProtoMessage() {} func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[292] + mi := &file_dota_gcmessages_client_proto_msgTypes[294] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22780,7 +22882,7 @@ func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswer) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCSubmitDraftTriviaMatchAnswer.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSubmitDraftTriviaMatchAnswer) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{292} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{294} } func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswer) GetChoseRadiantAsWinner() bool { @@ -22815,7 +22917,7 @@ type CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse struct { func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse) Reset() { *x = CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[293] + mi := &file_dota_gcmessages_client_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22828,7 +22930,7 @@ func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse) String() string { func (*CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse) ProtoMessage() {} func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[293] + mi := &file_dota_gcmessages_client_proto_msgTypes[295] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22841,7 +22943,7 @@ func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse) ProtoReflect() prot // Deprecated: Use CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{293} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{295} } func (x *CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse) GetResult() EDOTADraftTriviaAnswerResult { @@ -22864,7 +22966,7 @@ type CMsgDraftTriviaVoteCount struct { func (x *CMsgDraftTriviaVoteCount) Reset() { *x = CMsgDraftTriviaVoteCount{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[294] + mi := &file_dota_gcmessages_client_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22877,7 +22979,7 @@ func (x *CMsgDraftTriviaVoteCount) String() string { func (*CMsgDraftTriviaVoteCount) ProtoMessage() {} func (x *CMsgDraftTriviaVoteCount) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[294] + mi := &file_dota_gcmessages_client_proto_msgTypes[296] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22890,7 +22992,7 @@ func (x *CMsgDraftTriviaVoteCount) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDraftTriviaVoteCount.ProtoReflect.Descriptor instead. func (*CMsgDraftTriviaVoteCount) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{294} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{296} } func (x *CMsgDraftTriviaVoteCount) GetTotalVotes() uint32 { @@ -22923,7 +23025,7 @@ type CMsgClientToGCRequestReporterUpdates struct { func (x *CMsgClientToGCRequestReporterUpdates) Reset() { *x = CMsgClientToGCRequestReporterUpdates{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[295] + mi := &file_dota_gcmessages_client_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22936,7 +23038,7 @@ func (x *CMsgClientToGCRequestReporterUpdates) String() string { func (*CMsgClientToGCRequestReporterUpdates) ProtoMessage() {} func (x *CMsgClientToGCRequestReporterUpdates) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[295] + mi := &file_dota_gcmessages_client_proto_msgTypes[297] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22949,7 +23051,7 @@ func (x *CMsgClientToGCRequestReporterUpdates) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCRequestReporterUpdates.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestReporterUpdates) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{295} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{297} } type CMsgClientToGCRequestReporterUpdatesResponse struct { @@ -22966,7 +23068,7 @@ type CMsgClientToGCRequestReporterUpdatesResponse struct { func (x *CMsgClientToGCRequestReporterUpdatesResponse) Reset() { *x = CMsgClientToGCRequestReporterUpdatesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[296] + mi := &file_dota_gcmessages_client_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22979,7 +23081,7 @@ func (x *CMsgClientToGCRequestReporterUpdatesResponse) String() string { func (*CMsgClientToGCRequestReporterUpdatesResponse) ProtoMessage() {} func (x *CMsgClientToGCRequestReporterUpdatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[296] + mi := &file_dota_gcmessages_client_proto_msgTypes[298] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22992,7 +23094,7 @@ func (x *CMsgClientToGCRequestReporterUpdatesResponse) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCRequestReporterUpdatesResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestReporterUpdatesResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{296} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{298} } func (x *CMsgClientToGCRequestReporterUpdatesResponse) GetEnumResult() CMsgClientToGCRequestReporterUpdatesResponse_EResponse { @@ -23034,7 +23136,7 @@ type CMsgClientToGCAcknowledgeReporterUpdates struct { func (x *CMsgClientToGCAcknowledgeReporterUpdates) Reset() { *x = CMsgClientToGCAcknowledgeReporterUpdates{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[297] + mi := &file_dota_gcmessages_client_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23047,7 +23149,7 @@ func (x *CMsgClientToGCAcknowledgeReporterUpdates) String() string { func (*CMsgClientToGCAcknowledgeReporterUpdates) ProtoMessage() {} func (x *CMsgClientToGCAcknowledgeReporterUpdates) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[297] + mi := &file_dota_gcmessages_client_proto_msgTypes[299] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23060,7 +23162,7 @@ func (x *CMsgClientToGCAcknowledgeReporterUpdates) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCAcknowledgeReporterUpdates.ProtoReflect.Descriptor instead. func (*CMsgClientToGCAcknowledgeReporterUpdates) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{297} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{299} } func (x *CMsgClientToGCAcknowledgeReporterUpdates) GetMatchIds() []uint64 { @@ -23079,7 +23181,7 @@ type CMsgClientToGCRecalibrateMMR struct { func (x *CMsgClientToGCRecalibrateMMR) Reset() { *x = CMsgClientToGCRecalibrateMMR{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[298] + mi := &file_dota_gcmessages_client_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23092,7 +23194,7 @@ func (x *CMsgClientToGCRecalibrateMMR) String() string { func (*CMsgClientToGCRecalibrateMMR) ProtoMessage() {} func (x *CMsgClientToGCRecalibrateMMR) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[298] + mi := &file_dota_gcmessages_client_proto_msgTypes[300] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23105,7 +23207,7 @@ func (x *CMsgClientToGCRecalibrateMMR) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCRecalibrateMMR.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRecalibrateMMR) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{298} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{300} } type CMsgClientToGCRecalibrateMMRResponse struct { @@ -23119,7 +23221,7 @@ type CMsgClientToGCRecalibrateMMRResponse struct { func (x *CMsgClientToGCRecalibrateMMRResponse) Reset() { *x = CMsgClientToGCRecalibrateMMRResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[299] + mi := &file_dota_gcmessages_client_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23132,7 +23234,7 @@ func (x *CMsgClientToGCRecalibrateMMRResponse) String() string { func (*CMsgClientToGCRecalibrateMMRResponse) ProtoMessage() {} func (x *CMsgClientToGCRecalibrateMMRResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[299] + mi := &file_dota_gcmessages_client_proto_msgTypes[301] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23145,7 +23247,7 @@ func (x *CMsgClientToGCRecalibrateMMRResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCRecalibrateMMRResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRecalibrateMMRResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{299} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{301} } func (x *CMsgClientToGCRecalibrateMMRResponse) GetResult() CMsgClientToGCRecalibrateMMRResponse_EResponse { @@ -23168,7 +23270,7 @@ type CMsgDOTAPostGameItemAwardNotification struct { func (x *CMsgDOTAPostGameItemAwardNotification) Reset() { *x = CMsgDOTAPostGameItemAwardNotification{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[300] + mi := &file_dota_gcmessages_client_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23181,7 +23283,7 @@ func (x *CMsgDOTAPostGameItemAwardNotification) String() string { func (*CMsgDOTAPostGameItemAwardNotification) ProtoMessage() {} func (x *CMsgDOTAPostGameItemAwardNotification) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[300] + mi := &file_dota_gcmessages_client_proto_msgTypes[302] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23194,7 +23296,7 @@ func (x *CMsgDOTAPostGameItemAwardNotification) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgDOTAPostGameItemAwardNotification.ProtoReflect.Descriptor instead. func (*CMsgDOTAPostGameItemAwardNotification) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{300} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{302} } func (x *CMsgDOTAPostGameItemAwardNotification) GetReceiverAccountId() uint32 { @@ -23227,7 +23329,7 @@ type CMsgClientToGCGetOWMatchDetails struct { func (x *CMsgClientToGCGetOWMatchDetails) Reset() { *x = CMsgClientToGCGetOWMatchDetails{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[301] + mi := &file_dota_gcmessages_client_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23240,7 +23342,7 @@ func (x *CMsgClientToGCGetOWMatchDetails) String() string { func (*CMsgClientToGCGetOWMatchDetails) ProtoMessage() {} func (x *CMsgClientToGCGetOWMatchDetails) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[301] + mi := &file_dota_gcmessages_client_proto_msgTypes[303] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23253,7 +23355,7 @@ func (x *CMsgClientToGCGetOWMatchDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetOWMatchDetails.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetOWMatchDetails) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{301} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{303} } type CMsgClientToGCGetOWMatchDetailsResponse struct { @@ -23277,7 +23379,7 @@ type CMsgClientToGCGetOWMatchDetailsResponse struct { func (x *CMsgClientToGCGetOWMatchDetailsResponse) Reset() { *x = CMsgClientToGCGetOWMatchDetailsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[302] + mi := &file_dota_gcmessages_client_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23290,7 +23392,7 @@ func (x *CMsgClientToGCGetOWMatchDetailsResponse) String() string { func (*CMsgClientToGCGetOWMatchDetailsResponse) ProtoMessage() {} func (x *CMsgClientToGCGetOWMatchDetailsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[302] + mi := &file_dota_gcmessages_client_proto_msgTypes[304] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23303,7 +23405,7 @@ func (x *CMsgClientToGCGetOWMatchDetailsResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgClientToGCGetOWMatchDetailsResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetOWMatchDetailsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{302} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{304} } func (x *CMsgClientToGCGetOWMatchDetailsResponse) GetResult() CMsgClientToGCGetOWMatchDetailsResponse_EResponse { @@ -23397,7 +23499,7 @@ type CMsgClientToGCSubmitOWConviction struct { func (x *CMsgClientToGCSubmitOWConviction) Reset() { *x = CMsgClientToGCSubmitOWConviction{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[303] + mi := &file_dota_gcmessages_client_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23410,7 +23512,7 @@ func (x *CMsgClientToGCSubmitOWConviction) String() string { func (*CMsgClientToGCSubmitOWConviction) ProtoMessage() {} func (x *CMsgClientToGCSubmitOWConviction) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[303] + mi := &file_dota_gcmessages_client_proto_msgTypes[305] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23423,7 +23525,7 @@ func (x *CMsgClientToGCSubmitOWConviction) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCSubmitOWConviction.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSubmitOWConviction) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{303} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{305} } func (x *CMsgClientToGCSubmitOWConviction) GetOverwatchReplayId() uint64 { @@ -23466,7 +23568,7 @@ type CMsgClientToGCSubmitOWConvictionResponse struct { func (x *CMsgClientToGCSubmitOWConvictionResponse) Reset() { *x = CMsgClientToGCSubmitOWConvictionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[304] + mi := &file_dota_gcmessages_client_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23479,7 +23581,7 @@ func (x *CMsgClientToGCSubmitOWConvictionResponse) String() string { func (*CMsgClientToGCSubmitOWConvictionResponse) ProtoMessage() {} func (x *CMsgClientToGCSubmitOWConvictionResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[304] + mi := &file_dota_gcmessages_client_proto_msgTypes[306] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23492,7 +23594,7 @@ func (x *CMsgClientToGCSubmitOWConvictionResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCSubmitOWConvictionResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSubmitOWConvictionResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{304} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{306} } func (x *CMsgClientToGCSubmitOWConvictionResponse) GetResult() CMsgClientToGCSubmitOWConvictionResponse_EResponse { @@ -23518,7 +23620,7 @@ type CMsgClientToGCChinaSSAURLRequest struct { func (x *CMsgClientToGCChinaSSAURLRequest) Reset() { *x = CMsgClientToGCChinaSSAURLRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[305] + mi := &file_dota_gcmessages_client_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23531,7 +23633,7 @@ func (x *CMsgClientToGCChinaSSAURLRequest) String() string { func (*CMsgClientToGCChinaSSAURLRequest) ProtoMessage() {} func (x *CMsgClientToGCChinaSSAURLRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[305] + mi := &file_dota_gcmessages_client_proto_msgTypes[307] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23544,7 +23646,7 @@ func (x *CMsgClientToGCChinaSSAURLRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCChinaSSAURLRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCChinaSSAURLRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{305} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{307} } type CMsgClientToGCChinaSSAURLResponse struct { @@ -23558,7 +23660,7 @@ type CMsgClientToGCChinaSSAURLResponse struct { func (x *CMsgClientToGCChinaSSAURLResponse) Reset() { *x = CMsgClientToGCChinaSSAURLResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[306] + mi := &file_dota_gcmessages_client_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23571,7 +23673,7 @@ func (x *CMsgClientToGCChinaSSAURLResponse) String() string { func (*CMsgClientToGCChinaSSAURLResponse) ProtoMessage() {} func (x *CMsgClientToGCChinaSSAURLResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[306] + mi := &file_dota_gcmessages_client_proto_msgTypes[308] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23584,7 +23686,7 @@ func (x *CMsgClientToGCChinaSSAURLResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCChinaSSAURLResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCChinaSSAURLResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{306} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{308} } func (x *CMsgClientToGCChinaSSAURLResponse) GetAgreementUrl() string { @@ -23603,7 +23705,7 @@ type CMsgClientToGCChinaSSAAcceptedRequest struct { func (x *CMsgClientToGCChinaSSAAcceptedRequest) Reset() { *x = CMsgClientToGCChinaSSAAcceptedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[307] + mi := &file_dota_gcmessages_client_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23616,7 +23718,7 @@ func (x *CMsgClientToGCChinaSSAAcceptedRequest) String() string { func (*CMsgClientToGCChinaSSAAcceptedRequest) ProtoMessage() {} func (x *CMsgClientToGCChinaSSAAcceptedRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[307] + mi := &file_dota_gcmessages_client_proto_msgTypes[309] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23629,7 +23731,7 @@ func (x *CMsgClientToGCChinaSSAAcceptedRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCChinaSSAAcceptedRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCChinaSSAAcceptedRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{307} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{309} } type CMsgClientToGCChinaSSAAcceptedResponse struct { @@ -23643,7 +23745,7 @@ type CMsgClientToGCChinaSSAAcceptedResponse struct { func (x *CMsgClientToGCChinaSSAAcceptedResponse) Reset() { *x = CMsgClientToGCChinaSSAAcceptedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[308] + mi := &file_dota_gcmessages_client_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23656,7 +23758,7 @@ func (x *CMsgClientToGCChinaSSAAcceptedResponse) String() string { func (*CMsgClientToGCChinaSSAAcceptedResponse) ProtoMessage() {} func (x *CMsgClientToGCChinaSSAAcceptedResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[308] + mi := &file_dota_gcmessages_client_proto_msgTypes[310] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23669,7 +23771,7 @@ func (x *CMsgClientToGCChinaSSAAcceptedResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCChinaSSAAcceptedResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCChinaSSAAcceptedResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{308} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{310} } func (x *CMsgClientToGCChinaSSAAcceptedResponse) GetAgreementAccepted() bool { @@ -23690,7 +23792,7 @@ type CMsgGCToClientOverwatchCasesAvailable struct { func (x *CMsgGCToClientOverwatchCasesAvailable) Reset() { *x = CMsgGCToClientOverwatchCasesAvailable{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[309] + mi := &file_dota_gcmessages_client_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23703,7 +23805,7 @@ func (x *CMsgGCToClientOverwatchCasesAvailable) String() string { func (*CMsgGCToClientOverwatchCasesAvailable) ProtoMessage() {} func (x *CMsgGCToClientOverwatchCasesAvailable) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[309] + mi := &file_dota_gcmessages_client_proto_msgTypes[311] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23716,7 +23818,7 @@ func (x *CMsgGCToClientOverwatchCasesAvailable) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCToClientOverwatchCasesAvailable.ProtoReflect.Descriptor instead. func (*CMsgGCToClientOverwatchCasesAvailable) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{309} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{311} } func (x *CMsgGCToClientOverwatchCasesAvailable) GetExpireTime() uint32 { @@ -23738,7 +23840,7 @@ type CMsgClientToGCStartWatchingOverwatch struct { func (x *CMsgClientToGCStartWatchingOverwatch) Reset() { *x = CMsgClientToGCStartWatchingOverwatch{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[310] + mi := &file_dota_gcmessages_client_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23751,7 +23853,7 @@ func (x *CMsgClientToGCStartWatchingOverwatch) String() string { func (*CMsgClientToGCStartWatchingOverwatch) ProtoMessage() {} func (x *CMsgClientToGCStartWatchingOverwatch) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[310] + mi := &file_dota_gcmessages_client_proto_msgTypes[312] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23764,7 +23866,7 @@ func (x *CMsgClientToGCStartWatchingOverwatch) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCStartWatchingOverwatch.ProtoReflect.Descriptor instead. func (*CMsgClientToGCStartWatchingOverwatch) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{310} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{312} } func (x *CMsgClientToGCStartWatchingOverwatch) GetOverwatchReplayId() uint64 { @@ -23793,7 +23895,7 @@ type CMsgClientToGCStopWatchingOverwatch struct { func (x *CMsgClientToGCStopWatchingOverwatch) Reset() { *x = CMsgClientToGCStopWatchingOverwatch{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[311] + mi := &file_dota_gcmessages_client_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23806,7 +23908,7 @@ func (x *CMsgClientToGCStopWatchingOverwatch) String() string { func (*CMsgClientToGCStopWatchingOverwatch) ProtoMessage() {} func (x *CMsgClientToGCStopWatchingOverwatch) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[311] + mi := &file_dota_gcmessages_client_proto_msgTypes[313] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23819,7 +23921,7 @@ func (x *CMsgClientToGCStopWatchingOverwatch) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCStopWatchingOverwatch.ProtoReflect.Descriptor instead. func (*CMsgClientToGCStopWatchingOverwatch) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{311} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{313} } func (x *CMsgClientToGCStopWatchingOverwatch) GetOverwatchReplayId() uint64 { @@ -23847,7 +23949,7 @@ type CMsgClientToGCOverwatchReplayError struct { func (x *CMsgClientToGCOverwatchReplayError) Reset() { *x = CMsgClientToGCOverwatchReplayError{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[312] + mi := &file_dota_gcmessages_client_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23860,7 +23962,7 @@ func (x *CMsgClientToGCOverwatchReplayError) String() string { func (*CMsgClientToGCOverwatchReplayError) ProtoMessage() {} func (x *CMsgClientToGCOverwatchReplayError) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[312] + mi := &file_dota_gcmessages_client_proto_msgTypes[314] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23873,7 +23975,7 @@ func (x *CMsgClientToGCOverwatchReplayError) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCOverwatchReplayError.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverwatchReplayError) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{312} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{314} } func (x *CMsgClientToGCOverwatchReplayError) GetOverwatchReplayId() uint64 { @@ -23892,7 +23994,7 @@ type CMsgClientToGCGetDPCFavorites struct { func (x *CMsgClientToGCGetDPCFavorites) Reset() { *x = CMsgClientToGCGetDPCFavorites{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[313] + mi := &file_dota_gcmessages_client_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23905,7 +24007,7 @@ func (x *CMsgClientToGCGetDPCFavorites) String() string { func (*CMsgClientToGCGetDPCFavorites) ProtoMessage() {} func (x *CMsgClientToGCGetDPCFavorites) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[313] + mi := &file_dota_gcmessages_client_proto_msgTypes[315] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23918,7 +24020,7 @@ func (x *CMsgClientToGCGetDPCFavorites) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetDPCFavorites.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetDPCFavorites) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{313} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{315} } type CMsgClientToGCGetDPCFavoritesResponse struct { @@ -23933,7 +24035,7 @@ type CMsgClientToGCGetDPCFavoritesResponse struct { func (x *CMsgClientToGCGetDPCFavoritesResponse) Reset() { *x = CMsgClientToGCGetDPCFavoritesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[314] + mi := &file_dota_gcmessages_client_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23946,7 +24048,7 @@ func (x *CMsgClientToGCGetDPCFavoritesResponse) String() string { func (*CMsgClientToGCGetDPCFavoritesResponse) ProtoMessage() {} func (x *CMsgClientToGCGetDPCFavoritesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[314] + mi := &file_dota_gcmessages_client_proto_msgTypes[316] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23959,7 +24061,7 @@ func (x *CMsgClientToGCGetDPCFavoritesResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCGetDPCFavoritesResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetDPCFavoritesResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{314} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{316} } func (x *CMsgClientToGCGetDPCFavoritesResponse) GetResult() CMsgClientToGCGetDPCFavoritesResponse_EResponse { @@ -23989,7 +24091,7 @@ type CMsgClientToGCSetDPCFavoriteState struct { func (x *CMsgClientToGCSetDPCFavoriteState) Reset() { *x = CMsgClientToGCSetDPCFavoriteState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[315] + mi := &file_dota_gcmessages_client_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24002,7 +24104,7 @@ func (x *CMsgClientToGCSetDPCFavoriteState) String() string { func (*CMsgClientToGCSetDPCFavoriteState) ProtoMessage() {} func (x *CMsgClientToGCSetDPCFavoriteState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[315] + mi := &file_dota_gcmessages_client_proto_msgTypes[317] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24015,7 +24117,7 @@ func (x *CMsgClientToGCSetDPCFavoriteState) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCSetDPCFavoriteState.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetDPCFavoriteState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{315} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{317} } func (x *CMsgClientToGCSetDPCFavoriteState) GetFavoriteType() EDPCFavoriteType { @@ -24050,7 +24152,7 @@ type CMsgClientToGCSetDPCFavoriteStateResponse struct { func (x *CMsgClientToGCSetDPCFavoriteStateResponse) Reset() { *x = CMsgClientToGCSetDPCFavoriteStateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[316] + mi := &file_dota_gcmessages_client_proto_msgTypes[318] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24063,7 +24165,7 @@ func (x *CMsgClientToGCSetDPCFavoriteStateResponse) String() string { func (*CMsgClientToGCSetDPCFavoriteStateResponse) ProtoMessage() {} func (x *CMsgClientToGCSetDPCFavoriteStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[316] + mi := &file_dota_gcmessages_client_proto_msgTypes[318] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24076,7 +24178,7 @@ func (x *CMsgClientToGCSetDPCFavoriteStateResponse) ProtoReflect() protoreflect. // Deprecated: Use CMsgClientToGCSetDPCFavoriteStateResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetDPCFavoriteStateResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{316} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{318} } func (x *CMsgClientToGCSetDPCFavoriteStateResponse) GetResult() CMsgClientToGCSetDPCFavoriteStateResponse_EResponse { @@ -24098,7 +24200,7 @@ type CMsgClientToGCSetEventActiveSeasonID struct { func (x *CMsgClientToGCSetEventActiveSeasonID) Reset() { *x = CMsgClientToGCSetEventActiveSeasonID{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[317] + mi := &file_dota_gcmessages_client_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24111,7 +24213,7 @@ func (x *CMsgClientToGCSetEventActiveSeasonID) String() string { func (*CMsgClientToGCSetEventActiveSeasonID) ProtoMessage() {} func (x *CMsgClientToGCSetEventActiveSeasonID) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[317] + mi := &file_dota_gcmessages_client_proto_msgTypes[319] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24124,7 +24226,7 @@ func (x *CMsgClientToGCSetEventActiveSeasonID) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCSetEventActiveSeasonID.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetEventActiveSeasonID) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{317} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{319} } func (x *CMsgClientToGCSetEventActiveSeasonID) GetEventId() uint32 { @@ -24152,7 +24254,7 @@ type CMsgClientToGCSetEventActiveSeasonIDResponse struct { func (x *CMsgClientToGCSetEventActiveSeasonIDResponse) Reset() { *x = CMsgClientToGCSetEventActiveSeasonIDResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[318] + mi := &file_dota_gcmessages_client_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24165,7 +24267,7 @@ func (x *CMsgClientToGCSetEventActiveSeasonIDResponse) String() string { func (*CMsgClientToGCSetEventActiveSeasonIDResponse) ProtoMessage() {} func (x *CMsgClientToGCSetEventActiveSeasonIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[318] + mi := &file_dota_gcmessages_client_proto_msgTypes[320] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24178,7 +24280,7 @@ func (x *CMsgClientToGCSetEventActiveSeasonIDResponse) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCSetEventActiveSeasonIDResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetEventActiveSeasonIDResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{318} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{320} } func (x *CMsgClientToGCSetEventActiveSeasonIDResponse) GetResult() CMsgClientToGCSetEventActiveSeasonIDResponse_EResponse { @@ -24202,7 +24304,7 @@ type CMsgClientToGCPurchaseLabyrinthBlessings struct { func (x *CMsgClientToGCPurchaseLabyrinthBlessings) Reset() { *x = CMsgClientToGCPurchaseLabyrinthBlessings{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[319] + mi := &file_dota_gcmessages_client_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24215,7 +24317,7 @@ func (x *CMsgClientToGCPurchaseLabyrinthBlessings) String() string { func (*CMsgClientToGCPurchaseLabyrinthBlessings) ProtoMessage() {} func (x *CMsgClientToGCPurchaseLabyrinthBlessings) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[319] + mi := &file_dota_gcmessages_client_proto_msgTypes[321] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24228,7 +24330,7 @@ func (x *CMsgClientToGCPurchaseLabyrinthBlessings) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCPurchaseLabyrinthBlessings.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPurchaseLabyrinthBlessings) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{319} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{321} } func (x *CMsgClientToGCPurchaseLabyrinthBlessings) GetEventId() EEvent { @@ -24270,7 +24372,7 @@ type CMsgClientToGCPurchaseLabyrinthBlessingsResponse struct { func (x *CMsgClientToGCPurchaseLabyrinthBlessingsResponse) Reset() { *x = CMsgClientToGCPurchaseLabyrinthBlessingsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[320] + mi := &file_dota_gcmessages_client_proto_msgTypes[322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24283,7 +24385,7 @@ func (x *CMsgClientToGCPurchaseLabyrinthBlessingsResponse) String() string { func (*CMsgClientToGCPurchaseLabyrinthBlessingsResponse) ProtoMessage() {} func (x *CMsgClientToGCPurchaseLabyrinthBlessingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[320] + mi := &file_dota_gcmessages_client_proto_msgTypes[322] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24296,7 +24398,7 @@ func (x *CMsgClientToGCPurchaseLabyrinthBlessingsResponse) ProtoReflect() protor // Deprecated: Use CMsgClientToGCPurchaseLabyrinthBlessingsResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPurchaseLabyrinthBlessingsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{320} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{322} } func (x *CMsgClientToGCPurchaseLabyrinthBlessingsResponse) GetResult() CMsgClientToGCPurchaseLabyrinthBlessingsResponse_EResponse { @@ -24317,7 +24419,7 @@ type CMsgClientToGCGetStickerbookRequest struct { func (x *CMsgClientToGCGetStickerbookRequest) Reset() { *x = CMsgClientToGCGetStickerbookRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[321] + mi := &file_dota_gcmessages_client_proto_msgTypes[323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24330,7 +24432,7 @@ func (x *CMsgClientToGCGetStickerbookRequest) String() string { func (*CMsgClientToGCGetStickerbookRequest) ProtoMessage() {} func (x *CMsgClientToGCGetStickerbookRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[321] + mi := &file_dota_gcmessages_client_proto_msgTypes[323] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24343,7 +24445,7 @@ func (x *CMsgClientToGCGetStickerbookRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCGetStickerbookRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetStickerbookRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{321} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{323} } func (x *CMsgClientToGCGetStickerbookRequest) GetAccountId() uint32 { @@ -24365,7 +24467,7 @@ type CMsgClientToGCGetStickerbookResponse struct { func (x *CMsgClientToGCGetStickerbookResponse) Reset() { *x = CMsgClientToGCGetStickerbookResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[322] + mi := &file_dota_gcmessages_client_proto_msgTypes[324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24378,7 +24480,7 @@ func (x *CMsgClientToGCGetStickerbookResponse) String() string { func (*CMsgClientToGCGetStickerbookResponse) ProtoMessage() {} func (x *CMsgClientToGCGetStickerbookResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[322] + mi := &file_dota_gcmessages_client_proto_msgTypes[324] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24391,7 +24493,7 @@ func (x *CMsgClientToGCGetStickerbookResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCGetStickerbookResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetStickerbookResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{322} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{324} } func (x *CMsgClientToGCGetStickerbookResponse) GetResponse() CMsgClientToGCGetStickerbookResponse_EResponse { @@ -24421,7 +24523,7 @@ type CMsgClientToGCCreateStickerbookPageRequest struct { func (x *CMsgClientToGCCreateStickerbookPageRequest) Reset() { *x = CMsgClientToGCCreateStickerbookPageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[323] + mi := &file_dota_gcmessages_client_proto_msgTypes[325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24434,7 +24536,7 @@ func (x *CMsgClientToGCCreateStickerbookPageRequest) String() string { func (*CMsgClientToGCCreateStickerbookPageRequest) ProtoMessage() {} func (x *CMsgClientToGCCreateStickerbookPageRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[323] + mi := &file_dota_gcmessages_client_proto_msgTypes[325] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24447,7 +24549,7 @@ func (x *CMsgClientToGCCreateStickerbookPageRequest) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCCreateStickerbookPageRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCreateStickerbookPageRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{323} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{325} } func (x *CMsgClientToGCCreateStickerbookPageRequest) GetTeamId() uint32 { @@ -24483,7 +24585,7 @@ type CMsgClientToGCCreateStickerbookPageResponse struct { func (x *CMsgClientToGCCreateStickerbookPageResponse) Reset() { *x = CMsgClientToGCCreateStickerbookPageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[324] + mi := &file_dota_gcmessages_client_proto_msgTypes[326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24496,7 +24598,7 @@ func (x *CMsgClientToGCCreateStickerbookPageResponse) String() string { func (*CMsgClientToGCCreateStickerbookPageResponse) ProtoMessage() {} func (x *CMsgClientToGCCreateStickerbookPageResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[324] + mi := &file_dota_gcmessages_client_proto_msgTypes[326] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24509,7 +24611,7 @@ func (x *CMsgClientToGCCreateStickerbookPageResponse) ProtoReflect() protoreflec // Deprecated: Use CMsgClientToGCCreateStickerbookPageResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCreateStickerbookPageResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{324} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{326} } func (x *CMsgClientToGCCreateStickerbookPageResponse) GetResponse() CMsgClientToGCCreateStickerbookPageResponse_EResponse { @@ -24539,7 +24641,7 @@ type CMsgClientToGCDeleteStickerbookPageRequest struct { func (x *CMsgClientToGCDeleteStickerbookPageRequest) Reset() { *x = CMsgClientToGCDeleteStickerbookPageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[325] + mi := &file_dota_gcmessages_client_proto_msgTypes[327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24552,7 +24654,7 @@ func (x *CMsgClientToGCDeleteStickerbookPageRequest) String() string { func (*CMsgClientToGCDeleteStickerbookPageRequest) ProtoMessage() {} func (x *CMsgClientToGCDeleteStickerbookPageRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[325] + mi := &file_dota_gcmessages_client_proto_msgTypes[327] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24565,7 +24667,7 @@ func (x *CMsgClientToGCDeleteStickerbookPageRequest) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCDeleteStickerbookPageRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCDeleteStickerbookPageRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{325} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{327} } func (x *CMsgClientToGCDeleteStickerbookPageRequest) GetPageNum() uint32 { @@ -24600,7 +24702,7 @@ type CMsgClientToGCDeleteStickerbookPageResponse struct { func (x *CMsgClientToGCDeleteStickerbookPageResponse) Reset() { *x = CMsgClientToGCDeleteStickerbookPageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[326] + mi := &file_dota_gcmessages_client_proto_msgTypes[328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24613,7 +24715,7 @@ func (x *CMsgClientToGCDeleteStickerbookPageResponse) String() string { func (*CMsgClientToGCDeleteStickerbookPageResponse) ProtoMessage() {} func (x *CMsgClientToGCDeleteStickerbookPageResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[326] + mi := &file_dota_gcmessages_client_proto_msgTypes[328] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24626,7 +24728,7 @@ func (x *CMsgClientToGCDeleteStickerbookPageResponse) ProtoReflect() protoreflec // Deprecated: Use CMsgClientToGCDeleteStickerbookPageResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCDeleteStickerbookPageResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{326} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{328} } func (x *CMsgClientToGCDeleteStickerbookPageResponse) GetResponse() CMsgClientToGCDeleteStickerbookPageResponse_EResponse { @@ -24647,7 +24749,7 @@ type CMsgClientToGCPlaceStickersRequest struct { func (x *CMsgClientToGCPlaceStickersRequest) Reset() { *x = CMsgClientToGCPlaceStickersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[327] + mi := &file_dota_gcmessages_client_proto_msgTypes[329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24660,7 +24762,7 @@ func (x *CMsgClientToGCPlaceStickersRequest) String() string { func (*CMsgClientToGCPlaceStickersRequest) ProtoMessage() {} func (x *CMsgClientToGCPlaceStickersRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[327] + mi := &file_dota_gcmessages_client_proto_msgTypes[329] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24673,7 +24775,7 @@ func (x *CMsgClientToGCPlaceStickersRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCPlaceStickersRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlaceStickersRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{327} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{329} } func (x *CMsgClientToGCPlaceStickersRequest) GetStickerItems() []*CMsgClientToGCPlaceStickersRequest_StickerItem { @@ -24694,7 +24796,7 @@ type CMsgClientToGCPlaceStickersResponse struct { func (x *CMsgClientToGCPlaceStickersResponse) Reset() { *x = CMsgClientToGCPlaceStickersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[328] + mi := &file_dota_gcmessages_client_proto_msgTypes[330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24707,7 +24809,7 @@ func (x *CMsgClientToGCPlaceStickersResponse) String() string { func (*CMsgClientToGCPlaceStickersResponse) ProtoMessage() {} func (x *CMsgClientToGCPlaceStickersResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[328] + mi := &file_dota_gcmessages_client_proto_msgTypes[330] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24720,7 +24822,7 @@ func (x *CMsgClientToGCPlaceStickersResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCPlaceStickersResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlaceStickersResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{328} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{330} } func (x *CMsgClientToGCPlaceStickersResponse) GetResponse() CMsgClientToGCPlaceStickersResponse_EResponse { @@ -24741,7 +24843,7 @@ type CMsgClientToGCPlaceCollectionStickersRequest struct { func (x *CMsgClientToGCPlaceCollectionStickersRequest) Reset() { *x = CMsgClientToGCPlaceCollectionStickersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[329] + mi := &file_dota_gcmessages_client_proto_msgTypes[331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24754,7 +24856,7 @@ func (x *CMsgClientToGCPlaceCollectionStickersRequest) String() string { func (*CMsgClientToGCPlaceCollectionStickersRequest) ProtoMessage() {} func (x *CMsgClientToGCPlaceCollectionStickersRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[329] + mi := &file_dota_gcmessages_client_proto_msgTypes[331] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24767,7 +24869,7 @@ func (x *CMsgClientToGCPlaceCollectionStickersRequest) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCPlaceCollectionStickersRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlaceCollectionStickersRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{329} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{331} } func (x *CMsgClientToGCPlaceCollectionStickersRequest) GetSlots() []*CMsgClientToGCPlaceCollectionStickersRequest_Slot { @@ -24788,7 +24890,7 @@ type CMsgClientToGCPlaceCollectionStickersResponse struct { func (x *CMsgClientToGCPlaceCollectionStickersResponse) Reset() { *x = CMsgClientToGCPlaceCollectionStickersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[330] + mi := &file_dota_gcmessages_client_proto_msgTypes[332] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24801,7 +24903,7 @@ func (x *CMsgClientToGCPlaceCollectionStickersResponse) String() string { func (*CMsgClientToGCPlaceCollectionStickersResponse) ProtoMessage() {} func (x *CMsgClientToGCPlaceCollectionStickersResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[330] + mi := &file_dota_gcmessages_client_proto_msgTypes[332] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24814,7 +24916,7 @@ func (x *CMsgClientToGCPlaceCollectionStickersResponse) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCPlaceCollectionStickersResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlaceCollectionStickersResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{330} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{332} } func (x *CMsgClientToGCPlaceCollectionStickersResponse) GetResponse() CMsgClientToGCPlaceCollectionStickersResponse_EResponse { @@ -24835,7 +24937,7 @@ type CMsgClientToGCOrderStickerbookTeamPageRequest struct { func (x *CMsgClientToGCOrderStickerbookTeamPageRequest) Reset() { *x = CMsgClientToGCOrderStickerbookTeamPageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[331] + mi := &file_dota_gcmessages_client_proto_msgTypes[333] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24848,7 +24950,7 @@ func (x *CMsgClientToGCOrderStickerbookTeamPageRequest) String() string { func (*CMsgClientToGCOrderStickerbookTeamPageRequest) ProtoMessage() {} func (x *CMsgClientToGCOrderStickerbookTeamPageRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[331] + mi := &file_dota_gcmessages_client_proto_msgTypes[333] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24861,7 +24963,7 @@ func (x *CMsgClientToGCOrderStickerbookTeamPageRequest) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCOrderStickerbookTeamPageRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOrderStickerbookTeamPageRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{331} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{333} } func (x *CMsgClientToGCOrderStickerbookTeamPageRequest) GetPageOrderSequence() *CMsgStickerbookTeamPageOrderSequence { @@ -24882,7 +24984,7 @@ type CMsgClientToGCOrderStickerbookTeamPageResponse struct { func (x *CMsgClientToGCOrderStickerbookTeamPageResponse) Reset() { *x = CMsgClientToGCOrderStickerbookTeamPageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[332] + mi := &file_dota_gcmessages_client_proto_msgTypes[334] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24895,7 +24997,7 @@ func (x *CMsgClientToGCOrderStickerbookTeamPageResponse) String() string { func (*CMsgClientToGCOrderStickerbookTeamPageResponse) ProtoMessage() {} func (x *CMsgClientToGCOrderStickerbookTeamPageResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[332] + mi := &file_dota_gcmessages_client_proto_msgTypes[334] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24908,7 +25010,7 @@ func (x *CMsgClientToGCOrderStickerbookTeamPageResponse) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCOrderStickerbookTeamPageResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOrderStickerbookTeamPageResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{332} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{334} } func (x *CMsgClientToGCOrderStickerbookTeamPageResponse) GetResponse() CMsgClientToGCOrderStickerbookTeamPageResponse_EResponse { @@ -24931,7 +25033,7 @@ type CMsgClientToGCSetHeroSticker struct { func (x *CMsgClientToGCSetHeroSticker) Reset() { *x = CMsgClientToGCSetHeroSticker{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[333] + mi := &file_dota_gcmessages_client_proto_msgTypes[335] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24944,7 +25046,7 @@ func (x *CMsgClientToGCSetHeroSticker) String() string { func (*CMsgClientToGCSetHeroSticker) ProtoMessage() {} func (x *CMsgClientToGCSetHeroSticker) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[333] + mi := &file_dota_gcmessages_client_proto_msgTypes[335] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24957,7 +25059,7 @@ func (x *CMsgClientToGCSetHeroSticker) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCSetHeroSticker.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetHeroSticker) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{333} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{335} } func (x *CMsgClientToGCSetHeroSticker) GetHeroId() int32 { @@ -24992,7 +25094,7 @@ type CMsgClientToGCSetHeroStickerResponse struct { func (x *CMsgClientToGCSetHeroStickerResponse) Reset() { *x = CMsgClientToGCSetHeroStickerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[334] + mi := &file_dota_gcmessages_client_proto_msgTypes[336] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25005,7 +25107,7 @@ func (x *CMsgClientToGCSetHeroStickerResponse) String() string { func (*CMsgClientToGCSetHeroStickerResponse) ProtoMessage() {} func (x *CMsgClientToGCSetHeroStickerResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[334] + mi := &file_dota_gcmessages_client_proto_msgTypes[336] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25018,7 +25120,7 @@ func (x *CMsgClientToGCSetHeroStickerResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCSetHeroStickerResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetHeroStickerResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{334} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{336} } func (x *CMsgClientToGCSetHeroStickerResponse) GetResponse() CMsgClientToGCSetHeroStickerResponse_EResponse { @@ -25037,7 +25139,7 @@ type CMsgClientToGCGetHeroStickers struct { func (x *CMsgClientToGCGetHeroStickers) Reset() { *x = CMsgClientToGCGetHeroStickers{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[335] + mi := &file_dota_gcmessages_client_proto_msgTypes[337] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25050,7 +25152,7 @@ func (x *CMsgClientToGCGetHeroStickers) String() string { func (*CMsgClientToGCGetHeroStickers) ProtoMessage() {} func (x *CMsgClientToGCGetHeroStickers) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[335] + mi := &file_dota_gcmessages_client_proto_msgTypes[337] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25063,7 +25165,7 @@ func (x *CMsgClientToGCGetHeroStickers) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCGetHeroStickers.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetHeroStickers) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{335} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{337} } type CMsgClientToGCGetHeroStickersResponse struct { @@ -25078,7 +25180,7 @@ type CMsgClientToGCGetHeroStickersResponse struct { func (x *CMsgClientToGCGetHeroStickersResponse) Reset() { *x = CMsgClientToGCGetHeroStickersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[336] + mi := &file_dota_gcmessages_client_proto_msgTypes[338] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25091,7 +25193,7 @@ func (x *CMsgClientToGCGetHeroStickersResponse) String() string { func (*CMsgClientToGCGetHeroStickersResponse) ProtoMessage() {} func (x *CMsgClientToGCGetHeroStickersResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[336] + mi := &file_dota_gcmessages_client_proto_msgTypes[338] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25104,7 +25206,7 @@ func (x *CMsgClientToGCGetHeroStickersResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCGetHeroStickersResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetHeroStickersResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{336} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{338} } func (x *CMsgClientToGCGetHeroStickersResponse) GetResponse() CMsgClientToGCGetHeroStickersResponse_EResponse { @@ -25133,7 +25235,7 @@ type CMsgClientToGCSetFavoritePage struct { func (x *CMsgClientToGCSetFavoritePage) Reset() { *x = CMsgClientToGCSetFavoritePage{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[337] + mi := &file_dota_gcmessages_client_proto_msgTypes[339] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25146,7 +25248,7 @@ func (x *CMsgClientToGCSetFavoritePage) String() string { func (*CMsgClientToGCSetFavoritePage) ProtoMessage() {} func (x *CMsgClientToGCSetFavoritePage) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[337] + mi := &file_dota_gcmessages_client_proto_msgTypes[339] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25159,7 +25261,7 @@ func (x *CMsgClientToGCSetFavoritePage) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCSetFavoritePage.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetFavoritePage) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{337} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{339} } func (x *CMsgClientToGCSetFavoritePage) GetPageNum() uint32 { @@ -25187,7 +25289,7 @@ type CMsgClientToGCSetFavoritePageResponse struct { func (x *CMsgClientToGCSetFavoritePageResponse) Reset() { *x = CMsgClientToGCSetFavoritePageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[338] + mi := &file_dota_gcmessages_client_proto_msgTypes[340] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25200,7 +25302,7 @@ func (x *CMsgClientToGCSetFavoritePageResponse) String() string { func (*CMsgClientToGCSetFavoritePageResponse) ProtoMessage() {} func (x *CMsgClientToGCSetFavoritePageResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[338] + mi := &file_dota_gcmessages_client_proto_msgTypes[340] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25213,7 +25315,7 @@ func (x *CMsgClientToGCSetFavoritePageResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCSetFavoritePageResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetFavoritePageResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{338} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{340} } func (x *CMsgClientToGCSetFavoritePageResponse) GetResponse() CMsgClientToGCSetFavoritePageResponse_EResponse { @@ -25236,7 +25338,7 @@ type CMsgClientToGCClaimSwag struct { func (x *CMsgClientToGCClaimSwag) Reset() { *x = CMsgClientToGCClaimSwag{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[339] + mi := &file_dota_gcmessages_client_proto_msgTypes[341] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25249,7 +25351,7 @@ func (x *CMsgClientToGCClaimSwag) String() string { func (*CMsgClientToGCClaimSwag) ProtoMessage() {} func (x *CMsgClientToGCClaimSwag) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[339] + mi := &file_dota_gcmessages_client_proto_msgTypes[341] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25262,7 +25364,7 @@ func (x *CMsgClientToGCClaimSwag) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCClaimSwag.ProtoReflect.Descriptor instead. func (*CMsgClientToGCClaimSwag) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{339} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{341} } func (x *CMsgClientToGCClaimSwag) GetEventId() EEvent { @@ -25297,7 +25399,7 @@ type CMsgClientToGCClaimSwagResponse struct { func (x *CMsgClientToGCClaimSwagResponse) Reset() { *x = CMsgClientToGCClaimSwagResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[340] + mi := &file_dota_gcmessages_client_proto_msgTypes[342] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25310,7 +25412,7 @@ func (x *CMsgClientToGCClaimSwagResponse) String() string { func (*CMsgClientToGCClaimSwagResponse) ProtoMessage() {} func (x *CMsgClientToGCClaimSwagResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[340] + mi := &file_dota_gcmessages_client_proto_msgTypes[342] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25323,7 +25425,7 @@ func (x *CMsgClientToGCClaimSwagResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCClaimSwagResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCClaimSwagResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{340} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{342} } func (x *CMsgClientToGCClaimSwagResponse) GetResponse() CMsgClientToGCClaimSwagResponse_EResponse { @@ -25344,7 +25446,7 @@ type CMsgClientToGCCollectorsCacheAvailableDataRequest struct { func (x *CMsgClientToGCCollectorsCacheAvailableDataRequest) Reset() { *x = CMsgClientToGCCollectorsCacheAvailableDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[341] + mi := &file_dota_gcmessages_client_proto_msgTypes[343] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25357,7 +25459,7 @@ func (x *CMsgClientToGCCollectorsCacheAvailableDataRequest) String() string { func (*CMsgClientToGCCollectorsCacheAvailableDataRequest) ProtoMessage() {} func (x *CMsgClientToGCCollectorsCacheAvailableDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[341] + mi := &file_dota_gcmessages_client_proto_msgTypes[343] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25370,7 +25472,7 @@ func (x *CMsgClientToGCCollectorsCacheAvailableDataRequest) ProtoReflect() proto // Deprecated: Use CMsgClientToGCCollectorsCacheAvailableDataRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCollectorsCacheAvailableDataRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{341} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{343} } func (x *CMsgClientToGCCollectorsCacheAvailableDataRequest) GetContestId() uint32 { @@ -25391,7 +25493,7 @@ type CMsgGCToClientCollectorsCacheAvailableDataResponse struct { func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse) Reset() { *x = CMsgGCToClientCollectorsCacheAvailableDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[342] + mi := &file_dota_gcmessages_client_proto_msgTypes[344] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25404,7 +25506,7 @@ func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse) String() string { func (*CMsgGCToClientCollectorsCacheAvailableDataResponse) ProtoMessage() {} func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[342] + mi := &file_dota_gcmessages_client_proto_msgTypes[344] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25417,7 +25519,7 @@ func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse) ProtoReflect() prot // Deprecated: Use CMsgGCToClientCollectorsCacheAvailableDataResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCollectorsCacheAvailableDataResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{342} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{344} } func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse) GetVotes() []*CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote { @@ -25438,7 +25540,7 @@ type CMsgClientToGCUploadMatchClip struct { func (x *CMsgClientToGCUploadMatchClip) Reset() { *x = CMsgClientToGCUploadMatchClip{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[343] + mi := &file_dota_gcmessages_client_proto_msgTypes[345] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25451,7 +25553,7 @@ func (x *CMsgClientToGCUploadMatchClip) String() string { func (*CMsgClientToGCUploadMatchClip) ProtoMessage() {} func (x *CMsgClientToGCUploadMatchClip) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[343] + mi := &file_dota_gcmessages_client_proto_msgTypes[345] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25464,7 +25566,7 @@ func (x *CMsgClientToGCUploadMatchClip) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCUploadMatchClip.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUploadMatchClip) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{343} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{345} } func (x *CMsgClientToGCUploadMatchClip) GetMatchClip() *CMatchClip { @@ -25485,7 +25587,7 @@ type CMsgGCToClientUploadMatchClipResponse struct { func (x *CMsgGCToClientUploadMatchClipResponse) Reset() { *x = CMsgGCToClientUploadMatchClipResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[344] + mi := &file_dota_gcmessages_client_proto_msgTypes[346] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25498,7 +25600,7 @@ func (x *CMsgGCToClientUploadMatchClipResponse) String() string { func (*CMsgGCToClientUploadMatchClipResponse) ProtoMessage() {} func (x *CMsgGCToClientUploadMatchClipResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[344] + mi := &file_dota_gcmessages_client_proto_msgTypes[346] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25511,7 +25613,7 @@ func (x *CMsgGCToClientUploadMatchClipResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCToClientUploadMatchClipResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientUploadMatchClipResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{344} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{346} } func (x *CMsgGCToClientUploadMatchClipResponse) GetResponse() CMsgGCToClientUploadMatchClipResponse_EResponse { @@ -25530,7 +25632,7 @@ type CMsgClientToGCMapStatsRequest struct { func (x *CMsgClientToGCMapStatsRequest) Reset() { *x = CMsgClientToGCMapStatsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[345] + mi := &file_dota_gcmessages_client_proto_msgTypes[347] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25543,7 +25645,7 @@ func (x *CMsgClientToGCMapStatsRequest) String() string { func (*CMsgClientToGCMapStatsRequest) ProtoMessage() {} func (x *CMsgClientToGCMapStatsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[345] + mi := &file_dota_gcmessages_client_proto_msgTypes[347] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25556,7 +25658,7 @@ func (x *CMsgClientToGCMapStatsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCMapStatsRequest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCMapStatsRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{345} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{347} } type CMsgGCToClientMapStatsResponse struct { @@ -25572,7 +25674,7 @@ type CMsgGCToClientMapStatsResponse struct { func (x *CMsgGCToClientMapStatsResponse) Reset() { *x = CMsgGCToClientMapStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[346] + mi := &file_dota_gcmessages_client_proto_msgTypes[348] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25585,7 +25687,7 @@ func (x *CMsgGCToClientMapStatsResponse) String() string { func (*CMsgGCToClientMapStatsResponse) ProtoMessage() {} func (x *CMsgGCToClientMapStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[346] + mi := &file_dota_gcmessages_client_proto_msgTypes[348] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25598,7 +25700,7 @@ func (x *CMsgGCToClientMapStatsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToClientMapStatsResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToClientMapStatsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{346} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{348} } func (x *CMsgGCToClientMapStatsResponse) GetResponse() CMsgGCToClientMapStatsResponse_EResponse { @@ -25637,7 +25739,7 @@ type CMsgRoadToTIAssignedQuest struct { func (x *CMsgRoadToTIAssignedQuest) Reset() { *x = CMsgRoadToTIAssignedQuest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[347] + mi := &file_dota_gcmessages_client_proto_msgTypes[349] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25650,7 +25752,7 @@ func (x *CMsgRoadToTIAssignedQuest) String() string { func (*CMsgRoadToTIAssignedQuest) ProtoMessage() {} func (x *CMsgRoadToTIAssignedQuest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[347] + mi := &file_dota_gcmessages_client_proto_msgTypes[349] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25663,7 +25765,7 @@ func (x *CMsgRoadToTIAssignedQuest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgRoadToTIAssignedQuest.ProtoReflect.Descriptor instead. func (*CMsgRoadToTIAssignedQuest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{347} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{349} } func (x *CMsgRoadToTIAssignedQuest) GetQuestId() uint32 { @@ -25712,7 +25814,7 @@ type CMsgRoadToTIUserData struct { func (x *CMsgRoadToTIUserData) Reset() { *x = CMsgRoadToTIUserData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[348] + mi := &file_dota_gcmessages_client_proto_msgTypes[350] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25725,7 +25827,7 @@ func (x *CMsgRoadToTIUserData) String() string { func (*CMsgRoadToTIUserData) ProtoMessage() {} func (x *CMsgRoadToTIUserData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[348] + mi := &file_dota_gcmessages_client_proto_msgTypes[350] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25738,7 +25840,7 @@ func (x *CMsgRoadToTIUserData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgRoadToTIUserData.ProtoReflect.Descriptor instead. func (*CMsgRoadToTIUserData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{348} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{350} } func (x *CMsgRoadToTIUserData) GetQuests() []*CMsgRoadToTIAssignedQuest { @@ -25759,7 +25861,7 @@ type CMsgClientToGCRoadToTIGetQuests struct { func (x *CMsgClientToGCRoadToTIGetQuests) Reset() { *x = CMsgClientToGCRoadToTIGetQuests{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[349] + mi := &file_dota_gcmessages_client_proto_msgTypes[351] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25772,7 +25874,7 @@ func (x *CMsgClientToGCRoadToTIGetQuests) String() string { func (*CMsgClientToGCRoadToTIGetQuests) ProtoMessage() {} func (x *CMsgClientToGCRoadToTIGetQuests) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[349] + mi := &file_dota_gcmessages_client_proto_msgTypes[351] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25785,7 +25887,7 @@ func (x *CMsgClientToGCRoadToTIGetQuests) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCRoadToTIGetQuests.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRoadToTIGetQuests) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{349} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{351} } func (x *CMsgClientToGCRoadToTIGetQuests) GetEventId() uint32 { @@ -25807,7 +25909,7 @@ type CMsgClientToGCRoadToTIGetQuestsResponse struct { func (x *CMsgClientToGCRoadToTIGetQuestsResponse) Reset() { *x = CMsgClientToGCRoadToTIGetQuestsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[350] + mi := &file_dota_gcmessages_client_proto_msgTypes[352] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25820,7 +25922,7 @@ func (x *CMsgClientToGCRoadToTIGetQuestsResponse) String() string { func (*CMsgClientToGCRoadToTIGetQuestsResponse) ProtoMessage() {} func (x *CMsgClientToGCRoadToTIGetQuestsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[350] + mi := &file_dota_gcmessages_client_proto_msgTypes[352] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25833,7 +25935,7 @@ func (x *CMsgClientToGCRoadToTIGetQuestsResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgClientToGCRoadToTIGetQuestsResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRoadToTIGetQuestsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{350} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{352} } func (x *CMsgClientToGCRoadToTIGetQuestsResponse) GetResponse() CMsgClientToGCRoadToTIGetQuestsResponse_EResponse { @@ -25861,7 +25963,7 @@ type CMsgClientToGCRoadToTIGetActiveQuest struct { func (x *CMsgClientToGCRoadToTIGetActiveQuest) Reset() { *x = CMsgClientToGCRoadToTIGetActiveQuest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[351] + mi := &file_dota_gcmessages_client_proto_msgTypes[353] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25874,7 +25976,7 @@ func (x *CMsgClientToGCRoadToTIGetActiveQuest) String() string { func (*CMsgClientToGCRoadToTIGetActiveQuest) ProtoMessage() {} func (x *CMsgClientToGCRoadToTIGetActiveQuest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[351] + mi := &file_dota_gcmessages_client_proto_msgTypes[353] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25887,7 +25989,7 @@ func (x *CMsgClientToGCRoadToTIGetActiveQuest) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgClientToGCRoadToTIGetActiveQuest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRoadToTIGetActiveQuest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{351} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{353} } func (x *CMsgClientToGCRoadToTIGetActiveQuest) GetEventId() uint32 { @@ -25909,7 +26011,7 @@ type CMsgClientToGCRoadToTIGetActiveQuestResponse struct { func (x *CMsgClientToGCRoadToTIGetActiveQuestResponse) Reset() { *x = CMsgClientToGCRoadToTIGetActiveQuestResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[352] + mi := &file_dota_gcmessages_client_proto_msgTypes[354] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25922,7 +26024,7 @@ func (x *CMsgClientToGCRoadToTIGetActiveQuestResponse) String() string { func (*CMsgClientToGCRoadToTIGetActiveQuestResponse) ProtoMessage() {} func (x *CMsgClientToGCRoadToTIGetActiveQuestResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[352] + mi := &file_dota_gcmessages_client_proto_msgTypes[354] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25935,7 +26037,7 @@ func (x *CMsgClientToGCRoadToTIGetActiveQuestResponse) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCRoadToTIGetActiveQuestResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRoadToTIGetActiveQuestResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{352} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{354} } func (x *CMsgClientToGCRoadToTIGetActiveQuestResponse) GetResponse() CMsgClientToGCRoadToTIGetActiveQuestResponse_EResponse { @@ -25964,7 +26066,7 @@ type CMsgGCToClientRoadToTIQuestDataUpdated struct { func (x *CMsgGCToClientRoadToTIQuestDataUpdated) Reset() { *x = CMsgGCToClientRoadToTIQuestDataUpdated{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[353] + mi := &file_dota_gcmessages_client_proto_msgTypes[355] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25977,7 +26079,7 @@ func (x *CMsgGCToClientRoadToTIQuestDataUpdated) String() string { func (*CMsgGCToClientRoadToTIQuestDataUpdated) ProtoMessage() {} func (x *CMsgGCToClientRoadToTIQuestDataUpdated) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[353] + mi := &file_dota_gcmessages_client_proto_msgTypes[355] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25990,7 +26092,7 @@ func (x *CMsgGCToClientRoadToTIQuestDataUpdated) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCToClientRoadToTIQuestDataUpdated.ProtoReflect.Descriptor instead. func (*CMsgGCToClientRoadToTIQuestDataUpdated) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{353} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{355} } func (x *CMsgGCToClientRoadToTIQuestDataUpdated) GetEventId() uint32 { @@ -26020,7 +26122,7 @@ type CMsgClientToGCRoadToTIUseItem struct { func (x *CMsgClientToGCRoadToTIUseItem) Reset() { *x = CMsgClientToGCRoadToTIUseItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[354] + mi := &file_dota_gcmessages_client_proto_msgTypes[356] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26033,7 +26135,7 @@ func (x *CMsgClientToGCRoadToTIUseItem) String() string { func (*CMsgClientToGCRoadToTIUseItem) ProtoMessage() {} func (x *CMsgClientToGCRoadToTIUseItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[354] + mi := &file_dota_gcmessages_client_proto_msgTypes[356] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26046,7 +26148,7 @@ func (x *CMsgClientToGCRoadToTIUseItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCRoadToTIUseItem.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRoadToTIUseItem) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{354} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{356} } func (x *CMsgClientToGCRoadToTIUseItem) GetEventId() uint32 { @@ -26081,7 +26183,7 @@ type CMsgClientToGCRoadToTIUseItemResponse struct { func (x *CMsgClientToGCRoadToTIUseItemResponse) Reset() { *x = CMsgClientToGCRoadToTIUseItemResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[355] + mi := &file_dota_gcmessages_client_proto_msgTypes[357] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26094,7 +26196,7 @@ func (x *CMsgClientToGCRoadToTIUseItemResponse) String() string { func (*CMsgClientToGCRoadToTIUseItemResponse) ProtoMessage() {} func (x *CMsgClientToGCRoadToTIUseItemResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[355] + mi := &file_dota_gcmessages_client_proto_msgTypes[357] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26107,7 +26209,7 @@ func (x *CMsgClientToGCRoadToTIUseItemResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCRoadToTIUseItemResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRoadToTIUseItemResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{355} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{357} } func (x *CMsgClientToGCRoadToTIUseItemResponse) GetResponse() CMsgClientToGCRoadToTIUseItemResponse_EResponse { @@ -26130,7 +26232,7 @@ type CMsgClientToGCRoadToTIDevForceQuest struct { func (x *CMsgClientToGCRoadToTIDevForceQuest) Reset() { *x = CMsgClientToGCRoadToTIDevForceQuest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[356] + mi := &file_dota_gcmessages_client_proto_msgTypes[358] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26143,7 +26245,7 @@ func (x *CMsgClientToGCRoadToTIDevForceQuest) String() string { func (*CMsgClientToGCRoadToTIDevForceQuest) ProtoMessage() {} func (x *CMsgClientToGCRoadToTIDevForceQuest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[356] + mi := &file_dota_gcmessages_client_proto_msgTypes[358] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26156,7 +26258,7 @@ func (x *CMsgClientToGCRoadToTIDevForceQuest) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCRoadToTIDevForceQuest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRoadToTIDevForceQuest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{356} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{358} } func (x *CMsgClientToGCRoadToTIDevForceQuest) GetEventId() uint32 { @@ -26193,7 +26295,7 @@ type CMsgLobbyRoadToTIMatchQuestData struct { func (x *CMsgLobbyRoadToTIMatchQuestData) Reset() { *x = CMsgLobbyRoadToTIMatchQuestData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[357] + mi := &file_dota_gcmessages_client_proto_msgTypes[359] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26206,7 +26308,7 @@ func (x *CMsgLobbyRoadToTIMatchQuestData) String() string { func (*CMsgLobbyRoadToTIMatchQuestData) ProtoMessage() {} func (x *CMsgLobbyRoadToTIMatchQuestData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[357] + mi := &file_dota_gcmessages_client_proto_msgTypes[359] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26219,7 +26321,7 @@ func (x *CMsgLobbyRoadToTIMatchQuestData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgLobbyRoadToTIMatchQuestData.ProtoReflect.Descriptor instead. func (*CMsgLobbyRoadToTIMatchQuestData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{357} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{359} } func (x *CMsgLobbyRoadToTIMatchQuestData) GetQuestData() *CMsgRoadToTIAssignedQuest { @@ -26256,7 +26358,7 @@ type CMsgClientToGCNewBloomGift struct { func (x *CMsgClientToGCNewBloomGift) Reset() { *x = CMsgClientToGCNewBloomGift{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[358] + mi := &file_dota_gcmessages_client_proto_msgTypes[360] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26269,7 +26371,7 @@ func (x *CMsgClientToGCNewBloomGift) String() string { func (*CMsgClientToGCNewBloomGift) ProtoMessage() {} func (x *CMsgClientToGCNewBloomGift) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[358] + mi := &file_dota_gcmessages_client_proto_msgTypes[360] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26282,7 +26384,7 @@ func (x *CMsgClientToGCNewBloomGift) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCNewBloomGift.ProtoReflect.Descriptor instead. func (*CMsgClientToGCNewBloomGift) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{358} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{360} } func (x *CMsgClientToGCNewBloomGift) GetDefindex() uint32 { @@ -26318,7 +26420,7 @@ type CMsgClientToGCNewBloomGiftResponse struct { func (x *CMsgClientToGCNewBloomGiftResponse) Reset() { *x = CMsgClientToGCNewBloomGiftResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[359] + mi := &file_dota_gcmessages_client_proto_msgTypes[361] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26331,7 +26433,7 @@ func (x *CMsgClientToGCNewBloomGiftResponse) String() string { func (*CMsgClientToGCNewBloomGiftResponse) ProtoMessage() {} func (x *CMsgClientToGCNewBloomGiftResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[359] + mi := &file_dota_gcmessages_client_proto_msgTypes[361] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26344,7 +26446,7 @@ func (x *CMsgClientToGCNewBloomGiftResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCNewBloomGiftResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCNewBloomGiftResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{359} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{361} } func (x *CMsgClientToGCNewBloomGiftResponse) GetResult() ENewBloomGiftingResponse { @@ -26372,7 +26474,7 @@ type CMsgClientToGCSetBannedHeroes struct { func (x *CMsgClientToGCSetBannedHeroes) Reset() { *x = CMsgClientToGCSetBannedHeroes{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[360] + mi := &file_dota_gcmessages_client_proto_msgTypes[362] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26385,7 +26487,7 @@ func (x *CMsgClientToGCSetBannedHeroes) String() string { func (*CMsgClientToGCSetBannedHeroes) ProtoMessage() {} func (x *CMsgClientToGCSetBannedHeroes) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[360] + mi := &file_dota_gcmessages_client_proto_msgTypes[362] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26398,7 +26500,7 @@ func (x *CMsgClientToGCSetBannedHeroes) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCSetBannedHeroes.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetBannedHeroes) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{360} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{362} } func (x *CMsgClientToGCSetBannedHeroes) GetBannedHeroIds() []int32 { @@ -26421,7 +26523,7 @@ type CMsgClientToGCUpdateComicBookStats struct { func (x *CMsgClientToGCUpdateComicBookStats) Reset() { *x = CMsgClientToGCUpdateComicBookStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[361] + mi := &file_dota_gcmessages_client_proto_msgTypes[363] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26434,7 +26536,7 @@ func (x *CMsgClientToGCUpdateComicBookStats) String() string { func (*CMsgClientToGCUpdateComicBookStats) ProtoMessage() {} func (x *CMsgClientToGCUpdateComicBookStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[361] + mi := &file_dota_gcmessages_client_proto_msgTypes[363] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26447,7 +26549,7 @@ func (x *CMsgClientToGCUpdateComicBookStats) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCUpdateComicBookStats.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUpdateComicBookStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{361} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{363} } func (x *CMsgClientToGCUpdateComicBookStats) GetComicId() uint32 { @@ -26484,7 +26586,7 @@ type CMsgDOTARequestMatchesResponse_Series struct { func (x *CMsgDOTARequestMatchesResponse_Series) Reset() { *x = CMsgDOTARequestMatchesResponse_Series{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[362] + mi := &file_dota_gcmessages_client_proto_msgTypes[364] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26497,7 +26599,7 @@ func (x *CMsgDOTARequestMatchesResponse_Series) String() string { func (*CMsgDOTARequestMatchesResponse_Series) ProtoMessage() {} func (x *CMsgDOTARequestMatchesResponse_Series) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[362] + mi := &file_dota_gcmessages_client_proto_msgTypes[364] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26546,7 +26648,7 @@ type CMsgDOTAProfileTickets_LeaguePass struct { func (x *CMsgDOTAProfileTickets_LeaguePass) Reset() { *x = CMsgDOTAProfileTickets_LeaguePass{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[363] + mi := &file_dota_gcmessages_client_proto_msgTypes[365] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26559,7 +26661,7 @@ func (x *CMsgDOTAProfileTickets_LeaguePass) String() string { func (*CMsgDOTAProfileTickets_LeaguePass) ProtoMessage() {} func (x *CMsgDOTAProfileTickets_LeaguePass) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[363] + mi := &file_dota_gcmessages_client_proto_msgTypes[365] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26601,7 +26703,7 @@ type CMsgDOTAWelcome_CExtraMsg struct { func (x *CMsgDOTAWelcome_CExtraMsg) Reset() { *x = CMsgDOTAWelcome_CExtraMsg{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[364] + mi := &file_dota_gcmessages_client_proto_msgTypes[366] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26614,7 +26716,7 @@ func (x *CMsgDOTAWelcome_CExtraMsg) String() string { func (*CMsgDOTAWelcome_CExtraMsg) ProtoMessage() {} func (x *CMsgDOTAWelcome_CExtraMsg) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[364] + mi := &file_dota_gcmessages_client_proto_msgTypes[366] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26656,7 +26758,7 @@ type CMsgDOTAMatchVotes_PlayerVote struct { func (x *CMsgDOTAMatchVotes_PlayerVote) Reset() { *x = CMsgDOTAMatchVotes_PlayerVote{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[365] + mi := &file_dota_gcmessages_client_proto_msgTypes[367] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26669,7 +26771,7 @@ func (x *CMsgDOTAMatchVotes_PlayerVote) String() string { func (*CMsgDOTAMatchVotes_PlayerVote) ProtoMessage() {} func (x *CMsgDOTAMatchVotes_PlayerVote) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[365] + mi := &file_dota_gcmessages_client_proto_msgTypes[367] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26736,7 +26838,7 @@ type CMsgGCGetHeroStandingsResponse_Hero struct { func (x *CMsgGCGetHeroStandingsResponse_Hero) Reset() { *x = CMsgGCGetHeroStandingsResponse_Hero{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[366] + mi := &file_dota_gcmessages_client_proto_msgTypes[368] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26749,7 +26851,7 @@ func (x *CMsgGCGetHeroStandingsResponse_Hero) String() string { func (*CMsgGCGetHeroStandingsResponse_Hero) ProtoMessage() {} func (x *CMsgGCGetHeroStandingsResponse_Hero) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[366] + mi := &file_dota_gcmessages_client_proto_msgTypes[368] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26970,7 +27072,7 @@ type CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer struct { func (x *CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer) Reset() { *x = CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[367] + mi := &file_dota_gcmessages_client_proto_msgTypes[369] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26983,7 +27085,7 @@ func (x *CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer) String() string { func (*CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer) ProtoMessage() {} func (x *CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[367] + mi := &file_dota_gcmessages_client_proto_msgTypes[369] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27053,7 +27155,7 @@ type CMsgGCGetHeroTimedStatsResponse_RankChunkedStats struct { func (x *CMsgGCGetHeroTimedStatsResponse_RankChunkedStats) Reset() { *x = CMsgGCGetHeroTimedStatsResponse_RankChunkedStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[368] + mi := &file_dota_gcmessages_client_proto_msgTypes[370] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27066,7 +27168,7 @@ func (x *CMsgGCGetHeroTimedStatsResponse_RankChunkedStats) String() string { func (*CMsgGCGetHeroTimedStatsResponse_RankChunkedStats) ProtoMessage() {} func (x *CMsgGCGetHeroTimedStatsResponse_RankChunkedStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[368] + mi := &file_dota_gcmessages_client_proto_msgTypes[370] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27108,7 +27210,7 @@ type CMsgDOTAClaimEventActionData_GrantItemGiftData struct { func (x *CMsgDOTAClaimEventActionData_GrantItemGiftData) Reset() { *x = CMsgDOTAClaimEventActionData_GrantItemGiftData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[369] + mi := &file_dota_gcmessages_client_proto_msgTypes[371] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27121,7 +27223,7 @@ func (x *CMsgDOTAClaimEventActionData_GrantItemGiftData) String() string { func (*CMsgDOTAClaimEventActionData_GrantItemGiftData) ProtoMessage() {} func (x *CMsgDOTAClaimEventActionData_GrantItemGiftData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[369] + mi := &file_dota_gcmessages_client_proto_msgTypes[371] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27163,7 +27265,7 @@ type CMsgDOTAGetEventPointsResponse_Action struct { func (x *CMsgDOTAGetEventPointsResponse_Action) Reset() { *x = CMsgDOTAGetEventPointsResponse_Action{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[370] + mi := &file_dota_gcmessages_client_proto_msgTypes[372] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27176,7 +27278,7 @@ func (x *CMsgDOTAGetEventPointsResponse_Action) String() string { func (*CMsgDOTAGetEventPointsResponse_Action) ProtoMessage() {} func (x *CMsgDOTAGetEventPointsResponse_Action) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[370] + mi := &file_dota_gcmessages_client_proto_msgTypes[372] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27238,7 +27340,7 @@ type CMsgDOTAGetPlayerMatchHistoryResponse_Match struct { func (x *CMsgDOTAGetPlayerMatchHistoryResponse_Match) Reset() { *x = CMsgDOTAGetPlayerMatchHistoryResponse_Match{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[371] + mi := &file_dota_gcmessages_client_proto_msgTypes[373] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27251,7 +27353,7 @@ func (x *CMsgDOTAGetPlayerMatchHistoryResponse_Match) String() string { func (*CMsgDOTAGetPlayerMatchHistoryResponse_Match) ProtoMessage() {} func (x *CMsgDOTAGetPlayerMatchHistoryResponse_Match) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[371] + mi := &file_dota_gcmessages_client_proto_msgTypes[373] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27264,7 +27366,7 @@ func (x *CMsgDOTAGetPlayerMatchHistoryResponse_Match) ProtoReflect() protoreflec // Deprecated: Use CMsgDOTAGetPlayerMatchHistoryResponse_Match.ProtoReflect.Descriptor instead. func (*CMsgDOTAGetPlayerMatchHistoryResponse_Match) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{69, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{71, 0} } func (x *CMsgDOTAGetPlayerMatchHistoryResponse_Match) GetMatchId() uint64 { @@ -27434,7 +27536,7 @@ type CMsgClientToGCGetTrophyListResponse_Trophy struct { func (x *CMsgClientToGCGetTrophyListResponse_Trophy) Reset() { *x = CMsgClientToGCGetTrophyListResponse_Trophy{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[372] + mi := &file_dota_gcmessages_client_proto_msgTypes[374] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27447,7 +27549,7 @@ func (x *CMsgClientToGCGetTrophyListResponse_Trophy) String() string { func (*CMsgClientToGCGetTrophyListResponse_Trophy) ProtoMessage() {} func (x *CMsgClientToGCGetTrophyListResponse_Trophy) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[372] + mi := &file_dota_gcmessages_client_proto_msgTypes[374] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27460,7 +27562,7 @@ func (x *CMsgClientToGCGetTrophyListResponse_Trophy) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCGetTrophyListResponse_Trophy.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetTrophyListResponse_Trophy) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{86, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{88, 0} } func (x *CMsgClientToGCGetTrophyListResponse_Trophy) GetTrophyId() uint32 { @@ -27497,7 +27599,7 @@ type CMsgClientToGCSetProfileCardSlots_CardSlot struct { func (x *CMsgClientToGCSetProfileCardSlots_CardSlot) Reset() { *x = CMsgClientToGCSetProfileCardSlots_CardSlot{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[373] + mi := &file_dota_gcmessages_client_proto_msgTypes[375] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27510,7 +27612,7 @@ func (x *CMsgClientToGCSetProfileCardSlots_CardSlot) String() string { func (*CMsgClientToGCSetProfileCardSlots_CardSlot) ProtoMessage() {} func (x *CMsgClientToGCSetProfileCardSlots_CardSlot) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[373] + mi := &file_dota_gcmessages_client_proto_msgTypes[375] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27523,7 +27625,7 @@ func (x *CMsgClientToGCSetProfileCardSlots_CardSlot) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCSetProfileCardSlots_CardSlot.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSetProfileCardSlots_CardSlot) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{92, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{94, 0} } func (x *CMsgClientToGCSetProfileCardSlots_CardSlot) GetSlotId() uint32 { @@ -27559,7 +27661,7 @@ type CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame struct { func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame) Reset() { *x = CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[374] + mi := &file_dota_gcmessages_client_proto_msgTypes[376] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27572,7 +27674,7 @@ func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame) String() str func (*CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame) ProtoMessage() {} func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[374] + mi := &file_dota_gcmessages_client_proto_msgTypes[376] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27585,7 +27687,7 @@ func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame) ProtoReflect // Deprecated: Use CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{99, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{101, 0} } func (x *CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame) GetCustomGameId() uint64 { @@ -27614,7 +27716,7 @@ type CMsgDOTAPartyRichPresence_Member struct { func (x *CMsgDOTAPartyRichPresence_Member) Reset() { *x = CMsgDOTAPartyRichPresence_Member{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[375] + mi := &file_dota_gcmessages_client_proto_msgTypes[377] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27627,7 +27729,7 @@ func (x *CMsgDOTAPartyRichPresence_Member) String() string { func (*CMsgDOTAPartyRichPresence_Member) ProtoMessage() {} func (x *CMsgDOTAPartyRichPresence_Member) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[375] + mi := &file_dota_gcmessages_client_proto_msgTypes[377] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27640,7 +27742,7 @@ func (x *CMsgDOTAPartyRichPresence_Member) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAPartyRichPresence_Member.ProtoReflect.Descriptor instead. func (*CMsgDOTAPartyRichPresence_Member) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{106, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{108, 0} } func (x *CMsgDOTAPartyRichPresence_Member) GetSteamId() uint64 { @@ -27674,7 +27776,7 @@ type CMsgDOTAPartyRichPresence_WeekendTourney struct { func (x *CMsgDOTAPartyRichPresence_WeekendTourney) Reset() { *x = CMsgDOTAPartyRichPresence_WeekendTourney{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[376] + mi := &file_dota_gcmessages_client_proto_msgTypes[378] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27687,7 +27789,7 @@ func (x *CMsgDOTAPartyRichPresence_WeekendTourney) String() string { func (*CMsgDOTAPartyRichPresence_WeekendTourney) ProtoMessage() {} func (x *CMsgDOTAPartyRichPresence_WeekendTourney) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[376] + mi := &file_dota_gcmessages_client_proto_msgTypes[378] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27700,7 +27802,7 @@ func (x *CMsgDOTAPartyRichPresence_WeekendTourney) ProtoReflect() protoreflect.M // Deprecated: Use CMsgDOTAPartyRichPresence_WeekendTourney.ProtoReflect.Descriptor instead. func (*CMsgDOTAPartyRichPresence_WeekendTourney) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{106, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{108, 1} } func (x *CMsgDOTAPartyRichPresence_WeekendTourney) GetDivision() uint32 { @@ -27768,7 +27870,7 @@ type CMsgClientToGCGetQuestProgressResponse_Challenge struct { func (x *CMsgClientToGCGetQuestProgressResponse_Challenge) Reset() { *x = CMsgClientToGCGetQuestProgressResponse_Challenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[377] + mi := &file_dota_gcmessages_client_proto_msgTypes[379] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27781,7 +27883,7 @@ func (x *CMsgClientToGCGetQuestProgressResponse_Challenge) String() string { func (*CMsgClientToGCGetQuestProgressResponse_Challenge) ProtoMessage() {} func (x *CMsgClientToGCGetQuestProgressResponse_Challenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[377] + mi := &file_dota_gcmessages_client_proto_msgTypes[379] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27794,7 +27896,7 @@ func (x *CMsgClientToGCGetQuestProgressResponse_Challenge) ProtoReflect() protor // Deprecated: Use CMsgClientToGCGetQuestProgressResponse_Challenge.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetQuestProgressResponse_Challenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{113, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{115, 0} } func (x *CMsgClientToGCGetQuestProgressResponse_Challenge) GetChallengeId() uint32 { @@ -27851,7 +27953,7 @@ type CMsgClientToGCGetQuestProgressResponse_Quest struct { func (x *CMsgClientToGCGetQuestProgressResponse_Quest) Reset() { *x = CMsgClientToGCGetQuestProgressResponse_Quest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[378] + mi := &file_dota_gcmessages_client_proto_msgTypes[380] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27864,7 +27966,7 @@ func (x *CMsgClientToGCGetQuestProgressResponse_Quest) String() string { func (*CMsgClientToGCGetQuestProgressResponse_Quest) ProtoMessage() {} func (x *CMsgClientToGCGetQuestProgressResponse_Quest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[378] + mi := &file_dota_gcmessages_client_proto_msgTypes[380] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27877,7 +27979,7 @@ func (x *CMsgClientToGCGetQuestProgressResponse_Quest) ProtoReflect() protorefle // Deprecated: Use CMsgClientToGCGetQuestProgressResponse_Quest.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetQuestProgressResponse_Quest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{113, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{115, 1} } func (x *CMsgClientToGCGetQuestProgressResponse_Quest) GetQuestId() uint32 { @@ -27907,7 +28009,7 @@ type CMsgEventGoals_EventGoal struct { func (x *CMsgEventGoals_EventGoal) Reset() { *x = CMsgEventGoals_EventGoal{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[379] + mi := &file_dota_gcmessages_client_proto_msgTypes[381] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27920,7 +28022,7 @@ func (x *CMsgEventGoals_EventGoal) String() string { func (*CMsgEventGoals_EventGoal) ProtoMessage() {} func (x *CMsgEventGoals_EventGoal) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[379] + mi := &file_dota_gcmessages_client_proto_msgTypes[381] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27933,7 +28035,7 @@ func (x *CMsgEventGoals_EventGoal) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgEventGoals_EventGoal.ProtoReflect.Descriptor instead. func (*CMsgEventGoals_EventGoal) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{124, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{126, 0} } func (x *CMsgEventGoals_EventGoal) GetEventId() EEvent { @@ -27971,7 +28073,7 @@ type CMsgPredictionRankings_PredictionLine struct { func (x *CMsgPredictionRankings_PredictionLine) Reset() { *x = CMsgPredictionRankings_PredictionLine{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[380] + mi := &file_dota_gcmessages_client_proto_msgTypes[382] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27984,7 +28086,7 @@ func (x *CMsgPredictionRankings_PredictionLine) String() string { func (*CMsgPredictionRankings_PredictionLine) ProtoMessage() {} func (x *CMsgPredictionRankings_PredictionLine) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[380] + mi := &file_dota_gcmessages_client_proto_msgTypes[382] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27997,7 +28099,7 @@ func (x *CMsgPredictionRankings_PredictionLine) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgPredictionRankings_PredictionLine.ProtoReflect.Descriptor instead. func (*CMsgPredictionRankings_PredictionLine) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{126, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{128, 0} } func (x *CMsgPredictionRankings_PredictionLine) GetAnswerId() uint32 { @@ -28040,7 +28142,7 @@ type CMsgPredictionRankings_Prediction struct { func (x *CMsgPredictionRankings_Prediction) Reset() { *x = CMsgPredictionRankings_Prediction{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[381] + mi := &file_dota_gcmessages_client_proto_msgTypes[383] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28053,7 +28155,7 @@ func (x *CMsgPredictionRankings_Prediction) String() string { func (*CMsgPredictionRankings_Prediction) ProtoMessage() {} func (x *CMsgPredictionRankings_Prediction) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[381] + mi := &file_dota_gcmessages_client_proto_msgTypes[383] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28066,7 +28168,7 @@ func (x *CMsgPredictionRankings_Prediction) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgPredictionRankings_Prediction.ProtoReflect.Descriptor instead. func (*CMsgPredictionRankings_Prediction) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{126, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{128, 1} } func (x *CMsgPredictionRankings_Prediction) GetSelectionId() uint32 { @@ -28095,7 +28197,7 @@ type CMsgPredictionResults_ResultBreakdown struct { func (x *CMsgPredictionResults_ResultBreakdown) Reset() { *x = CMsgPredictionResults_ResultBreakdown{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[382] + mi := &file_dota_gcmessages_client_proto_msgTypes[384] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28108,7 +28210,7 @@ func (x *CMsgPredictionResults_ResultBreakdown) String() string { func (*CMsgPredictionResults_ResultBreakdown) ProtoMessage() {} func (x *CMsgPredictionResults_ResultBreakdown) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[382] + mi := &file_dota_gcmessages_client_proto_msgTypes[384] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28121,7 +28223,7 @@ func (x *CMsgPredictionResults_ResultBreakdown) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgPredictionResults_ResultBreakdown.ProtoReflect.Descriptor instead. func (*CMsgPredictionResults_ResultBreakdown) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{127, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{129, 0} } func (x *CMsgPredictionResults_ResultBreakdown) GetAnswerSelection() uint32 { @@ -28150,7 +28252,7 @@ type CMsgPredictionResults_Result struct { func (x *CMsgPredictionResults_Result) Reset() { *x = CMsgPredictionResults_Result{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[383] + mi := &file_dota_gcmessages_client_proto_msgTypes[385] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28163,7 +28265,7 @@ func (x *CMsgPredictionResults_Result) String() string { func (*CMsgPredictionResults_Result) ProtoMessage() {} func (x *CMsgPredictionResults_Result) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[383] + mi := &file_dota_gcmessages_client_proto_msgTypes[385] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28176,7 +28278,7 @@ func (x *CMsgPredictionResults_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgPredictionResults_Result.ProtoReflect.Descriptor instead. func (*CMsgPredictionResults_Result) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{127, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{129, 1} } func (x *CMsgPredictionResults_Result) GetSelectionId() uint32 { @@ -28209,7 +28311,7 @@ type CMsgClientToGCTeammateStatsResponse_TeammateStat struct { func (x *CMsgClientToGCTeammateStatsResponse_TeammateStat) Reset() { *x = CMsgClientToGCTeammateStatsResponse_TeammateStat{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[384] + mi := &file_dota_gcmessages_client_proto_msgTypes[386] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28222,7 +28324,7 @@ func (x *CMsgClientToGCTeammateStatsResponse_TeammateStat) String() string { func (*CMsgClientToGCTeammateStatsResponse_TeammateStat) ProtoMessage() {} func (x *CMsgClientToGCTeammateStatsResponse_TeammateStat) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[384] + mi := &file_dota_gcmessages_client_proto_msgTypes[386] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28235,7 +28337,7 @@ func (x *CMsgClientToGCTeammateStatsResponse_TeammateStat) ProtoReflect() protor // Deprecated: Use CMsgClientToGCTeammateStatsResponse_TeammateStat.ProtoReflect.Descriptor instead. func (*CMsgClientToGCTeammateStatsResponse_TeammateStat) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{135, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{137, 0} } func (x *CMsgClientToGCTeammateStatsResponse_TeammateStat) GetAccountId() uint32 { @@ -28294,7 +28396,7 @@ type CMsgClientToGCRequestEventPointLogResponseV2_LogEntry struct { func (x *CMsgClientToGCRequestEventPointLogResponseV2_LogEntry) Reset() { *x = CMsgClientToGCRequestEventPointLogResponseV2_LogEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[385] + mi := &file_dota_gcmessages_client_proto_msgTypes[387] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28307,7 +28409,7 @@ func (x *CMsgClientToGCRequestEventPointLogResponseV2_LogEntry) String() string func (*CMsgClientToGCRequestEventPointLogResponseV2_LogEntry) ProtoMessage() {} func (x *CMsgClientToGCRequestEventPointLogResponseV2_LogEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[385] + mi := &file_dota_gcmessages_client_proto_msgTypes[387] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28320,7 +28422,7 @@ func (x *CMsgClientToGCRequestEventPointLogResponseV2_LogEntry) ProtoReflect() p // Deprecated: Use CMsgClientToGCRequestEventPointLogResponseV2_LogEntry.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestEventPointLogResponseV2_LogEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{141, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{143, 0} } func (x *CMsgClientToGCRequestEventPointLogResponseV2_LogEntry) GetTimestamp() uint32 { @@ -28368,7 +28470,7 @@ type CMsgGCToClientQuestProgressUpdated_Challenge struct { func (x *CMsgGCToClientQuestProgressUpdated_Challenge) Reset() { *x = CMsgGCToClientQuestProgressUpdated_Challenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[386] + mi := &file_dota_gcmessages_client_proto_msgTypes[388] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28381,7 +28483,7 @@ func (x *CMsgGCToClientQuestProgressUpdated_Challenge) String() string { func (*CMsgGCToClientQuestProgressUpdated_Challenge) ProtoMessage() {} func (x *CMsgGCToClientQuestProgressUpdated_Challenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[386] + mi := &file_dota_gcmessages_client_proto_msgTypes[388] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28394,7 +28496,7 @@ func (x *CMsgGCToClientQuestProgressUpdated_Challenge) ProtoReflect() protorefle // Deprecated: Use CMsgGCToClientQuestProgressUpdated_Challenge.ProtoReflect.Descriptor instead. func (*CMsgGCToClientQuestProgressUpdated_Challenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{145, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{147, 0} } func (x *CMsgGCToClientQuestProgressUpdated_Challenge) GetChallengeId() uint32 { @@ -28458,7 +28560,7 @@ type CMsgClientToGCSelectCompendiumInGamePrediction_Prediction struct { func (x *CMsgClientToGCSelectCompendiumInGamePrediction_Prediction) Reset() { *x = CMsgClientToGCSelectCompendiumInGamePrediction_Prediction{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[387] + mi := &file_dota_gcmessages_client_proto_msgTypes[389] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28471,7 +28573,7 @@ func (x *CMsgClientToGCSelectCompendiumInGamePrediction_Prediction) String() str func (*CMsgClientToGCSelectCompendiumInGamePrediction_Prediction) ProtoMessage() {} func (x *CMsgClientToGCSelectCompendiumInGamePrediction_Prediction) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[387] + mi := &file_dota_gcmessages_client_proto_msgTypes[389] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28484,7 +28586,7 @@ func (x *CMsgClientToGCSelectCompendiumInGamePrediction_Prediction) ProtoReflect // Deprecated: Use CMsgClientToGCSelectCompendiumInGamePrediction_Prediction.ProtoReflect.Descriptor instead. func (*CMsgClientToGCSelectCompendiumInGamePrediction_Prediction) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{148, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{150, 0} } func (x *CMsgClientToGCSelectCompendiumInGamePrediction_Prediction) GetPredictionId() uint32 { @@ -28516,7 +28618,7 @@ type CMsgGCToClientBattlePassRollup_International2016_Questlines struct { func (x *CMsgGCToClientBattlePassRollup_International2016_Questlines) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_Questlines{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[388] + mi := &file_dota_gcmessages_client_proto_msgTypes[390] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28529,7 +28631,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Questlines) String() s func (*CMsgGCToClientBattlePassRollup_International2016_Questlines) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_Questlines) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[388] + mi := &file_dota_gcmessages_client_proto_msgTypes[390] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28542,7 +28644,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Questlines) ProtoRefle // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_Questlines.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_Questlines) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 0} } func (x *CMsgGCToClientBattlePassRollup_International2016_Questlines) GetName() string { @@ -28595,7 +28697,7 @@ type CMsgGCToClientBattlePassRollup_International2016_Wagering struct { func (x *CMsgGCToClientBattlePassRollup_International2016_Wagering) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_Wagering{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[389] + mi := &file_dota_gcmessages_client_proto_msgTypes[391] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28608,7 +28710,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Wagering) String() str func (*CMsgGCToClientBattlePassRollup_International2016_Wagering) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_Wagering) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[389] + mi := &file_dota_gcmessages_client_proto_msgTypes[391] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28621,7 +28723,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Wagering) ProtoReflect // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_Wagering.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_Wagering) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 1} } func (x *CMsgGCToClientBattlePassRollup_International2016_Wagering) GetTotalWagered() uint32 { @@ -28672,7 +28774,7 @@ type CMsgGCToClientBattlePassRollup_International2016_Achievements struct { func (x *CMsgGCToClientBattlePassRollup_International2016_Achievements) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_Achievements{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[390] + mi := &file_dota_gcmessages_client_proto_msgTypes[392] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28685,7 +28787,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Achievements) String() func (*CMsgGCToClientBattlePassRollup_International2016_Achievements) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_Achievements) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[390] + mi := &file_dota_gcmessages_client_proto_msgTypes[392] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28698,7 +28800,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Achievements) ProtoRef // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_Achievements.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_Achievements) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 2} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 2} } func (x *CMsgGCToClientBattlePassRollup_International2016_Achievements) GetCompleted() uint32 { @@ -28734,7 +28836,7 @@ type CMsgGCToClientBattlePassRollup_International2016_BattleCup struct { func (x *CMsgGCToClientBattlePassRollup_International2016_BattleCup) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_BattleCup{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[391] + mi := &file_dota_gcmessages_client_proto_msgTypes[393] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28747,7 +28849,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_BattleCup) String() st func (*CMsgGCToClientBattlePassRollup_International2016_BattleCup) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_BattleCup) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[391] + mi := &file_dota_gcmessages_client_proto_msgTypes[393] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28760,7 +28862,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_BattleCup) ProtoReflec // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_BattleCup.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_BattleCup) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 3} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 3} } func (x *CMsgGCToClientBattlePassRollup_International2016_BattleCup) GetWins() uint32 { @@ -28790,7 +28892,7 @@ type CMsgGCToClientBattlePassRollup_International2016_Predictions struct { func (x *CMsgGCToClientBattlePassRollup_International2016_Predictions) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_Predictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[392] + mi := &file_dota_gcmessages_client_proto_msgTypes[394] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28803,7 +28905,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Predictions) String() func (*CMsgGCToClientBattlePassRollup_International2016_Predictions) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_Predictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[392] + mi := &file_dota_gcmessages_client_proto_msgTypes[394] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28816,7 +28918,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Predictions) ProtoRefl // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_Predictions.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_Predictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 4} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 4} } func (x *CMsgGCToClientBattlePassRollup_International2016_Predictions) GetCorrect() uint32 { @@ -28852,7 +28954,7 @@ type CMsgGCToClientBattlePassRollup_International2016_Bracket struct { func (x *CMsgGCToClientBattlePassRollup_International2016_Bracket) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_Bracket{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[393] + mi := &file_dota_gcmessages_client_proto_msgTypes[395] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28865,7 +28967,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Bracket) String() stri func (*CMsgGCToClientBattlePassRollup_International2016_Bracket) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_Bracket) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[393] + mi := &file_dota_gcmessages_client_proto_msgTypes[395] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28878,7 +28980,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_Bracket) ProtoReflect( // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_Bracket.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_Bracket) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 5} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 5} } func (x *CMsgGCToClientBattlePassRollup_International2016_Bracket) GetCorrect() uint32 { @@ -28907,7 +29009,7 @@ type CMsgGCToClientBattlePassRollup_International2016_PlayerCard struct { func (x *CMsgGCToClientBattlePassRollup_International2016_PlayerCard) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_PlayerCard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[394] + mi := &file_dota_gcmessages_client_proto_msgTypes[396] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28920,7 +29022,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_PlayerCard) String() s func (*CMsgGCToClientBattlePassRollup_International2016_PlayerCard) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_PlayerCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[394] + mi := &file_dota_gcmessages_client_proto_msgTypes[396] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28933,7 +29035,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_PlayerCard) ProtoRefle // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_PlayerCard.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_PlayerCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 6} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 6} } func (x *CMsgGCToClientBattlePassRollup_International2016_PlayerCard) GetAccountId() uint32 { @@ -28962,7 +29064,7 @@ type CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge struct { func (x *CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge) Reset() { *x = CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[395] + mi := &file_dota_gcmessages_client_proto_msgTypes[397] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28975,7 +29077,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge) Stri func (*CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[395] + mi := &file_dota_gcmessages_client_proto_msgTypes[397] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28988,7 +29090,7 @@ func (x *CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge) Prot // Deprecated: Use CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{158, 7} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 7} } func (x *CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge) GetTotalScore() float32 { @@ -29020,7 +29122,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_Questlines struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_Questlines) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_Questlines{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[396] + mi := &file_dota_gcmessages_client_proto_msgTypes[398] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29033,7 +29135,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Questlines) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016_Questlines) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_Questlines) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[396] + mi := &file_dota_gcmessages_client_proto_msgTypes[398] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29046,7 +29148,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Questlines) ProtoReflect() prot // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_Questlines.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_Questlines) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 0} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_Questlines) GetName() string { @@ -29099,7 +29201,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_Wagering struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_Wagering) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_Wagering{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[397] + mi := &file_dota_gcmessages_client_proto_msgTypes[399] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29112,7 +29214,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Wagering) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016_Wagering) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_Wagering) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[397] + mi := &file_dota_gcmessages_client_proto_msgTypes[399] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29125,7 +29227,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Wagering) ProtoReflect() protor // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_Wagering.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_Wagering) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 1} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_Wagering) GetTotalWagered() uint32 { @@ -29176,7 +29278,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_Achievements struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_Achievements) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_Achievements{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[398] + mi := &file_dota_gcmessages_client_proto_msgTypes[400] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29189,7 +29291,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Achievements) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016_Achievements) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_Achievements) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[398] + mi := &file_dota_gcmessages_client_proto_msgTypes[400] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29202,7 +29304,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Achievements) ProtoReflect() pr // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_Achievements.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_Achievements) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 2} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 2} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_Achievements) GetCompleted() uint32 { @@ -29238,7 +29340,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_BattleCup struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_BattleCup) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_BattleCup{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[399] + mi := &file_dota_gcmessages_client_proto_msgTypes[401] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29251,7 +29353,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_BattleCup) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016_BattleCup) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_BattleCup) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[399] + mi := &file_dota_gcmessages_client_proto_msgTypes[401] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29264,7 +29366,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_BattleCup) ProtoReflect() proto // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_BattleCup.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_BattleCup) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 3} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 3} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_BattleCup) GetWins() uint32 { @@ -29294,7 +29396,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_Predictions struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_Predictions) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_Predictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[400] + mi := &file_dota_gcmessages_client_proto_msgTypes[402] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29307,7 +29409,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Predictions) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016_Predictions) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_Predictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[400] + mi := &file_dota_gcmessages_client_proto_msgTypes[402] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29320,7 +29422,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Predictions) ProtoReflect() pro // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_Predictions.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_Predictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 4} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 4} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_Predictions) GetCorrect() uint32 { @@ -29356,7 +29458,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_Bracket struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_Bracket) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_Bracket{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[401] + mi := &file_dota_gcmessages_client_proto_msgTypes[403] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29369,7 +29471,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Bracket) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016_Bracket) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_Bracket) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[401] + mi := &file_dota_gcmessages_client_proto_msgTypes[403] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29382,7 +29484,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_Bracket) ProtoReflect() protore // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_Bracket.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_Bracket) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 5} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 5} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_Bracket) GetCorrect() uint32 { @@ -29411,7 +29513,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[402] + mi := &file_dota_gcmessages_client_proto_msgTypes[404] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29424,7 +29526,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard) String() string { func (*CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[402] + mi := &file_dota_gcmessages_client_proto_msgTypes[404] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29437,7 +29539,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard) ProtoReflect() prot // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 6} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 6} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard) GetAccountId() uint32 { @@ -29466,7 +29568,7 @@ type CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge struct { func (x *CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge) Reset() { *x = CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[403] + mi := &file_dota_gcmessages_client_proto_msgTypes[405] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29479,7 +29581,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge) String() stri func (*CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[403] + mi := &file_dota_gcmessages_client_proto_msgTypes[405] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29492,7 +29594,7 @@ func (x *CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge) ProtoReflect( // Deprecated: Use CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{159, 7} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 7} } func (x *CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge) GetTotalScore() float32 { @@ -29524,7 +29626,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_Questlines struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_Questlines) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_Questlines{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[404] + mi := &file_dota_gcmessages_client_proto_msgTypes[406] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29537,7 +29639,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Questlines) String() string { func (*CMsgGCToClientBattlePassRollup_Winter2017_Questlines) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_Questlines) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[404] + mi := &file_dota_gcmessages_client_proto_msgTypes[406] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29550,7 +29652,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Questlines) ProtoReflect() pr // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_Questlines.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_Questlines) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 0} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_Questlines) GetName() string { @@ -29603,7 +29705,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_Wagering struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_Wagering) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_Wagering{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[405] + mi := &file_dota_gcmessages_client_proto_msgTypes[407] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29616,7 +29718,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Wagering) String() string { func (*CMsgGCToClientBattlePassRollup_Winter2017_Wagering) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_Wagering) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[405] + mi := &file_dota_gcmessages_client_proto_msgTypes[407] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29629,7 +29731,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Wagering) ProtoReflect() prot // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_Wagering.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_Wagering) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 1} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_Wagering) GetTotalWagered() uint32 { @@ -29680,7 +29782,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_Achievements struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_Achievements) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_Achievements{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[406] + mi := &file_dota_gcmessages_client_proto_msgTypes[408] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29693,7 +29795,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Achievements) String() string func (*CMsgGCToClientBattlePassRollup_Winter2017_Achievements) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_Achievements) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[406] + mi := &file_dota_gcmessages_client_proto_msgTypes[408] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29706,7 +29808,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Achievements) ProtoReflect() // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_Achievements.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_Achievements) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 2} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 2} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_Achievements) GetCompleted() uint32 { @@ -29742,7 +29844,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_BattleCup struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_BattleCup) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_BattleCup{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[407] + mi := &file_dota_gcmessages_client_proto_msgTypes[409] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29755,7 +29857,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_BattleCup) String() string { func (*CMsgGCToClientBattlePassRollup_Winter2017_BattleCup) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_BattleCup) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[407] + mi := &file_dota_gcmessages_client_proto_msgTypes[409] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29768,7 +29870,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_BattleCup) ProtoReflect() pro // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_BattleCup.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_BattleCup) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 3} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 3} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_BattleCup) GetWins() uint32 { @@ -29798,7 +29900,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_Predictions struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_Predictions) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_Predictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[408] + mi := &file_dota_gcmessages_client_proto_msgTypes[410] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29811,7 +29913,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Predictions) String() string func (*CMsgGCToClientBattlePassRollup_Winter2017_Predictions) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_Predictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[408] + mi := &file_dota_gcmessages_client_proto_msgTypes[410] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29824,7 +29926,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Predictions) ProtoReflect() p // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_Predictions.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_Predictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 4} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 4} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_Predictions) GetCorrect() uint32 { @@ -29860,7 +29962,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_Bracket struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_Bracket) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_Bracket{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[409] + mi := &file_dota_gcmessages_client_proto_msgTypes[411] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29873,7 +29975,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Bracket) String() string { func (*CMsgGCToClientBattlePassRollup_Winter2017_Bracket) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_Bracket) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[409] + mi := &file_dota_gcmessages_client_proto_msgTypes[411] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29886,7 +29988,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_Bracket) ProtoReflect() proto // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_Bracket.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_Bracket) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 5} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 5} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_Bracket) GetCorrect() uint32 { @@ -29915,7 +30017,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[410] + mi := &file_dota_gcmessages_client_proto_msgTypes[412] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29928,7 +30030,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard) String() string { func (*CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[410] + mi := &file_dota_gcmessages_client_proto_msgTypes[412] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29941,7 +30043,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard) ProtoReflect() pr // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 6} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 6} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard) GetAccountId() uint32 { @@ -29970,7 +30072,7 @@ type CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge struct { func (x *CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge) Reset() { *x = CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[411] + mi := &file_dota_gcmessages_client_proto_msgTypes[413] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29983,7 +30085,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge) String() st func (*CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[411] + mi := &file_dota_gcmessages_client_proto_msgTypes[413] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29996,7 +30098,7 @@ func (x *CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge) ProtoReflec // Deprecated: Use CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{160, 7} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 7} } func (x *CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge) GetTotalScore() float32 { @@ -30028,7 +30130,7 @@ type CMsgGCToClientBattlePassRollup_TI7_Questlines struct { func (x *CMsgGCToClientBattlePassRollup_TI7_Questlines) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_Questlines{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[412] + mi := &file_dota_gcmessages_client_proto_msgTypes[414] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30041,7 +30143,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Questlines) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_Questlines) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_Questlines) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[412] + mi := &file_dota_gcmessages_client_proto_msgTypes[414] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30054,7 +30156,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Questlines) ProtoReflect() protorefl // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_Questlines.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_Questlines) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 0} } func (x *CMsgGCToClientBattlePassRollup_TI7_Questlines) GetName() string { @@ -30107,7 +30209,7 @@ type CMsgGCToClientBattlePassRollup_TI7_Wagering struct { func (x *CMsgGCToClientBattlePassRollup_TI7_Wagering) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_Wagering{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[413] + mi := &file_dota_gcmessages_client_proto_msgTypes[415] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30120,7 +30222,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Wagering) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_Wagering) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_Wagering) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[413] + mi := &file_dota_gcmessages_client_proto_msgTypes[415] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30133,7 +30235,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Wagering) ProtoReflect() protoreflec // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_Wagering.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_Wagering) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 1} } func (x *CMsgGCToClientBattlePassRollup_TI7_Wagering) GetTotalWagered() uint32 { @@ -30184,7 +30286,7 @@ type CMsgGCToClientBattlePassRollup_TI7_Achievements struct { func (x *CMsgGCToClientBattlePassRollup_TI7_Achievements) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_Achievements{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[414] + mi := &file_dota_gcmessages_client_proto_msgTypes[416] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30197,7 +30299,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Achievements) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_Achievements) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_Achievements) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[414] + mi := &file_dota_gcmessages_client_proto_msgTypes[416] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30210,7 +30312,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Achievements) ProtoReflect() protore // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_Achievements.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_Achievements) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 2} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 2} } func (x *CMsgGCToClientBattlePassRollup_TI7_Achievements) GetCompleted() uint32 { @@ -30246,7 +30348,7 @@ type CMsgGCToClientBattlePassRollup_TI7_BattleCup struct { func (x *CMsgGCToClientBattlePassRollup_TI7_BattleCup) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_BattleCup{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[415] + mi := &file_dota_gcmessages_client_proto_msgTypes[417] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30259,7 +30361,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_BattleCup) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_BattleCup) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_BattleCup) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[415] + mi := &file_dota_gcmessages_client_proto_msgTypes[417] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30272,7 +30374,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_BattleCup) ProtoReflect() protorefle // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_BattleCup.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_BattleCup) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 3} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 3} } func (x *CMsgGCToClientBattlePassRollup_TI7_BattleCup) GetWins() uint32 { @@ -30302,7 +30404,7 @@ type CMsgGCToClientBattlePassRollup_TI7_Predictions struct { func (x *CMsgGCToClientBattlePassRollup_TI7_Predictions) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_Predictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[416] + mi := &file_dota_gcmessages_client_proto_msgTypes[418] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30315,7 +30417,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Predictions) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_Predictions) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_Predictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[416] + mi := &file_dota_gcmessages_client_proto_msgTypes[418] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30328,7 +30430,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Predictions) ProtoReflect() protoref // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_Predictions.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_Predictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 4} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 4} } func (x *CMsgGCToClientBattlePassRollup_TI7_Predictions) GetCorrect() uint32 { @@ -30364,7 +30466,7 @@ type CMsgGCToClientBattlePassRollup_TI7_Bracket struct { func (x *CMsgGCToClientBattlePassRollup_TI7_Bracket) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_Bracket{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[417] + mi := &file_dota_gcmessages_client_proto_msgTypes[419] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30377,7 +30479,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Bracket) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_Bracket) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_Bracket) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[417] + mi := &file_dota_gcmessages_client_proto_msgTypes[419] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30390,7 +30492,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_Bracket) ProtoReflect() protoreflect // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_Bracket.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_Bracket) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 5} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 5} } func (x *CMsgGCToClientBattlePassRollup_TI7_Bracket) GetCorrect() uint32 { @@ -30419,7 +30521,7 @@ type CMsgGCToClientBattlePassRollup_TI7_PlayerCard struct { func (x *CMsgGCToClientBattlePassRollup_TI7_PlayerCard) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_PlayerCard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[418] + mi := &file_dota_gcmessages_client_proto_msgTypes[420] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30432,7 +30534,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_PlayerCard) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_PlayerCard) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_PlayerCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[418] + mi := &file_dota_gcmessages_client_proto_msgTypes[420] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30445,7 +30547,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_PlayerCard) ProtoReflect() protorefl // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_PlayerCard.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_PlayerCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 6} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 6} } func (x *CMsgGCToClientBattlePassRollup_TI7_PlayerCard) GetAccountId() uint32 { @@ -30474,7 +30576,7 @@ type CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge struct { func (x *CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge) Reset() { *x = CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[419] + mi := &file_dota_gcmessages_client_proto_msgTypes[421] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30487,7 +30589,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge) String() string { func (*CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[419] + mi := &file_dota_gcmessages_client_proto_msgTypes[421] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30500,7 +30602,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge) ProtoReflect() pro // Deprecated: Use CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{161, 7} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{163, 7} } func (x *CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge) GetTotalScore() float32 { @@ -30531,7 +30633,7 @@ type CMsgGCToClientBattlePassRollup_TI8_CavernCrawl struct { func (x *CMsgGCToClientBattlePassRollup_TI8_CavernCrawl) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8_CavernCrawl{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[420] + mi := &file_dota_gcmessages_client_proto_msgTypes[422] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30544,7 +30646,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_CavernCrawl) String() string { func (*CMsgGCToClientBattlePassRollup_TI8_CavernCrawl) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8_CavernCrawl) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[420] + mi := &file_dota_gcmessages_client_proto_msgTypes[422] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30557,7 +30659,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_CavernCrawl) ProtoReflect() protoref // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8_CavernCrawl.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8_CavernCrawl) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164, 0} } func (x *CMsgGCToClientBattlePassRollup_TI8_CavernCrawl) GetRoomsCleared() uint32 { @@ -30603,7 +30705,7 @@ type CMsgGCToClientBattlePassRollup_TI8_Wagering struct { func (x *CMsgGCToClientBattlePassRollup_TI8_Wagering) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8_Wagering{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[421] + mi := &file_dota_gcmessages_client_proto_msgTypes[423] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30616,7 +30718,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Wagering) String() string { func (*CMsgGCToClientBattlePassRollup_TI8_Wagering) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8_Wagering) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[421] + mi := &file_dota_gcmessages_client_proto_msgTypes[423] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30629,7 +30731,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Wagering) ProtoReflect() protoreflec // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8_Wagering.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8_Wagering) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164, 1} } func (x *CMsgGCToClientBattlePassRollup_TI8_Wagering) GetTotalWagered() uint32 { @@ -30680,7 +30782,7 @@ type CMsgGCToClientBattlePassRollup_TI8_Achievements struct { func (x *CMsgGCToClientBattlePassRollup_TI8_Achievements) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8_Achievements{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[422] + mi := &file_dota_gcmessages_client_proto_msgTypes[424] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30693,7 +30795,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Achievements) String() string { func (*CMsgGCToClientBattlePassRollup_TI8_Achievements) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8_Achievements) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[422] + mi := &file_dota_gcmessages_client_proto_msgTypes[424] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30706,7 +30808,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Achievements) ProtoReflect() protore // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8_Achievements.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8_Achievements) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 2} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164, 2} } func (x *CMsgGCToClientBattlePassRollup_TI8_Achievements) GetCompleted() uint32 { @@ -30743,7 +30845,7 @@ type CMsgGCToClientBattlePassRollup_TI8_Predictions struct { func (x *CMsgGCToClientBattlePassRollup_TI8_Predictions) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8_Predictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[423] + mi := &file_dota_gcmessages_client_proto_msgTypes[425] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30756,7 +30858,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Predictions) String() string { func (*CMsgGCToClientBattlePassRollup_TI8_Predictions) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8_Predictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[423] + mi := &file_dota_gcmessages_client_proto_msgTypes[425] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30769,7 +30871,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Predictions) ProtoReflect() protoref // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8_Predictions.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8_Predictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 3} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164, 3} } func (x *CMsgGCToClientBattlePassRollup_TI8_Predictions) GetCorrect() uint32 { @@ -30805,7 +30907,7 @@ type CMsgGCToClientBattlePassRollup_TI8_Bracket struct { func (x *CMsgGCToClientBattlePassRollup_TI8_Bracket) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8_Bracket{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[424] + mi := &file_dota_gcmessages_client_proto_msgTypes[426] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30818,7 +30920,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Bracket) String() string { func (*CMsgGCToClientBattlePassRollup_TI8_Bracket) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8_Bracket) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[424] + mi := &file_dota_gcmessages_client_proto_msgTypes[426] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30831,7 +30933,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_Bracket) ProtoReflect() protoreflect // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8_Bracket.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8_Bracket) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 4} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164, 4} } func (x *CMsgGCToClientBattlePassRollup_TI8_Bracket) GetCorrect() uint32 { @@ -30860,7 +30962,7 @@ type CMsgGCToClientBattlePassRollup_TI8_PlayerCard struct { func (x *CMsgGCToClientBattlePassRollup_TI8_PlayerCard) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8_PlayerCard{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[425] + mi := &file_dota_gcmessages_client_proto_msgTypes[427] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30873,7 +30975,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_PlayerCard) String() string { func (*CMsgGCToClientBattlePassRollup_TI8_PlayerCard) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8_PlayerCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[425] + mi := &file_dota_gcmessages_client_proto_msgTypes[427] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30886,7 +30988,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_PlayerCard) ProtoReflect() protorefl // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8_PlayerCard.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8_PlayerCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 5} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164, 5} } func (x *CMsgGCToClientBattlePassRollup_TI8_PlayerCard) GetAccountId() uint32 { @@ -30915,7 +31017,7 @@ type CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge struct { func (x *CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge) Reset() { *x = CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[426] + mi := &file_dota_gcmessages_client_proto_msgTypes[428] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30928,7 +31030,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge) String() string { func (*CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[426] + mi := &file_dota_gcmessages_client_proto_msgTypes[428] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30941,7 +31043,7 @@ func (x *CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge) ProtoReflect() pro // Deprecated: Use CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{162, 6} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{164, 6} } func (x *CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge) GetTotalScore() float32 { @@ -30970,7 +31072,7 @@ type CMsgGCToClientBattlePassRollupListResponse_EventInfo struct { func (x *CMsgGCToClientBattlePassRollupListResponse_EventInfo) Reset() { *x = CMsgGCToClientBattlePassRollupListResponse_EventInfo{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[427] + mi := &file_dota_gcmessages_client_proto_msgTypes[429] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30983,7 +31085,7 @@ func (x *CMsgGCToClientBattlePassRollupListResponse_EventInfo) String() string { func (*CMsgGCToClientBattlePassRollupListResponse_EventInfo) ProtoMessage() {} func (x *CMsgGCToClientBattlePassRollupListResponse_EventInfo) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[427] + mi := &file_dota_gcmessages_client_proto_msgTypes[429] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30996,7 +31098,7 @@ func (x *CMsgGCToClientBattlePassRollupListResponse_EventInfo) ProtoReflect() pr // Deprecated: Use CMsgGCToClientBattlePassRollupListResponse_EventInfo.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBattlePassRollupListResponse_EventInfo) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{168, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{170, 0} } func (x *CMsgGCToClientBattlePassRollupListResponse_EventInfo) GetEventId() uint32 { @@ -31027,7 +31129,7 @@ type CMsgDOTAClientToGCQuickStatsResponse_SimpleStats struct { func (x *CMsgDOTAClientToGCQuickStatsResponse_SimpleStats) Reset() { *x = CMsgDOTAClientToGCQuickStatsResponse_SimpleStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[428] + mi := &file_dota_gcmessages_client_proto_msgTypes[430] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31040,7 +31142,7 @@ func (x *CMsgDOTAClientToGCQuickStatsResponse_SimpleStats) String() string { func (*CMsgDOTAClientToGCQuickStatsResponse_SimpleStats) ProtoMessage() {} func (x *CMsgDOTAClientToGCQuickStatsResponse_SimpleStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[428] + mi := &file_dota_gcmessages_client_proto_msgTypes[430] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31053,7 +31155,7 @@ func (x *CMsgDOTAClientToGCQuickStatsResponse_SimpleStats) ProtoReflect() protor // Deprecated: Use CMsgDOTAClientToGCQuickStatsResponse_SimpleStats.ProtoReflect.Descriptor instead. func (*CMsgDOTAClientToGCQuickStatsResponse_SimpleStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{186, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{188, 0} } func (x *CMsgDOTAClientToGCQuickStatsResponse_SimpleStats) GetWinPercent() float32 { @@ -31099,7 +31201,7 @@ type CMsgProfileResponse_FeaturedHero struct { func (x *CMsgProfileResponse_FeaturedHero) Reset() { *x = CMsgProfileResponse_FeaturedHero{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[429] + mi := &file_dota_gcmessages_client_proto_msgTypes[431] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31112,7 +31214,7 @@ func (x *CMsgProfileResponse_FeaturedHero) String() string { func (*CMsgProfileResponse_FeaturedHero) ProtoMessage() {} func (x *CMsgProfileResponse_FeaturedHero) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[429] + mi := &file_dota_gcmessages_client_proto_msgTypes[431] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31125,7 +31227,7 @@ func (x *CMsgProfileResponse_FeaturedHero) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgProfileResponse_FeaturedHero.ProtoReflect.Descriptor instead. func (*CMsgProfileResponse_FeaturedHero) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{202, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{204, 0} } func (x *CMsgProfileResponse_FeaturedHero) GetHeroId() int32 { @@ -31178,7 +31280,7 @@ type CMsgProfileResponse_MatchInfo struct { func (x *CMsgProfileResponse_MatchInfo) Reset() { *x = CMsgProfileResponse_MatchInfo{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[430] + mi := &file_dota_gcmessages_client_proto_msgTypes[432] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31191,7 +31293,7 @@ func (x *CMsgProfileResponse_MatchInfo) String() string { func (*CMsgProfileResponse_MatchInfo) ProtoMessage() {} func (x *CMsgProfileResponse_MatchInfo) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[430] + mi := &file_dota_gcmessages_client_proto_msgTypes[432] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31204,7 +31306,7 @@ func (x *CMsgProfileResponse_MatchInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgProfileResponse_MatchInfo.ProtoReflect.Descriptor instead. func (*CMsgProfileResponse_MatchInfo) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{202, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{204, 1} } func (x *CMsgProfileResponse_MatchInfo) GetMatchId() uint64 { @@ -31256,7 +31358,7 @@ type CMsgHeroGlobalDataResponse_GraphData struct { func (x *CMsgHeroGlobalDataResponse_GraphData) Reset() { *x = CMsgHeroGlobalDataResponse_GraphData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[431] + mi := &file_dota_gcmessages_client_proto_msgTypes[433] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31269,7 +31371,7 @@ func (x *CMsgHeroGlobalDataResponse_GraphData) String() string { func (*CMsgHeroGlobalDataResponse_GraphData) ProtoMessage() {} func (x *CMsgHeroGlobalDataResponse_GraphData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[431] + mi := &file_dota_gcmessages_client_proto_msgTypes[433] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31282,7 +31384,7 @@ func (x *CMsgHeroGlobalDataResponse_GraphData) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgHeroGlobalDataResponse_GraphData.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataResponse_GraphData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{208, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{210, 0} } func (x *CMsgHeroGlobalDataResponse_GraphData) GetDay() uint32 { @@ -31327,7 +31429,7 @@ type CMsgHeroGlobalDataResponse_WeekData struct { func (x *CMsgHeroGlobalDataResponse_WeekData) Reset() { *x = CMsgHeroGlobalDataResponse_WeekData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[432] + mi := &file_dota_gcmessages_client_proto_msgTypes[434] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31340,7 +31442,7 @@ func (x *CMsgHeroGlobalDataResponse_WeekData) String() string { func (*CMsgHeroGlobalDataResponse_WeekData) ProtoMessage() {} func (x *CMsgHeroGlobalDataResponse_WeekData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[432] + mi := &file_dota_gcmessages_client_proto_msgTypes[434] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31353,7 +31455,7 @@ func (x *CMsgHeroGlobalDataResponse_WeekData) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgHeroGlobalDataResponse_WeekData.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataResponse_WeekData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{208, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{210, 1} } func (x *CMsgHeroGlobalDataResponse_WeekData) GetWeek() uint32 { @@ -31399,7 +31501,7 @@ type CMsgHeroGlobalDataResponse_HeroDataPerRankChunk struct { func (x *CMsgHeroGlobalDataResponse_HeroDataPerRankChunk) Reset() { *x = CMsgHeroGlobalDataResponse_HeroDataPerRankChunk{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[433] + mi := &file_dota_gcmessages_client_proto_msgTypes[435] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31412,7 +31514,7 @@ func (x *CMsgHeroGlobalDataResponse_HeroDataPerRankChunk) String() string { func (*CMsgHeroGlobalDataResponse_HeroDataPerRankChunk) ProtoMessage() {} func (x *CMsgHeroGlobalDataResponse_HeroDataPerRankChunk) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[433] + mi := &file_dota_gcmessages_client_proto_msgTypes[435] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31425,7 +31527,7 @@ func (x *CMsgHeroGlobalDataResponse_HeroDataPerRankChunk) ProtoReflect() protore // Deprecated: Use CMsgHeroGlobalDataResponse_HeroDataPerRankChunk.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataResponse_HeroDataPerRankChunk) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{208, 2} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{210, 2} } func (x *CMsgHeroGlobalDataResponse_HeroDataPerRankChunk) GetRankChunk() uint32 { @@ -31478,7 +31580,7 @@ type CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData struct { func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData) Reset() { *x = CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[434] + mi := &file_dota_gcmessages_client_proto_msgTypes[436] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31491,7 +31593,7 @@ func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData) String() string { func (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData) ProtoMessage() {} func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[434] + mi := &file_dota_gcmessages_client_proto_msgTypes[436] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31504,7 +31606,7 @@ func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData) ProtoReflect() proto // Deprecated: Use CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{210, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{212, 0} } func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData) GetHeroId() int32 { @@ -31554,7 +31656,7 @@ type CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData struct { func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData) Reset() { *x = CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[435] + mi := &file_dota_gcmessages_client_proto_msgTypes[437] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31567,7 +31669,7 @@ func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData) String() strin func (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData) ProtoMessage() {} func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[435] + mi := &file_dota_gcmessages_client_proto_msgTypes[437] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31580,7 +31682,7 @@ func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData) ProtoReflect() // Deprecated: Use CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData.ProtoReflect.Descriptor instead. func (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{210, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{212, 1} } func (x *CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData) GetRank() uint32 { @@ -31610,7 +31712,7 @@ type CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo struct { func (x *CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo) Reset() { *x = CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[436] + mi := &file_dota_gcmessages_client_proto_msgTypes[438] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31623,7 +31725,7 @@ func (x *CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo) String() s func (*CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo) ProtoMessage() {} func (x *CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[436] + mi := &file_dota_gcmessages_client_proto_msgTypes[438] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31636,7 +31738,7 @@ func (x *CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo) ProtoRefle // Deprecated: Use CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{214, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{216, 0} } func (x *CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo) GetPathIdCompleted() uint32 { @@ -31672,7 +31774,7 @@ type CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge struct { func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge) Reset() { *x = CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[437] + mi := &file_dota_gcmessages_client_proto_msgTypes[439] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31685,7 +31787,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge) Stri func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[437] + mi := &file_dota_gcmessages_client_proto_msgTypes[439] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31698,7 +31800,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge) Prot // Deprecated: Use CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225, 0} } func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge) GetPathId_1() uint32 { @@ -31727,7 +31829,7 @@ type CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem struct { func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem) Reset() { *x = CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[438] + mi := &file_dota_gcmessages_client_proto_msgTypes[440] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31740,7 +31842,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem) String( func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[438] + mi := &file_dota_gcmessages_client_proto_msgTypes[440] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31753,7 +31855,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem) ProtoRe // Deprecated: Use CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225, 1} } func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem) GetItemType() uint32 { @@ -31782,7 +31884,7 @@ type CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap struct { func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap) Reset() { *x = CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[439] + mi := &file_dota_gcmessages_client_proto_msgTypes[441] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31795,7 +31897,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap) String() func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[439] + mi := &file_dota_gcmessages_client_proto_msgTypes[441] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31808,7 +31910,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap) ProtoRefl // Deprecated: Use CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223, 2} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225, 2} } func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap) GetMapRoomId() uint32 { @@ -31851,7 +31953,7 @@ type CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant struct { func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant) Reset() { *x = CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[440] + mi := &file_dota_gcmessages_client_proto_msgTypes[442] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31864,7 +31966,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant) String() s func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[440] + mi := &file_dota_gcmessages_client_proto_msgTypes[442] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31877,7 +31979,7 @@ func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant) ProtoRefle // Deprecated: Use CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{223, 3} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225, 3} } func (x *CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant) GetMapVariant() uint32 { @@ -32004,7 +32106,7 @@ type CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant struct { func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant) Reset() { *x = CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[441] + mi := &file_dota_gcmessages_client_proto_msgTypes[443] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32017,7 +32119,7 @@ func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant) String func (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant) ProtoMessage() {} func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[441] + mi := &file_dota_gcmessages_client_proto_msgTypes[443] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32030,7 +32132,7 @@ func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant) ProtoR // Deprecated: Use CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant.ProtoReflect.Descriptor instead. func (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{225, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{227, 0} } func (x *CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant) GetMapVariant() uint32 { @@ -32060,7 +32162,7 @@ type CMsgDOTAMutationList_Mutation struct { func (x *CMsgDOTAMutationList_Mutation) Reset() { *x = CMsgDOTAMutationList_Mutation{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[442] + mi := &file_dota_gcmessages_client_proto_msgTypes[444] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32073,7 +32175,7 @@ func (x *CMsgDOTAMutationList_Mutation) String() string { func (*CMsgDOTAMutationList_Mutation) ProtoMessage() {} func (x *CMsgDOTAMutationList_Mutation) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[442] + mi := &file_dota_gcmessages_client_proto_msgTypes[444] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32086,7 +32188,7 @@ func (x *CMsgDOTAMutationList_Mutation) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAMutationList_Mutation.ProtoReflect.Descriptor instead. func (*CMsgDOTAMutationList_Mutation) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{226, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{228, 0} } func (x *CMsgDOTAMutationList_Mutation) GetId() uint32 { @@ -32122,7 +32224,7 @@ type CMsgEventTipsSummaryResponse_Tipper struct { func (x *CMsgEventTipsSummaryResponse_Tipper) Reset() { *x = CMsgEventTipsSummaryResponse_Tipper{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[443] + mi := &file_dota_gcmessages_client_proto_msgTypes[445] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32135,7 +32237,7 @@ func (x *CMsgEventTipsSummaryResponse_Tipper) String() string { func (*CMsgEventTipsSummaryResponse_Tipper) ProtoMessage() {} func (x *CMsgEventTipsSummaryResponse_Tipper) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[443] + mi := &file_dota_gcmessages_client_proto_msgTypes[445] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32148,7 +32250,7 @@ func (x *CMsgEventTipsSummaryResponse_Tipper) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgEventTipsSummaryResponse_Tipper.ProtoReflect.Descriptor instead. func (*CMsgEventTipsSummaryResponse_Tipper) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{228, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{230, 0} } func (x *CMsgEventTipsSummaryResponse_Tipper) GetTipperAccountId() uint32 { @@ -32186,7 +32288,7 @@ type CMsgSocialFeedResponse_FeedEvent struct { func (x *CMsgSocialFeedResponse_FeedEvent) Reset() { *x = CMsgSocialFeedResponse_FeedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[444] + mi := &file_dota_gcmessages_client_proto_msgTypes[446] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32199,7 +32301,7 @@ func (x *CMsgSocialFeedResponse_FeedEvent) String() string { func (*CMsgSocialFeedResponse_FeedEvent) ProtoMessage() {} func (x *CMsgSocialFeedResponse_FeedEvent) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[444] + mi := &file_dota_gcmessages_client_proto_msgTypes[446] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32212,7 +32314,7 @@ func (x *CMsgSocialFeedResponse_FeedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSocialFeedResponse_FeedEvent.ProtoReflect.Descriptor instead. func (*CMsgSocialFeedResponse_FeedEvent) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{230, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{232, 0} } func (x *CMsgSocialFeedResponse_FeedEvent) GetFeedEventId() uint64 { @@ -32305,7 +32407,7 @@ type CMsgSocialFeedCommentsResponse_FeedComment struct { func (x *CMsgSocialFeedCommentsResponse_FeedComment) Reset() { *x = CMsgSocialFeedCommentsResponse_FeedComment{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[445] + mi := &file_dota_gcmessages_client_proto_msgTypes[447] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32318,7 +32420,7 @@ func (x *CMsgSocialFeedCommentsResponse_FeedComment) String() string { func (*CMsgSocialFeedCommentsResponse_FeedComment) ProtoMessage() {} func (x *CMsgSocialFeedCommentsResponse_FeedComment) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[445] + mi := &file_dota_gcmessages_client_proto_msgTypes[447] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32331,7 +32433,7 @@ func (x *CMsgSocialFeedCommentsResponse_FeedComment) ProtoReflect() protoreflect // Deprecated: Use CMsgSocialFeedCommentsResponse_FeedComment.ProtoReflect.Descriptor instead. func (*CMsgSocialFeedCommentsResponse_FeedComment) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{232, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{234, 0} } func (x *CMsgSocialFeedCommentsResponse_FeedComment) GetCommenterAccountId() uint32 { @@ -32367,7 +32469,7 @@ type CMsgClientToGCRequestContestVotesResponse_ItemVote struct { func (x *CMsgClientToGCRequestContestVotesResponse_ItemVote) Reset() { *x = CMsgClientToGCRequestContestVotesResponse_ItemVote{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[446] + mi := &file_dota_gcmessages_client_proto_msgTypes[448] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32380,7 +32482,7 @@ func (x *CMsgClientToGCRequestContestVotesResponse_ItemVote) String() string { func (*CMsgClientToGCRequestContestVotesResponse_ItemVote) ProtoMessage() {} func (x *CMsgClientToGCRequestContestVotesResponse_ItemVote) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[446] + mi := &file_dota_gcmessages_client_proto_msgTypes[448] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32393,7 +32495,7 @@ func (x *CMsgClientToGCRequestContestVotesResponse_ItemVote) ProtoReflect() prot // Deprecated: Use CMsgClientToGCRequestContestVotesResponse_ItemVote.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestContestVotesResponse_ItemVote) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{236, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{238, 0} } func (x *CMsgClientToGCRequestContestVotesResponse_ItemVote) GetContestItemId() uint64 { @@ -32424,7 +32526,7 @@ type CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry struct { func (x *CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry) Reset() { *x = CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[447] + mi := &file_dota_gcmessages_client_proto_msgTypes[449] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32437,7 +32539,7 @@ func (x *CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry) String() string func (*CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry) ProtoMessage() {} func (x *CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[447] + mi := &file_dota_gcmessages_client_proto_msgTypes[449] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32450,7 +32552,7 @@ func (x *CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry) ProtoReflect() p // Deprecated: Use CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry.ProtoReflect.Descriptor instead. func (*CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{250, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{252, 0} } func (x *CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry) GetAccountId() uint32 { @@ -32493,7 +32595,7 @@ type CMsgGCToClientVerifyFavoritePlayersResponse_Result struct { func (x *CMsgGCToClientVerifyFavoritePlayersResponse_Result) Reset() { *x = CMsgGCToClientVerifyFavoritePlayersResponse_Result{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[448] + mi := &file_dota_gcmessages_client_proto_msgTypes[450] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32506,7 +32608,7 @@ func (x *CMsgGCToClientVerifyFavoritePlayersResponse_Result) String() string { func (*CMsgGCToClientVerifyFavoritePlayersResponse_Result) ProtoMessage() {} func (x *CMsgGCToClientVerifyFavoritePlayersResponse_Result) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[448] + mi := &file_dota_gcmessages_client_proto_msgTypes[450] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32519,7 +32621,7 @@ func (x *CMsgGCToClientVerifyFavoritePlayersResponse_Result) ProtoReflect() prot // Deprecated: Use CMsgGCToClientVerifyFavoritePlayersResponse_Result.ProtoReflect.Descriptor instead. func (*CMsgGCToClientVerifyFavoritePlayersResponse_Result) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{271, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{273, 0} } func (x *CMsgGCToClientVerifyFavoritePlayersResponse_Result) GetPlayer() *CMsgPartySearchPlayer { @@ -32550,7 +32652,7 @@ type CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate struct { func (x *CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate) Reset() { *x = CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[449] + mi := &file_dota_gcmessages_client_proto_msgTypes[451] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32563,7 +32665,7 @@ func (x *CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate) String() s func (*CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate) ProtoMessage() {} func (x *CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[449] + mi := &file_dota_gcmessages_client_proto_msgTypes[451] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32576,7 +32678,7 @@ func (x *CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate) ProtoRefle // Deprecated: Use CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate.ProtoReflect.Descriptor instead. func (*CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{296, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{298, 0} } func (x *CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate) GetMatchId() uint64 { @@ -32619,7 +32721,7 @@ type CMsgClientToGCGetOWMatchDetailsResponse_Marker struct { func (x *CMsgClientToGCGetOWMatchDetailsResponse_Marker) Reset() { *x = CMsgClientToGCGetOWMatchDetailsResponse_Marker{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[450] + mi := &file_dota_gcmessages_client_proto_msgTypes[452] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32632,7 +32734,7 @@ func (x *CMsgClientToGCGetOWMatchDetailsResponse_Marker) String() string { func (*CMsgClientToGCGetOWMatchDetailsResponse_Marker) ProtoMessage() {} func (x *CMsgClientToGCGetOWMatchDetailsResponse_Marker) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[450] + mi := &file_dota_gcmessages_client_proto_msgTypes[452] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32645,7 +32747,7 @@ func (x *CMsgClientToGCGetOWMatchDetailsResponse_Marker) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCGetOWMatchDetailsResponse_Marker.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetOWMatchDetailsResponse_Marker) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{302, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{304, 0} } func (x *CMsgClientToGCGetOWMatchDetailsResponse_Marker) GetStartGameTimeS() uint32 { @@ -32674,7 +32776,7 @@ type CMsgClientToGCGetDPCFavoritesResponse_Favorite struct { func (x *CMsgClientToGCGetDPCFavoritesResponse_Favorite) Reset() { *x = CMsgClientToGCGetDPCFavoritesResponse_Favorite{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[451] + mi := &file_dota_gcmessages_client_proto_msgTypes[453] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32687,7 +32789,7 @@ func (x *CMsgClientToGCGetDPCFavoritesResponse_Favorite) String() string { func (*CMsgClientToGCGetDPCFavoritesResponse_Favorite) ProtoMessage() {} func (x *CMsgClientToGCGetDPCFavoritesResponse_Favorite) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[451] + mi := &file_dota_gcmessages_client_proto_msgTypes[453] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32700,7 +32802,7 @@ func (x *CMsgClientToGCGetDPCFavoritesResponse_Favorite) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCGetDPCFavoritesResponse_Favorite.ProtoReflect.Descriptor instead. func (*CMsgClientToGCGetDPCFavoritesResponse_Favorite) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{314, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{316, 0} } func (x *CMsgClientToGCGetDPCFavoritesResponse_Favorite) GetFavoriteType() EDPCFavoriteType { @@ -32729,7 +32831,7 @@ type CMsgClientToGCPlaceStickersRequest_StickerItem struct { func (x *CMsgClientToGCPlaceStickersRequest_StickerItem) Reset() { *x = CMsgClientToGCPlaceStickersRequest_StickerItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[452] + mi := &file_dota_gcmessages_client_proto_msgTypes[454] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32742,7 +32844,7 @@ func (x *CMsgClientToGCPlaceStickersRequest_StickerItem) String() string { func (*CMsgClientToGCPlaceStickersRequest_StickerItem) ProtoMessage() {} func (x *CMsgClientToGCPlaceStickersRequest_StickerItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[452] + mi := &file_dota_gcmessages_client_proto_msgTypes[454] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32755,7 +32857,7 @@ func (x *CMsgClientToGCPlaceStickersRequest_StickerItem) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCPlaceStickersRequest_StickerItem.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlaceStickersRequest_StickerItem) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{327, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{329, 0} } func (x *CMsgClientToGCPlaceStickersRequest_StickerItem) GetPageNum() uint32 { @@ -32787,7 +32889,7 @@ type CMsgClientToGCPlaceCollectionStickersRequest_Slot struct { func (x *CMsgClientToGCPlaceCollectionStickersRequest_Slot) Reset() { *x = CMsgClientToGCPlaceCollectionStickersRequest_Slot{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[453] + mi := &file_dota_gcmessages_client_proto_msgTypes[455] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32800,7 +32902,7 @@ func (x *CMsgClientToGCPlaceCollectionStickersRequest_Slot) String() string { func (*CMsgClientToGCPlaceCollectionStickersRequest_Slot) ProtoMessage() {} func (x *CMsgClientToGCPlaceCollectionStickersRequest_Slot) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[453] + mi := &file_dota_gcmessages_client_proto_msgTypes[455] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32813,7 +32915,7 @@ func (x *CMsgClientToGCPlaceCollectionStickersRequest_Slot) ProtoReflect() proto // Deprecated: Use CMsgClientToGCPlaceCollectionStickersRequest_Slot.ProtoReflect.Descriptor instead. func (*CMsgClientToGCPlaceCollectionStickersRequest_Slot) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{329, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{331, 0} } func (x *CMsgClientToGCPlaceCollectionStickersRequest_Slot) GetPageNum() uint32 { @@ -32863,7 +32965,7 @@ type CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote struct { func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote) Reset() { *x = CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[454] + mi := &file_dota_gcmessages_client_proto_msgTypes[456] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32876,7 +32978,7 @@ func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote) String() strin func (*CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote) ProtoMessage() {} func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[454] + mi := &file_dota_gcmessages_client_proto_msgTypes[456] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32889,7 +32991,7 @@ func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote) ProtoReflect() // Deprecated: Use CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote.ProtoReflect.Descriptor instead. func (*CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{342, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{344, 0} } func (x *CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote) GetItemDef() uint32 { @@ -32918,7 +33020,7 @@ type CMsgClientToGCUpdateComicBookStats_SingleStat struct { func (x *CMsgClientToGCUpdateComicBookStats_SingleStat) Reset() { *x = CMsgClientToGCUpdateComicBookStats_SingleStat{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[455] + mi := &file_dota_gcmessages_client_proto_msgTypes[457] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32931,7 +33033,7 @@ func (x *CMsgClientToGCUpdateComicBookStats_SingleStat) String() string { func (*CMsgClientToGCUpdateComicBookStats_SingleStat) ProtoMessage() {} func (x *CMsgClientToGCUpdateComicBookStats_SingleStat) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[455] + mi := &file_dota_gcmessages_client_proto_msgTypes[457] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32944,7 +33046,7 @@ func (x *CMsgClientToGCUpdateComicBookStats_SingleStat) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCUpdateComicBookStats_SingleStat.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUpdateComicBookStats_SingleStat) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{361, 0} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{363, 0} } func (x *CMsgClientToGCUpdateComicBookStats_SingleStat) GetStatType() CMsgClientToGCUpdateComicBookStat_Type { @@ -32974,7 +33076,7 @@ type CMsgClientToGCUpdateComicBookStats_LanguageStats struct { func (x *CMsgClientToGCUpdateComicBookStats_LanguageStats) Reset() { *x = CMsgClientToGCUpdateComicBookStats_LanguageStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_proto_msgTypes[456] + mi := &file_dota_gcmessages_client_proto_msgTypes[458] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32987,7 +33089,7 @@ func (x *CMsgClientToGCUpdateComicBookStats_LanguageStats) String() string { func (*CMsgClientToGCUpdateComicBookStats_LanguageStats) ProtoMessage() {} func (x *CMsgClientToGCUpdateComicBookStats_LanguageStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_proto_msgTypes[456] + mi := &file_dota_gcmessages_client_proto_msgTypes[458] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33000,7 +33102,7 @@ func (x *CMsgClientToGCUpdateComicBookStats_LanguageStats) ProtoReflect() protor // Deprecated: Use CMsgClientToGCUpdateComicBookStats_LanguageStats.ProtoReflect.Descriptor instead. func (*CMsgClientToGCUpdateComicBookStats_LanguageStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{361, 1} + return file_dota_gcmessages_client_proto_rawDescGZIP(), []int{363, 1} } func (x *CMsgClientToGCUpdateComicBookStats_LanguageStats) GetComicId() uint32 { @@ -33823,7 +33925,7 @@ var file_dota_gcmessages_client_proto_rawDesc = []byte{ 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x69, 0x66, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, @@ -33833,3321 +33935,3311 @@ var file_dota_gcmessages_client_proto_rawDesc = []byte{ 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x96, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x80, 0x01, 0x0a, 0x2f, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x69, 0x6e, 0x67, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x30, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6c, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x3a, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x27, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, - 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xfb, 0x03, 0x0a, - 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x6d, - 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x6d, 0x69, - 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x58, - 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x4e, 0x0a, 0x06, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x1b, 0x43, - 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, - 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x8f, 0x01, 0x0a, 0x23, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, - 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x13, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, - 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x1f, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x55, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, - 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x13, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x61, 0x0a, 0x17, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x15, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x1b, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x22, 0x3f, 0x0a, 0x23, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5b, 0x0a, - 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5a, 0x0a, 0x1d, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x22, 0xba, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, - 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, - 0x75, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, - 0x75, 0x65, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x0f, - 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x22, 0x80, 0x01, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x49, + 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, + 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xfb, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x30, + 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x65, + 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x11, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x4e, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, + 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x8f, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, + 0x15, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, + 0x78, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x14, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x4f, 0x54, 0x41, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x15, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x13, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, + 0x65, 0x79, 0x12, 0x61, 0x0a, 0x17, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x15, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x22, 0x3f, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x43, 0x0a, 0x25, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x22, 0x49, + 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x75, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5b, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x44, - 0x61, 0x74, 0x61, 0x22, 0xea, 0x02, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, + 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5a, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, + 0x69, 0x64, 0x22, 0xba, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, - 0x2b, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, - 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x30, - 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x22, 0xec, 0x06, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x1a, 0xd6, 0x05, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, - 0x6f, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x67, - 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, - 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1d, - 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x73, 0x6f, 0x6c, 0x6f, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x73, 0x6f, 0x6c, 0x6f, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x62, - 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x62, 0x61, - 0x6e, 0x64, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, - 0x61, 0x6e, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x61, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x75, 0x72, 0x6e, - 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x65, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, - 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, - 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, - 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x54, 0x69, 0x65, 0x72, 0x12, 0x29, - 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, - 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, - 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x27, 0x0a, 0x10, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x69, 0x5f, 0x6c, - 0x6f, 0x67, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x75, 0x67, 0x63, 0x54, 0x65, - 0x61, 0x6d, 0x55, 0x69, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x61, 0x63, 0x65, 0x74, 0x22, - 0x1c, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf9, 0x01, - 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x41, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x22, + 0xea, 0x02, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x29, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x41, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xec, 0x06, 0x0a, + 0x25, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x1a, 0xd6, 0x05, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, + 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x6c, + 0x6f, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, + 0x6c, 0x6f, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, + 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, + 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x52, + 0x61, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, + 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, + 0x65, 0x79, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, + 0x65, 0x79, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, + 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x54, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, + 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x44, 0x69, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x75, + 0x67, 0x63, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x69, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x75, 0x67, 0x63, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x69, + 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x61, 0x63, 0x65, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2d, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x15, - 0x0a, 0x11, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x01, 0x22, 0x56, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x24, 0x0a, - 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x22, 0xca, 0x01, 0x0a, 0x1e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x62, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x46, - 0x4f, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, - 0x46, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x03, 0x22, 0x69, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x53, 0x44, 0x4f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, - 0x5f, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x11, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, - 0x6f, 0x6e, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x66, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0f, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, - 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x45, - 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x44, 0x4f, - 0x52, 0x0e, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0x5c, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x44, 0x72, 0x6f, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x12, - 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1f, - 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, - 0x42, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x73, 0x22, 0x41, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc0, 0x06, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, - 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf9, 0x01, 0x0a, 0x20, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x41, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x42, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x2d, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, + 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x01, 0x22, 0x56, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x37, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0xa5, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x72, 0x6f, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, + 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x22, 0xca, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0x62, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x4c, 0x4f, + 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x10, 0x03, 0x22, 0x69, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x44, + 0x4f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x2d, 0x0a, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x6d, 0x6f, + 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x75, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x73, 0x22, + 0x23, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x66, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0f, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x45, 0x6d, 0x6f, 0x74, 0x69, + 0x63, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x44, 0x4f, 0x52, 0x0e, 0x65, 0x6d, + 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x20, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, + 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x25, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, + 0x41, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x48, 0x65, - 0x72, 0x6f, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, - 0x70, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, - 0x75, 0x72, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x61, - 0x6d, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x6c, 0x61, 0x70, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x12, 0x63, 0x75, 0x72, 0x72, 0x4c, 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x6c, - 0x61, 0x70, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x63, 0x75, 0x72, 0x72, 0x4c, 0x61, 0x70, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, - 0x62, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x70, 0x47, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x65, 0x73, 0x74, 0x4c, - 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x70, 0x5f, 0x68, 0x65, - 0x72, 0x6f, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x70, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x70, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x70, 0x48, 0x65, 0x72, 0x6f, 0x65, - 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, - 0x70, 0x72, 0x65, 0x76, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x67, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x48, 0x65, 0x72, - 0x6f, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, - 0x76, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, - 0x70, 0x72, 0x65, 0x76, 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, - 0x63, 0x75, 0x72, 0x72, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, - 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, - 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x4c, 0x61, 0x70, 0x41, 0x76, 0x67, - 0x54, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x6c, 0x61, - 0x70, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x4c, 0x61, 0x70, 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x68, - 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1b, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x6f, 0x70, 0x68, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xe0, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x54, 0x72, 0x6f, - 0x70, 0x68, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4c, 0x0a, 0x08, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x49, 0x64, 0x22, 0xc0, 0x06, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x70, 0x73, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, + 0x31, 0x0a, 0x15, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, + 0x63, 0x75, 0x72, 0x72, 0x4c, 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x67, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, + 0x4c, 0x61, 0x70, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, 0x73, 0x74, + 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x70, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, + 0x0a, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x70, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x70, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x6c, 0x61, 0x70, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x70, 0x5f, 0x68, 0x65, 0x72, 0x6f, + 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x70, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x65, + 0x78, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x76, + 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x70, 0x72, 0x65, 0x76, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, + 0x65, 0x76, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x61, 0x6d, + 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x76, + 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, + 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x41, 0x76, 0x67, 0x54, + 0x72, 0x69, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6c, 0x61, 0x70, + 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x4c, 0x61, 0x70, 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x6c, 0x61, 0x70, 0x5f, 0x61, 0x76, + 0x67, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, + 0x75, 0x72, 0x72, 0x4c, 0x61, 0x70, 0x41, 0x76, 0x67, 0x54, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x6f, - 0x70, 0x68, 0x79, 0x52, 0x08, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x69, 0x65, 0x73, 0x1a, 0x6b, 0x0a, - 0x06, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x6f, 0x70, 0x68, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x72, 0x6f, 0x70, - 0x68, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x6f, 0x70, - 0x68, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, - 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x1b, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x6f, - 0x70, 0x68, 0x79, 0x41, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, - 0x6f, 0x70, 0x68, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, - 0x72, 0x6f, 0x70, 0x68, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x6f, 0x70, 0x68, - 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, - 0x72, 0x6f, 0x70, 0x68, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x72, - 0x6f, 0x70, 0x68, 0x79, 0x5f, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x4f, 0x6c, 0x64, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0x49, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, - 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x44, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, - 0x6b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x31, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x44, - 0x61, 0x74, 0x61, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x33, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x44, 0x61, - 0x74, 0x61, 0x33, 0x22, 0x43, 0x0a, 0x0b, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, - 0x64, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x61, - 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x22, 0x87, 0x01, 0x0a, 0x18, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x49, 0x6e, - 0x66, 0x6f, 0x22, 0x3d, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, - 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x22, 0xe0, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x74, + 0x72, 0x6f, 0x70, 0x68, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x52, + 0x08, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x69, 0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x06, 0x54, 0x72, 0x6f, + 0x70, 0x68, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x49, 0x64, + 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x72, 0x6f, 0x70, 0x68, + 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x6f, 0x70, 0x68, + 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, + 0x5f, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x4f, 0x6c, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x22, 0x49, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x52, 0x61, 0x6e, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa3, + 0x02, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x31, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, + 0x31, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x32, + 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x33, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x33, 0x22, + 0x43, 0x0a, 0x0b, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, + 0x0a, 0x0b, 0x6b, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, + 0x0c, 0x0a, 0x08, 0x6b, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x01, 0x12, 0x15, 0x0a, + 0x11, 0x6b, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x10, 0x02, 0x22, 0x87, 0x01, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x52, 0x61, 0x6e, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x3d, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3d, + 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xe8, 0x01, + 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, + 0x6f, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x2e, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x1a, 0x7b, 0x0a, 0x08, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, + 0x12, 0x37, 0x0a, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x6f, + 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, + 0x6c, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xc5, 0x02, + 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, + 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x05, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x65, + 0x61, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x77, + 0x65, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, + 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, + 0x66, 0x6f, 0x72, 0x67, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, + 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x44, 0x72, 0x6f, 0x70, 0x22, 0x52, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, + 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x20, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xe1, 0x06, 0x0a, + 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0xe8, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x1a, - 0x7b, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, - 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, - 0x6f, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x21, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, - 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x79, 0x63, 0x6c, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x77, 0x65, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x09, 0x77, 0x65, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, - 0x69, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x67, - 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0e, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, - 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, - 0x72, 0x6f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x6f, 0x75, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x22, 0x52, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x41, 0x0a, - 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x22, 0xe1, 0x06, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x61, - 0x6e, 0x5f, 0x67, 0x70, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x61, - 0x6e, 0x47, 0x70, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x78, 0x70, 0x70, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x58, 0x70, 0x70, - 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x68, 0x69, - 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x65, 0x61, 0x6e, 0x4c, 0x61, - 0x73, 0x74, 0x68, 0x69, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x69, 0x6c, - 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, - 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x43, 0x6c, - 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, - 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x47, 0x69, 0x76, 0x65, - 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x69, - 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x72, - 0x69, 0x65, 0x72, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x65, - 0x67, 0x69, 0x73, 0x65, 0x73, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x65, 0x67, 0x69, 0x73, 0x65, 0x73, 0x53, 0x6e, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0x73, - 0x5f, 0x65, 0x61, 0x74, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, - 0x65, 0x65, 0x73, 0x65, 0x73, 0x45, 0x61, 0x74, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x72, - 0x65, 0x65, 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x65, 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x65, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x69, 0x67, 0x68, 0x74, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x61, 0x72, 0x6d, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x74, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x65, 0x61, 0x6e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x61, 0x6e, 0x5f, - 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x65, - 0x61, 0x6e, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x61, 0x6e, - 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x65, - 0x61, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x61, 0x70, 0x69, 0x65, - 0x72, 0x73, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x50, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x64, 0x22, 0x2f, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfb, 0x01, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x67, 0x70, + 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x61, 0x6e, 0x47, 0x70, 0x6d, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x78, 0x70, 0x70, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x58, 0x70, 0x70, 0x6d, 0x12, 0x23, 0x0a, + 0x0d, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x68, 0x69, 0x74, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x65, 0x61, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x68, 0x69, + 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, + 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, + 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, + 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x27, 0x0a, + 0x0f, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x73, + 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x65, 0x67, 0x69, 0x73, 0x65, + 0x73, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0f, 0x61, 0x65, 0x67, 0x69, 0x73, 0x65, 0x73, 0x53, 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0x73, 0x5f, 0x65, 0x61, 0x74, + 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, + 0x73, 0x45, 0x61, 0x74, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x65, 0x70, 0x73, + 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x63, 0x72, 0x65, 0x65, 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0a, 0x66, 0x69, 0x67, 0x68, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x09, 0x66, 0x61, 0x72, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x65, 0x61, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x64, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x61, 0x6e, 0x44, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x68, 0x65, 0x61, + 0x6c, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x65, 0x61, 0x6e, 0x48, 0x65, + 0x61, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x70, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, + 0x22, 0x2f, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0xfb, 0x01, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x53, - 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x73, 0x22, 0x61, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x50, - 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x47, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, - 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0x8a, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x47, 0x0a, 0x2b, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x53, 0x0a, 0x0a, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, + 0x61, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x22, 0x47, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x50, 0x6f, + 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x2a, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x54, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x2d, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x73, 0x22, 0xeb, 0x05, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, - 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, - 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6c, - 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x75, 0x69, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, - 0x75, 0x67, 0x63, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x69, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x40, 0x0a, - 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, - 0x72, 0x74, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2e, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x57, 0x0a, 0x0f, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, - 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x69, 0x63, - 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, - 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x0e, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, - 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x1a, 0x39, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6f, - 0x61, 0x63, 0x68, 0x1a, 0x8b, 0x02, 0x0a, 0x0e, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, - 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, - 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x4e, - 0x75, 0x6d, 0x12, 0x3c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, - 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, - 0x64, 0x22, 0xe5, 0x02, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x6c, 0x6f, - 0x62, 0x62, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, - 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x2c, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, - 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, - 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0xf4, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x6c, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x47, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x46, 0x65, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x22, 0x54, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, + 0xeb, 0x05, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, + 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, + 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, + 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x27, 0x0a, 0x10, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x69, 0x5f, + 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x75, 0x67, 0x63, 0x54, + 0x65, 0x61, 0x6d, 0x55, 0x69, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, + 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x0f, 0x77, + 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x65, 0x79, 0x52, 0x0e, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x65, 0x79, 0x1a, 0x39, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, + 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x61, + 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x1a, + 0x8b, 0x02, 0x0a, 0x0e, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, + 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x3c, + 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0xe5, 0x02, + 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, + 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x6f, - 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, 0x6d, - 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x31, 0x12, 0x1a, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, - 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x32, - 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x48, 0x32, 0x36, 0x34, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x22, 0x3d, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x73, - 0x22, 0xeb, 0x03, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x1a, 0x8d, - 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x69, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x30, 0x0a, + 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, + 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x4c, + 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, + 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x27, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, + 0x6d, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x6f, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x11, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x65, 0x6d, 0x43, 0x6f, 0x6d, 0x62, + 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, + 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x31, + 0x12, 0x1a, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x32, 0x22, 0x1f, 0x0a, 0x1d, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x48, 0x32, + 0x36, 0x34, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x22, 0x3d, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x73, 0x22, 0xeb, 0x03, 0x0a, + 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x39, - 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x19, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, - 0x79, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x3b, 0x0a, - 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x44, - 0x4f, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x43, 0x4d, - 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x95, 0x06, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x64, 0x75, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x72, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x71, 0x5f, - 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, 0x71, 0x4e, 0x75, - 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x49, - 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x41, 0x62, 0x61, 0x6e, 0x64, - 0x6f, 0x6e, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, - 0x61, 0x77, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x77, 0x42, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x6c, 0x64, - 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x6c, 0x64, 0x52, 0x61, - 0x77, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, - 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x63, - 0x61, 0x72, 0x64, 0x2e, 0x45, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x22, 0x52, 0x0a, 0x0f, 0x45, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x42, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x47, 0x6f, 0x6f, 0x64, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x6b, - 0x5f, 0x65, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x42, 0x61, 0x64, 0x10, 0x02, 0x22, 0x3a, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x22, 0xe7, 0x04, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x5f, - 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, - 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x57, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x74, 0x69, 0x70, 0x70, - 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x54, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2e, - 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x61, - 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x32, 0x0a, 0x15, 0x72, - 0x61, 0x6e, 0x6b, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x61, 0x6e, 0x6b, - 0x57, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x26, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x6d, - 0x61, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x6b, 0x57, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x3e, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, - 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x6d, 0x61, 0x78, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x2d, 0x0a, 0x12, 0x62, - 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x4d, 0x61, 0x78, 0x22, 0x84, 0x01, - 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0d, 0x77, 0x61, 0x67, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, - 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x76, 0x6f, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x22, - 0x48, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x73, 0x12, 0x29, - 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x0e, 0x43, 0x4d, - 0x73, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0b, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x6f, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, - 0x6c, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x73, 0x1a, 0x63, 0x0a, - 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x6f, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x67, 0x6f, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x3a, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, - 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0x82, - 0x03, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x92, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, - 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x87, 0x01, 0x0a, 0x0a, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x10, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x69, - 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x6e, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x6e, 0x65, 0x73, 0x22, 0xbc, 0x02, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3c, 0x0a, - 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x5f, 0x0a, 0x0f, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x29, - 0x0a, 0x10, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x83, 0x01, 0x0a, - 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, - 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, - 0x77, 0x6e, 0x22, 0x3f, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x48, 0x61, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x6f, 0x74, - 0x65, 0x64, 0x46, 0x6f, 0x72, 0x4d, 0x56, 0x50, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x48, 0x61, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x6f, - 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x4d, 0x56, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x6f, 0x74, 0x65, 0x46, - 0x6f, 0x72, 0x4d, 0x56, 0x50, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, - 0x3a, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x56, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x39, 0x0a, 0x1c, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x56, 0x50, - 0x56, 0x6f, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x56, 0x50, 0x56, 0x6f, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x91, 0x03, 0x0a, - 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, - 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5d, - 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, 0x65, 0x61, 0x6d, - 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0d, - 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xf0, 0x01, - 0x0a, 0x0c, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x61, - 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x6f, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6d, 0x6f, 0x73, - 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x6d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x64, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, - 0x22, 0x57, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x12, - 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x72, 0x63, 0x61, - 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x23, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x6f, 0x74, 0x65, - 0x46, 0x6f, 0x72, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x48, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x72, - 0x63, 0x61, 0x6e, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4e, 0x0a, 0x06, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x56, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x52, - 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x02, 0x22, 0x2b, 0x0a, 0x29, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xf6, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xca, 0x01, + 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x73, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x1a, 0x8d, 0x01, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x69, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x1c, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x21, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x44, 0x4f, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x07, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x95, 0x06, 0x0a, 0x1a, + 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x75, 0x63, + 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, + 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x49, 0x6e, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x61, + 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x61, 0x77, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x77, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x77, + 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x6c, 0x64, 0x52, 0x61, 0x77, 0x42, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, + 0x6d, 0x6d, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x72, 0x64, 0x2e, + 0x45, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x0e, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, + 0x52, 0x0a, 0x0f, 0x45, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x47, 0x6f, 0x6f, 0x64, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x42, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, + 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x61, + 0x64, 0x10, 0x02, 0x22, 0x3a, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, + 0xe7, 0x04, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x69, + 0x6e, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x57, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x74, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x54, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x61, + 0x6d, 0x65, 0x73, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, + 0x69, 0x6e, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, + 0x6f, 0x69, 0x6e, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x61, 0x6e, 0x6b, 0x5f, + 0x77, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x61, 0x6e, 0x6b, 0x57, 0x61, 0x67, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x72, + 0x61, 0x6e, 0x6b, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x6b, 0x57, 0x61, 0x67, 0x65, 0x72, 0x73, + 0x4d, 0x61, 0x78, 0x12, 0x3e, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x6f, 0x75, 0x6e, 0x74, + 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x69, + 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, + 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x4d, 0x61, 0x78, 0x22, 0x84, 0x01, 0x0a, 0x1c, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x67, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0d, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0x98, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x5a, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, - 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x12, 0x5f, 0x0a, 0x1c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x19, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x64, 0x46, 0x6f, - 0x72, 0x22, 0x41, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x56, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x22, 0xdd, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, - 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x2e, - 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x70, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x84, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x53, 0x6c, 0x61, 0x72, 0x6b, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, - 0x5f, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, - 0x6c, 0x6f, 0x74, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x65, - 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x22, 0x68, 0x0a, - 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6c, 0x61, 0x72, 0x6b, 0x47, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x57, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, - 0x61, 0x75, 0x72, 0x61, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x61, 0x75, 0x72, 0x61, 0x57, 0x6f, 0x6e, 0x22, 0x99, 0x03, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x65, 0x0a, 0x14, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, - 0x1a, 0xf0, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, - 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x24, 0x0a, - 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x61, 0x6e, 0x6b, 0x22, 0x58, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, - 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x44, 0x65, 0x66, 0x22, 0x94, 0x01, - 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, - 0x64, 0x65, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x0b, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x65, 0x64, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x5f, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x10, 0x01, 0x22, 0xa9, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0b, + 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x48, 0x0a, 0x1b, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x09, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x0c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x67, 0x6f, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, + 0x61, 0x6c, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x52, 0x0a, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x73, 0x1a, 0x63, 0x0a, 0x09, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x67, 0x6f, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x67, 0x6f, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a, + 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0x82, 0x03, 0x0a, 0x16, 0x43, + 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, + 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0x92, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4c, 0x6f, + 0x67, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x87, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x2e, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x0f, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x22, + 0xbc, 0x02, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x5f, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x83, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x0f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x3f, + 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x48, 0x61, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x6f, 0x74, 0x65, 0x64, 0x46, 0x6f, + 0x72, 0x4d, 0x56, 0x50, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, + 0x44, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x48, 0x61, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x6f, 0x74, 0x65, 0x64, 0x46, + 0x6f, 0x72, 0x4d, 0x56, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x56, + 0x50, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3a, 0x0a, 0x20, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x6f, 0x74, + 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x56, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x39, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x56, 0x50, 0x56, 0x6f, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x61, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, - 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, - 0x49, 0x64, 0x1a, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0xee, 0x01, 0x0a, 0x36, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x56, 0x50, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x91, 0x03, 0x0a, 0x23, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, 0x65, 0x61, 0x6d, 0x6d, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x74, 0x65, + 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, + 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0d, 0x74, 0x65, 0x61, 0x6d, + 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xf0, 0x01, 0x0a, 0x0c, 0x54, 0x65, + 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, + 0x69, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x15, 0x6d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x47, + 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x1b, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x6f, + 0x74, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x12, 0x38, 0x0a, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, + 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x41, + 0x72, 0x63, 0x61, 0x6e, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x20, 0x0a, 0x1c, 0x56, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, + 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, + 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x02, 0x22, 0x2b, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xf6, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x72, + 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x76, 0x6f, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x76, + 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x5f, 0x0a, 0x1c, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x6c, 0x79, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x72, + 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, + 0x65, 0x73, 0x52, 0x19, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x22, 0x41, 0x0a, + 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 0x4c, 0x6f, 0x67, 0x56, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x22, 0xdd, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, + 0x32, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x1a, 0x8d, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x22, 0x70, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x73, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x22, 0x84, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6c, 0x61, 0x72, + 0x6b, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x68, 0x6f, + 0x73, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x43, + 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x22, 0x68, 0x0a, 0x2c, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x6c, 0x61, 0x72, 0x6b, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x57, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x72, 0x61, + 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x72, 0x61, + 0x57, 0x6f, 0x6e, 0x22, 0x99, 0x03, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x65, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0xf0, 0x01, 0x0a, + 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, + 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x22, + 0x58, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x64, 0x65, 0x65, + 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x44, 0x65, 0x66, 0x22, 0x94, 0x01, 0x0a, 0x1a, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x0b, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6b, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x01, + 0x22, 0xa9, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, - 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x56, 0x0a, 0x07, 0x45, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, - 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x41, 0x54, - 0x43, 0x48, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x53, 0x5f, 0x41, 0x52, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 0x22, 0xd2, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, - 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x18, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xf1, 0x02, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, - 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, - 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, - 0x1d, 0x0a, 0x19, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x54, 0x4f, 0x5f, 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x1c, - 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x52, - 0x44, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, - 0x5f, 0x49, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x10, 0x06, 0x12, - 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x44, 0x10, 0x07, 0x22, 0x6d, 0x0a, 0x1f, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, - 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x11, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xe2, 0x02, 0x0a, 0x27, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x79, 0x63, - 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x75, 0x73, 0x74, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, - 0x12, 0x24, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x5f, 0x54, 0x4f, 0x5f, 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, - 0x43, 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, - 0x43, 0x41, 0x52, 0x44, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x52, 0x44, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x06, - 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x41, 0x52, - 0x44, 0x53, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x07, 0x22, 0x8d, - 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, - 0x64, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x75, - 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0e, 0x63, 0x61, 0x72, 0x64, 0x44, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x22, 0xb8, - 0x02, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, - 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x61, + 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x1a, 0x5c, + 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xee, 0x01, 0x0a, + 0x36, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, + 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, + 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x56, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, + 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, + 0x41, 0x52, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, + 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0xd2, 0x01, + 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, + 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x18, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, + 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, + 0x50, 0x61, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, + 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4c, 0x65, + 0x61, 0x67, 0x75, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x22, 0xf1, 0x02, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, + 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb8, - 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, - 0x5f, 0x44, 0x55, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x5f, 0x49, - 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x5f, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x06, - 0x12, 0x17, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, - 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x07, 0x22, 0xaa, 0x01, 0x0a, 0x26, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, - 0x50, 0x61, 0x63, 0x6b, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x75, 0x73, - 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0e, 0x63, 0x61, 0x72, 0x64, 0x44, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, - 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x17, 0x0a, - 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0xc0, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2f, + 0x0a, 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x11, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, + 0xc4, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x46, + 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x41, 0x52, + 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x44, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, + 0x4d, 0x5f, 0x49, 0x44, 0x10, 0x07, 0x22, 0x6d, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, + 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xe2, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x75, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0xc7, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, + 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x52, 0x44, + 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x54, 0x45, 0x4d, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x52, 0x44, + 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, + 0x41, 0x52, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x53, 0x5f, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x07, 0x22, 0x8d, 0x01, 0x0a, 0x22, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, + 0x6b, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x61, + 0x72, 0x64, 0x44, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x6d, 0x69, + 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, + 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x22, 0xb8, 0x02, 0x0a, 0x2a, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, - 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb8, - 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, - 0x5f, 0x44, 0x55, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x5f, 0x49, - 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x5f, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x06, - 0x12, 0x17, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, - 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x07, 0x22, 0x84, 0x0d, 0x0a, 0x30, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x12, 0x2a, - 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x61, 0x0a, 0x0a, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, - 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x5b, 0x0a, - 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, - 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x67, 0x0a, 0x0c, 0x61, 0x63, - 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, - 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x5f, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x75, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x52, 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x43, 0x75, 0x70, 0x12, 0x64, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, - 0x36, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x07, 0x62, 0x72, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, - 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, - 0x30, 0x31, 0x36, 0x2e, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x64, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, - 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, + 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x55, 0x53, + 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x54, 0x45, + 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, + 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, + 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x07, 0x22, 0xaa, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, + 0x12, 0x29, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x61, 0x72, + 0x64, 0x44, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, + 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, + 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x22, 0xc0, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x50, + 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x55, 0x53, + 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x54, 0x45, + 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, + 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, + 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x07, 0x22, 0x84, 0x0d, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, + 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, + 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x61, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, + 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, - 0x31, 0x36, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x74, 0x0a, 0x11, 0x66, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x46, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, - 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x1a, 0x88, 0x01, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xaf, 0x01, 0x0a, 0x08, - 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, - 0x0c, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x35, 0x0a, 0x09, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x07, 0x42, 0x72, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, - 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x53, 0x0a, 0x10, 0x46, - 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, - 0x22, 0xb3, 0x0c, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x12, 0x2a, 0x0a, 0x11, - 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x58, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, - 0x65, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, + 0x31, 0x36, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x0a, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x08, 0x77, 0x61, 0x67, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, + 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, - 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5e, 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, + 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x67, 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x41, 0x63, 0x68, 0x69, - 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x5f, 0x63, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, - 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x43, 0x75, 0x70, 0x52, 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x5b, - 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, - 0x31, 0x36, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, - 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x62, - 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x42, 0x72, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x0c, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, - 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, - 0x36, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x6b, 0x0a, 0x11, 0x66, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, - 0x30, 0x31, 0x36, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, - 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x67, 0x65, - 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x6e, - 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, - 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, - 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, - 0x35, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, - 0x77, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, - 0x07, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, - 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, - 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x1a, 0x53, 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0xc5, 0x0c, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x32, 0x30, 0x31, 0x36, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x5f, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x32, 0x30, 0x31, 0x37, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, - 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x12, 0x5a, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, - 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x08, - 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, - 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, + 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x43, 0x75, 0x70, 0x52, 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, + 0x12, 0x64, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, + 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x64, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x74, 0x0a, 0x11, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, + 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x66, 0x61, 0x6e, 0x74, + 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x88, 0x01, 0x0a, + 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x6f, + 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x77, 0x6f, 0x73, + 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x57, 0x61, 0x67, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, + 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, + 0x72, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x41, 0x63, 0x68, + 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x35, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, + 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x55, 0x0a, 0x0b, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x07, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x53, 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, + 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0xb3, 0x0c, 0x0a, + 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, + 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x58, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, + 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x52, + 0x0a, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x12, 0x60, 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x6e, 0x67, 0x12, 0x5e, 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, - 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, + 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, + 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x52, + 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x5b, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x43, 0x75, 0x70, 0x52, 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x5d, - 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x32, 0x30, 0x31, 0x37, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, - 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, + 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, - 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, - 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x12, 0x5d, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x6d, 0x0a, 0x11, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, + 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x6b, 0x0a, 0x11, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, + 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x2e, + 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x52, 0x10, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, + 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x68, + 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xaf, 0x01, + 0x0a, 0x08, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x1a, + 0x5a, 0x0a, 0x0c, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x35, 0x0a, 0x09, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x07, 0x42, 0x72, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x53, 0x0a, + 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, + 0x6c, 0x65, 0x22, 0xc5, 0x0c, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, + 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x5a, 0x0a, 0x0a, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, + 0x37, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x0a, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x08, 0x77, 0x61, 0x67, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, - 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x46, 0x61, 0x6e, 0x74, - 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x66, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x88, - 0x01, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, - 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x77, - 0x6f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x57, 0x61, - 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x41, - 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x35, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x43, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x55, - 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x07, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x53, 0x0a, 0x10, 0x46, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0x86, - 0x0c, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, - 0x70, 0x5f, 0x54, 0x49, 0x37, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, - 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x12, 0x53, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, - 0x49, 0x37, 0x2e, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x67, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x59, 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, - 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, + 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x57, 0x61, 0x67, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x60, + 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x51, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x12, 0x58, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x70, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x52, 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x43, 0x75, 0x70, 0x12, 0x56, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, - 0x49, 0x37, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, - 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x07, 0x62, - 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, - 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, - 0x72, 0x64, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x66, 0x0a, 0x11, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, + 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x52, + 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x5d, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, + 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x07, 0x62, 0x72, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, - 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x6e, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x67, - 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, - 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, - 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, - 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x54, 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x1a, 0x35, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x12, 0x0a, - 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, - 0x0a, 0x07, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, + 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x42, 0x72, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5d, 0x0a, 0x0c, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, + 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, + 0x30, 0x31, 0x37, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x6d, 0x0a, 0x11, 0x66, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x0a, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, + 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x67, 0x65, + 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x41, 0x63, 0x68, 0x69, 0x65, + 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x1a, 0x35, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, + 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x77, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, - 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x1a, 0x53, 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0xad, 0x0b, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, + 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x1a, 0x3b, 0x0a, 0x07, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, + 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, + 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x53, 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, + 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0x86, 0x0c, 0x0a, 0x22, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, + 0x37, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x53, 0x0a, + 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, + 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x12, 0x2a, - 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x61, - 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x72, 0x61, 0x77, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x57, + 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x59, 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, + 0x37, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0c, + 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x0a, + 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, - 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x43, 0x61, 0x76, 0x65, 0x72, - 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x0b, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, - 0x61, 0x77, 0x6c, 0x12, 0x4d, 0x0a, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, - 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x12, 0x59, 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x43, 0x75, 0x70, 0x52, 0x09, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, + 0x56, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, - 0x49, 0x38, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, - 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, - 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x49, 0x37, 0x2e, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, + 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, + 0x54, 0x49, 0x37, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x66, 0x0a, 0x11, 0x66, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, - 0x2e, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, - 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, - 0x38, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x66, 0x0a, 0x11, 0x66, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, + 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x52, 0x10, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x74, 0x77, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, + 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, + 0x68, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xaf, + 0x01, 0x0a, 0x08, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, + 0x1a, 0x5a, 0x0a, 0x0c, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x35, 0x0a, 0x09, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x07, 0x42, 0x72, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x53, + 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x69, 0x6c, 0x65, 0x22, 0xad, 0x0b, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, + 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, + 0x5f, 0x63, 0x72, 0x61, 0x77, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, + 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, + 0x77, 0x6c, 0x52, 0x0b, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x12, + 0x4d, 0x0a, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, + 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x57, 0x61, 0x67, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x59, + 0x0a, 0x0c, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x46, - 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, - 0x10, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x1a, 0xb5, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, - 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x43, - 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x72, 0x72, 0x79, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x63, 0x61, 0x72, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, - 0x2b, 0x0a, 0x11, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, - 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x57, 0x61, - 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x41, - 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, - 0x0a, 0x07, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, - 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, - 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x1a, 0x53, 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0x50, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x41, + 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x68, + 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0b, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, + 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x4a, 0x0a, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, + 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x42, 0x72, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, + 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x39, 0x12, 0x2a, 0x0a, - 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x51, 0x0a, 0x23, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x31, 0x30, - 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x61, 0x0a, 0x25, + 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x66, 0x0a, 0x11, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, + 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x38, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, + 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x66, 0x61, 0x6e, + 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x1a, 0xb5, 0x01, + 0x0a, 0x0b, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x72, + 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x72, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x72, + 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x74, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0xaf, 0x01, 0x0a, 0x08, 0x57, 0x61, 0x67, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x67, 0x65, + 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x57, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x57, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x41, 0x63, 0x68, 0x69, 0x65, + 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x1a, 0x55, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x07, 0x42, 0x72, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x53, + 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x69, 0x6c, 0x65, 0x22, 0x50, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x39, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x51, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, + 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x31, 0x30, 0x12, 0x2a, 0x0a, 0x11, + 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, + 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x61, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xce, 0x04, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, - 0xce, 0x04, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x32, 0x30, 0x31, 0x36, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x36, 0x12, - 0x54, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, - 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x69, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x32, 0x30, 0x31, + 0x36, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x36, 0x12, 0x54, 0x0a, 0x0e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, + 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, + 0x31, 0x36, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x31, + 0x36, 0x12, 0x5a, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x32, 0x30, 0x31, 0x37, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, + 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x52, 0x0f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x12, 0x45, 0x0a, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x37, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x37, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, + 0x38, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x46, 0x61, - 0x6c, 0x6c, 0x32, 0x30, 0x31, 0x36, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x6c, - 0x6c, 0x32, 0x30, 0x31, 0x36, 0x12, 0x5a, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x77, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, - 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, 0x37, - 0x52, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x32, 0x30, 0x31, - 0x37, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x37, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x37, 0x52, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x37, 0x12, 0x45, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x69, 0x38, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, + 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, + 0x38, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x38, 0x12, 0x45, 0x0a, 0x09, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x39, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, + 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x39, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x39, 0x12, 0x48, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x31, 0x30, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x31, + 0x30, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x31, 0x30, 0x22, 0x4a, 0x0a, 0x29, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, - 0x70, 0x5f, 0x54, 0x49, 0x38, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x38, 0x12, - 0x45, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x39, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, - 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x54, 0x49, 0x39, 0x52, 0x08, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x39, 0x12, 0x48, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x69, 0x31, 0x30, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, - 0x5f, 0x54, 0x49, 0x31, 0x30, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x31, 0x30, - 0x22, 0x4a, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, - 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, - 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x3c, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x22, 0x45, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x4d, 0x52, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0x45, 0x0a, 0x29, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x4d, 0x52, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0x36, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x43, 0x0a, 0x1a, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4a, 0x6f, 0x69, 0x6e, - 0x50, 0x6c, 0x61, 0x79, 0x74, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x3a, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4d, 0x0a, 0x17, 0x43, - 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, - 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x1e, 0x43, - 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, - 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x69, - 0x76, 0x69, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x74, 0x72, 0x69, 0x76, 0x69, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x22, 0x68, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x63, 0x0a, 0x2a, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x69, 0x76, - 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x1c, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, - 0x22, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, - 0x69, 0x76, 0x69, 0x61, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x69, 0x76, 0x69, 0x61, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x69, - 0x76, 0x69, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x22, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x44, - 0x4f, 0x54, 0x41, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfa, 0x01, 0x0a, 0x21, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x46, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x06, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, - 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, - 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x18, - 0x0a, 0x14, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, - 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x47, 0x41, 0x43, - 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x05, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x99, - 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6e, 0x61, 0x6e, 0x63, + 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x1a, 0x3c, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x22, 0x45, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x61, 0x6c, 0x4d, 0x4d, 0x52, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0x45, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x4d, 0x52, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x36, + 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x50, 0x6c, 0x61, 0x79, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x43, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, + 0x74, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x22, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4a, 0x6f, 0x69, + 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4d, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x4f, 0x54, 0x41, 0x53, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, + 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x69, 0x76, 0x69, 0x61, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, + 0x72, 0x69, 0x76, 0x69, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x22, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, + 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x63, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, + 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x69, 0x76, + 0x69, 0x61, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x22, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x69, 0x76, 0x69, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x72, 0x69, 0x76, 0x69, 0x61, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x22, 0x22, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x41, + 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfa, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x4f, 0x54, 0x41, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0xbe, 0x01, 0x0a, 0x21, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x23, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0xc0, - 0x06, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0f, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, - 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, - 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x0f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, + 0x12, 0x18, 0x0a, 0x14, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x55, + 0x53, 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, + 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x12, + 0x13, 0x0a, 0x0f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x47, 0x41, 0x43, 0x5f, 0x49, 0x53, 0x53, + 0x55, 0x45, 0x10, 0x05, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x23, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, + 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x28, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0xbe, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, + 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, + 0x72, 0x6f, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0xc0, 0x06, 0x0a, 0x24, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0a, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x55, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x69, 0x74, - 0x65, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x69, 0x74, + 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6d, + 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, + 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x69, 0x74, 0x65, 0x6d, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, - 0x69, 0x74, 0x65, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x62, 0x0a, 0x11, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x0e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x52, 0x0c, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x0b, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x63, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x06, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x68, 0x65, 0x72, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x5c, 0x0a, 0x0e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, + 0x0c, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x8d, 0x01, + 0x0a, 0x0b, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x63, 0x0a, + 0x26, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, - 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0x38, 0x0a, 0x1b, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x64, - 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x64, - 0x67, 0x65, 0x49, 0x64, 0x22, 0x99, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x61, 0x6d, 0x65, - 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, - 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, - 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x8b, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x65, 0x73, 0x74, + 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, + 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x28, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0x38, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x64, 0x67, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x64, 0x67, 0x65, 0x49, 0x64, + 0x22, 0x99, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x61, 0x6d, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x74, 0x6f, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x22, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, + 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0x1d, 0x0a, 0x1b, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1c, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, - 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0x29, 0x0a, - 0x27, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x57, 0x69, 0x74, 0x68, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, - 0x6d, 0x44, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x73, 0x65, - 0x5f, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, - 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x8a, 0x03, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x57, 0x69, 0x74, 0x68, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x57, 0x69, 0x74, 0x68, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x90, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x02, 0x12, 0x10, - 0x0a, 0x0c, 0x42, 0x41, 0x44, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x03, - 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, 0x45, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x44, 0x4f, 0x5f, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4e, - 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, - 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, - 0x45, 0x4e, 0x44, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x41, - 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, - 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4c, 0x49, 0x45, 0x4e, - 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x55, 0x42, - 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, - 0x45, 0x44, 0x10, 0x0d, 0x22, 0x71, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x72, 0x63, + 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0x28, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x22, 0x29, 0x0a, 0x27, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x6c, + 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, + 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x57, 0x69, 0x74, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, + 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x08, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x65, + 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x22, 0x8a, 0x03, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x72, 0x63, + 0x68, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x57, 0x69, 0x74, 0x68, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x57, 0x69, 0x74, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x90, 0x02, + 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41, + 0x44, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, + 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, 0x45, 0x41, 0x42, 0x4c, 0x45, + 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x44, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x54, 0x5f, 0x45, + 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x06, 0x12, 0x0d, + 0x0a, 0x09, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x07, 0x12, 0x12, 0x0a, + 0x0e, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, + 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, + 0x45, 0x44, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, + 0x44, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x0d, + 0x22, 0x71, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x12, + 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x69, + 0x63, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, + 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x22, 0x85, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x52, 0x65, - 0x6c, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0c, - 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x52, - 0x65, 0x6c, 0x69, 0x63, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x69, - 0x63, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x22, 0x85, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x61, 0x6e, 0x64, - 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, - 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, - 0x6d, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x75, 0x73, 0x57, 0x65, 0x65, 0x6b, - 0x6c, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, - 0x65, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x22, 0x38, - 0x0a, 0x36, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x75, 0x73, 0x57, 0x65, 0x65, 0x6b, 0x6c, - 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x88, 0x08, - 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x4f, 0x0a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x65, - 0x72, 0x6f, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, - 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0d, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x45, - 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x68, 0x65, 0x72, - 0x6f, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x48, - 0x65, 0x72, 0x6f, 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x48, - 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, - 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x44, 0x0a, 0x10, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x50, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x50, 0x61, 0x67, 0x65, 0x1a, 0xf5, 0x01, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, - 0x41, 0x0a, 0x13, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x65, 0x63, 0x6f, 0x6e, - 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, - 0x11, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x73, - 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, - 0x6c, 0x79, 0x53, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x75, - 0x73, 0x48, 0x65, 0x72, 0x6f, 0x58, 0x70, 0x12, 0x44, 0x0a, 0x15, 0x70, 0x6c, 0x75, 0x73, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, - 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x12, 0x70, 0x6c, 0x75, 0x73, 0x48, - 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0xb4, 0x01, - 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x2d, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x70, 0x65, 0x72, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, - 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x6e, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x6f, 0x6e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, - 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x6d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, - 0x12, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x67, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x67, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x49, - 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x31, 0x10, 0x02, - 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x44, 0x5f, - 0x48, 0x45, 0x52, 0x4f, 0x32, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x49, 0x4c, 0x55, - 0x52, 0x45, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x33, 0x10, 0x04, 0x22, 0x8a, - 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x6e, - 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc5, 0x02, 0x0a, 0x16, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, - 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, - 0x6e, 0x12, 0x27, 0x0a, 0x10, 0x61, 0x76, 0x67, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x67, - 0x47, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0e, 0x61, 0x76, - 0x67, 0x5f, 0x78, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x58, 0x70, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x76, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x61, 0x76, 0x67, 0x44, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x76, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x61, 0x76, 0x67, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, - 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x67, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, - 0x22, 0x0a, 0x0d, 0x61, 0x76, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x4e, 0x65, 0x74, 0x57, 0x6f, - 0x72, 0x74, 0x68, 0x22, 0x34, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0xf8, 0x05, 0x0a, 0x1a, 0x43, 0x4d, - 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, - 0x64, 0x12, 0x64, 0x0a, 0x13, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, - 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x10, 0x68, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x50, - 0x65, 0x72, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x82, 0x01, 0x0a, 0x09, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x5f, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x77, 0x69, - 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, - 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, - 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, - 0x61, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0a, 0x62, 0x61, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x1a, 0x83, 0x01, 0x0a, - 0x08, 0x57, 0x65, 0x65, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x65, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x12, 0x1f, 0x0a, - 0x0b, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x62, 0x61, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x1a, 0xcf, 0x02, 0x0a, 0x14, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x50, - 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x72, - 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x42, 0x0a, 0x10, 0x74, 0x61, - 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x0e, - 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, - 0x0a, 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x76, 0x65, 0x72, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x09, - 0x77, 0x65, 0x65, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, + 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, + 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6d, 0x0a, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x75, 0x73, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x22, 0x38, 0x0a, 0x36, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x6c, 0x75, 0x73, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x88, 0x08, 0x0a, 0x13, 0x43, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x4f, 0x0a, + 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x0e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x4a, + 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x72, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x52, + 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x65, + 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3b, + 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x73, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, + 0x65, 0x1a, 0xf5, 0x01, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x48, 0x65, + 0x72, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x13, 0x65, + 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x65, 0x63, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x11, 0x65, 0x71, 0x75, + 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x53, 0x65, + 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x78, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x73, 0x48, 0x65, 0x72, + 0x6f, 0x58, 0x70, 0x12, 0x44, 0x0a, 0x15, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, + 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x12, 0x70, 0x6c, 0x75, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x52, + 0x65, 0x6c, 0x69, 0x63, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0xb4, 0x01, 0x0a, 0x09, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2d, 0x0a, 0x12, 0x70, + 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, + 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, + 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x10, 0x03, 0x22, 0x6d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x63, + 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x64, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0x67, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, + 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x31, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, + 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, + 0x32, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x42, + 0x41, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x33, 0x10, 0x04, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x43, + 0x4d, 0x73, 0x67, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, + 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x67, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, + 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x27, 0x0a, + 0x10, 0x61, 0x76, 0x67, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x67, 0x47, 0x6f, 0x6c, 0x64, + 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x78, 0x70, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x61, 0x76, 0x67, 0x58, 0x70, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x76, 0x67, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x61, 0x76, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x67, 0x5f, + 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, + 0x67, 0x44, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x61, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, + 0x67, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x76, 0x67, 0x5f, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x76, 0x67, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x76, 0x67, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x61, + 0x76, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x4e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x22, + 0x34, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0xf8, 0x05, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, + 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x64, 0x0a, + 0x13, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, + 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x72, + 0x6f, 0x44, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x75, 0x6e, + 0x6b, 0x52, 0x10, 0x68, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, 0x43, 0x68, + 0x75, 0x6e, 0x6b, 0x1a, 0x82, 0x01, 0x0a, 0x09, 0x47, 0x72, 0x61, 0x70, 0x68, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x64, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x50, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x63, 0x6b, + 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x6e, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x62, 0x61, + 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x1a, 0x83, 0x01, 0x0a, 0x08, 0x57, 0x65, 0x65, + 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x65, 0x65, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x6e, + 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, + 0x77, 0x69, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, + 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0b, 0x70, 0x69, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x62, 0x61, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0a, 0x62, 0x61, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x1a, 0xcf, + 0x02, 0x0a, 0x14, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, 0x52, 0x61, + 0x6e, 0x6b, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, + 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, + 0x6b, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x42, 0x0a, 0x10, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x52, + 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x49, 0x0a, + 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, + 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x09, 0x77, 0x65, 0x65, 0x6b, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x65, + 0x65, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x77, 0x65, 0x65, 0x6b, 0x44, 0x61, 0x74, 0x61, + 0x22, 0x57, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, + 0x38, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x77, 0x65, 0x65, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x57, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6c, 0x6c, 0x48, 0x65, 0x72, - 0x6f, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, - 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0xc9, 0x03, - 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, - 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x61, - 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, - 0x72, 0x6f, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x65, - 0x6d, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, - 0x61, 0x74, 0x61, 0x1a, 0xb7, 0x01, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x69, 0x6e, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x77, 0x69, 0x6e, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x48, 0x65, 0x72, - 0x6f, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x5f, - 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x79, - 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, - 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x1a, 0x7a, 0x0a, - 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, - 0x61, 0x6e, 0x6b, 0x12, 0x54, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x65, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0xc9, 0x03, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x45, - 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x08, 0x68, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x0a, 0x1d, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x69, + 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x64, + 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, + 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, + 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x1a, + 0xb7, 0x01, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x22, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x52, + 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x77, 0x69, 0x6e, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x65, + 0x6d, 0x79, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x1a, 0x7a, 0x0a, 0x0e, 0x52, 0x61, 0x6e, + 0x6b, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, + 0x54, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, + 0x72, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, + 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x65, 0x6d, 0x69, + 0x65, 0x73, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x65, 0x72, + 0x6f, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xf5, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, - 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x46, 0x72, 0x65, - 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x46, 0x72, 0x65, 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, - 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, - 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, - 0x44, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, - 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, - 0x41, 0x44, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x54, 0x52, - 0x49, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4f, - 0x46, 0x46, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x04, - 0x22, 0xa5, 0x03, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x4d, 0x61, - 0x70, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x6a, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x4d, - 0x61, 0x70, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x6e, 0x74, 0x1a, 0xa3, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x74, 0x68, - 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x5f, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x55, 0x6c, 0x74, 0x72, 0x61, 0x52, 0x61, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x6c, 0x66, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x40, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, - 0x43, 0x72, 0x61, 0x77, 0x6c, 0x4d, 0x61, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x22, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, - 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, - 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, - 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, - 0x61, 0x77, 0x6c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, - 0x43, 0x72, 0x61, 0x77, 0x6c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x48, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, - 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x5f, 0x55, 0x4c, 0x54, 0x52, - 0x41, 0x5f, 0x52, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x22, - 0x9a, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, - 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x22, 0x41, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x22, 0xf5, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x46, 0x72, 0x65, 0x65, 0x54, 0x72, 0x69, + 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6c, + 0x75, 0x73, 0x46, 0x72, 0x65, 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, + 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x1f, 0x0a, + 0x1b, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, + 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x21, + 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, + 0x55, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x10, + 0x03, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x04, 0x22, 0xa5, 0x03, 0x0a, + 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, + 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x4d, 0x61, 0x70, 0x50, 0x61, 0x74, + 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xcf, 0x01, 0x0a, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, - 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, - 0x6d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, - 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x48, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, - 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1e, - 0x0a, 0x1a, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x5f, 0x55, 0x4c, 0x54, 0x52, 0x41, - 0x5f, 0x52, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x22, 0x9a, - 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x4f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, - 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x2e, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x12, 0x6a, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x4d, 0x61, 0x70, 0x50, 0x61, + 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x1a, 0xa3, + 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x6c, 0x74, + 0x72, 0x61, 0x5f, 0x72, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x55, 0x6c, + 0x74, 0x72, 0x61, 0x52, 0x61, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x25, 0x0a, + 0x0e, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x6c, 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x22, 0x40, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, + 0x6c, 0x4d, 0x61, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, + 0x61, 0x77, 0x6c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, + 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, + 0x6c, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0x48, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x52, + 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x5f, 0x55, 0x4c, 0x54, 0x52, 0x41, 0x5f, 0x52, 0x41, + 0x52, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x22, 0x9a, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, - 0x4f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, - 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0x48, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, - 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1e, 0x0a, - 0x1a, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x5f, 0x55, 0x4c, 0x54, 0x52, 0x41, 0x5f, - 0x52, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x22, 0x45, 0x0a, - 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, - 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x22, 0xba, 0x0c, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, - 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, - 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, + 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, + 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, + 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x6e, 0x52, + 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, - 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x12, - 0x6b, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x22, 0x48, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, + 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x5f, 0x55, 0x4c, 0x54, 0x52, 0x41, 0x5f, 0x52, 0x41, 0x52, + 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x22, 0x9a, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, - 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, - 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0d, 0x69, - 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x64, 0x0a, 0x0c, - 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, - 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, - 0x74, 0x73, 0x1a, 0x4a, 0x0a, 0x10, 0x53, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, - 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x74, 0x68, 0x49, - 0x64, 0x31, 0x12, 0x1a, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x32, 0x1a, 0x42, - 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x1a, 0x57, 0x0a, 0x0b, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, - 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x49, - 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x6f, - 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, - 0x65, 0x61, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x1a, 0xf4, 0x06, 0x0a, 0x0a, - 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, - 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, - 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x31, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x31, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x72, - 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x6c, - 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x32, 0x12, 0x28, 0x0a, 0x10, 0x72, - 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x31, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x31, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, - 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x0e, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x32, 0x12, - 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x73, 0x5f, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x31, 0x12, 0x2a, 0x0a, 0x11, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x32, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x33, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, - 0x68, 0x73, 0x33, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x34, 0x12, - 0x33, 0x0a, 0x16, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x31, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x13, 0x68, 0x61, 0x6c, 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, - 0x74, 0x68, 0x73, 0x31, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x32, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x68, 0x61, 0x6c, 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x32, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x6c, - 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x5f, 0x33, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x68, 0x61, 0x6c, 0x66, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x33, 0x12, 0x33, - 0x0a, 0x16, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x34, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, - 0x68, 0x61, 0x6c, 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, - 0x68, 0x73, 0x34, 0x12, 0x74, 0x0a, 0x11, 0x73, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, + 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4f, + 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, + 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, + 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x6e, 0x50, 0x61, + 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x55, 0x73, 0x65, 0x49, 0x74, + 0x65, 0x6d, 0x4f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0x48, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x43, + 0x45, 0x49, 0x56, 0x45, 0x44, 0x5f, 0x55, 0x4c, 0x54, 0x52, 0x41, 0x5f, 0x52, 0x41, 0x52, 0x45, + 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x22, 0x45, 0x0a, 0x28, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, + 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x22, 0xba, 0x0c, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, + 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x1b, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x18, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x6b, 0x0a, 0x0e, 0x69, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, + 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x64, 0x0a, 0x0c, 0x6d, 0x61, 0x70, 0x5f, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x73, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x75, 0x6c, 0x74, - 0x72, 0x61, 0x5f, 0x72, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, - 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x19, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x52, 0x61, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0c, 0x74, - 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x42, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, - 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x0b, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, - 0x61, 0x70, 0x22, 0x3d, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, - 0x02, 0x22, 0x49, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x47, 0x65, - 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xbe, 0x03, 0x0a, - 0x34, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, + 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x4a, + 0x0a, 0x10, 0x53, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x31, 0x12, 0x1a, + 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x32, 0x1a, 0x42, 0x0a, 0x0d, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x57, + 0x0a, 0x0b, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x1e, 0x0a, + 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x70, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x28, 0x0a, + 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, + 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x1a, 0xf4, 0x06, 0x0a, 0x0a, 0x4d, 0x61, 0x70, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x31, 0x12, + 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, + 0x5f, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, + 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x32, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, + 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x5f, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x31, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x6f, 0x6d, 0x73, 0x5f, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0e, 0x72, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x31, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x31, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x32, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, + 0x68, 0x73, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x33, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x33, 0x12, + 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x73, 0x5f, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x34, 0x12, 0x33, 0x0a, 0x16, 0x68, + 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x5f, 0x31, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x68, 0x61, 0x6c, + 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x31, + 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x13, 0x68, 0x61, 0x6c, 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, + 0x61, 0x74, 0x68, 0x73, 0x32, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x33, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x68, 0x61, 0x6c, 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x33, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, + 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x73, 0x5f, 0x34, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x68, 0x61, 0x6c, 0x66, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x34, 0x12, + 0x74, 0x0a, 0x11, 0x73, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x52, 0x10, 0x73, 0x77, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x5f, 0x72, + 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x75, 0x6c, + 0x74, 0x72, 0x61, 0x52, 0x61, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x6f, + 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0c, 0x74, 0x72, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, + 0x70, 0x52, 0x0b, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x22, 0x3d, + 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x22, 0x49, 0x0a, + 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xbe, 0x03, 0x0a, 0x34, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x68, 0x0a, 0x0c, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, - 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, - 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x0b, 0x6d, - 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x18, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x6e, 0x74, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x1a, 0x43, 0x0a, 0x0a, 0x4d, 0x61, 0x70, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, - 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, - 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3d, - 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x22, 0xab, 0x01, - 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, - 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x50, 0x0a, 0x08, 0x4d, 0x75, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1b, 0x43, - 0x4d, 0x73, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x70, 0x73, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x70, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4e, 0x0a, 0x0d, 0x74, - 0x69, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x70, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x69, 0x70, 0x70, 0x65, 0x72, 0x52, 0x0c, 0x74, - 0x69, 0x70, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x1a, 0x51, 0x0a, 0x06, 0x54, - 0x69, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x69, 0x70, 0x70, 0x65, 0x72, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x74, 0x69, 0x70, 0x70, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x69, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x53, - 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4f, - 0x6e, 0x6c, 0x79, 0x22, 0xcd, 0x05, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, - 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x66, - 0x65, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, - 0x65, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x80, 0x03, 0x0a, 0x09, 0x46, 0x65, 0x65, 0x64, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, - 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x31, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x69, 0x67, - 0x49, 0x6e, 0x74, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x6e, - 0x74, 0x5f, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x49, 0x6e, 0x74, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x6e, - 0x74, 0x5f, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x49, 0x6e, 0x74, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x6e, - 0x74, 0x5f, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x49, 0x6e, 0x74, 0x33, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, - 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, - 0x44, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x45, - 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x45, 0x45, 0x44, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, - 0x4e, 0x54, 0x53, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, - 0x53, 0x10, 0x05, 0x22, 0x43, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x6c, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 0x65, 0x65, - 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x91, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, - 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x55, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x65, 0x12, 0x59, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, + 0x77, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x68, 0x0a, 0x0c, + 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, + 0x61, 0x77, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, + 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, + 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x1a, 0x43, 0x0a, 0x0a, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3d, 0x0a, 0x06, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, + 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, + 0x57, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x41, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x50, 0x0a, 0x08, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x70, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xd9, + 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x70, 0x73, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4e, 0x0a, 0x0d, 0x74, 0x69, 0x70, 0x73, 0x5f, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x70, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x54, 0x69, 0x70, 0x70, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x69, 0x70, 0x73, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x1a, 0x51, 0x0a, 0x06, 0x54, 0x69, 0x70, 0x70, 0x65, + 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x69, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x69, + 0x70, 0x70, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x69, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x74, 0x69, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x53, 0x0a, 0x15, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4f, 0x6e, 0x6c, 0x79, 0x22, + 0xcd, 0x05, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x1a, 0x80, 0x03, 0x0a, 0x09, 0x46, 0x65, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x75, 0x62, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x5f, 0x62, 0x69, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x31, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x31, + 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x31, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x74, 0x31, + 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x32, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x74, 0x32, + 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x33, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x74, 0x33, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x52, + 0x49, 0x45, 0x4e, 0x44, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, + 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, + 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, + 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, + 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0x05, 0x22, + 0x43, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, + 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0x91, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x65, - 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x0b, 0x46, 0x65, 0x65, 0x64, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x22, 0x50, 0x0a, 0x06, 0x52, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x55, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x0b, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x22, 0x50, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1c, 0x0a, + 0x18, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, + 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x43, 0x4f, + 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x22, 0xa3, 0x01, 0x0a, 0x2f, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x75, 0x73, 0x74, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, + 0x63, 0x61, 0x72, 0x64, 0x44, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xc5, + 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, + 0x1b, 0x0a, 0x17, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, + 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, + 0x55, 0x53, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, + 0x50, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x17, 0x0a, + 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0x06, 0x22, 0x42, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xea, 0x02, 0x0a, 0x29, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4e, 0x0a, 0x05, 0x76, + 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, + 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x1a, 0x46, 0x0a, 0x08, 0x49, + 0x74, 0x65, 0x6d, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x76, + 0x6f, 0x74, 0x65, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, + 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x7c, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x76, 0x6f, 0x74, 0x65, 0x22, 0x9c, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4f, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x53, 0x54, 0x10, + 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, + 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, + 0x55, 0x54, 0x10, 0x05, 0x22, 0x8c, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, + 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x82, 0x01, 0x0a, + 0x17, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x22, 0x57, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x65, 0x76, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb3, 0x01, 0x0a, 0x19, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x6e, 0x64, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, + 0x22, 0x59, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x65, + 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x64, 0x0a, 0x16, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x22, 0x56, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x65, 0x76, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3b, 0x0a, 0x20, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, + 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, + 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, 0x0a, 0x20, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, + 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x22, 0xfb, 0x03, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x66, 0x0a, 0x10, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x6c, 0x6f, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x53, 0x6c, + 0x6f, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x24, + 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x6c, 0x6f, 0x74, + 0x43, 0x6f, 0x73, 0x74, 0x1a, 0x83, 0x01, 0x0a, 0x0c, 0x43, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x64, 0x64, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x64, + 0x64, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x45, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x22, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, - 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, - 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0x01, 0x12, - 0x1b, 0x0a, 0x17, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, - 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x22, 0xa3, 0x01, 0x0a, - 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64, 0x5f, - 0x64, 0x75, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0e, 0x63, 0x61, 0x72, 0x64, 0x44, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x22, 0xc5, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x17, - 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, - 0x12, 0x0a, 0x0e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x53, - 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x10, 0x03, - 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x44, 0x55, 0x53, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x21, - 0x0a, 0x1d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, - 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, - 0x05, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, - 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x06, 0x22, 0x42, 0x0a, 0x21, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xea, - 0x02, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, - 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, - 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x4e, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x49, 0x74, 0x65, 0x6d, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x1a, - 0x46, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, - 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x7c, 0x0a, 0x1f, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, - 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x22, 0x9c, 0x02, 0x0a, 0x27, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x65, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, - 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, - 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x05, 0x22, 0x8c, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, - 0x67, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, - 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, - 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x82, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x57, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb3, - 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, - 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x22, 0x59, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x64, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x64, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x41, 0x75, 0x64, 0x69, 0x74, 0x22, 0x56, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x76, - 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, - 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3b, 0x0a, - 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x28, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x22, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x22, 0xfb, 0x03, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x66, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, - 0x73, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x6c, 0x6f, - 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, - 0x63, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, - 0x53, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x1a, 0x83, 0x01, 0x0a, 0x0c, 0x43, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0b, 0x74, - 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x22, 0x22, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x22, 0x55, + 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x07, 0x52, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x54, 0x6f, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x22, 0x64, 0x0a, 0x28, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, + 0xb3, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x6e, 0x65, 0x78, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, + 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x54, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x4e, 0x54, 0x5f, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x46, 0x46, + 0x4f, 0x52, 0x44, 0x10, 0x03, 0x22, 0x6f, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x12, + 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, + 0x65, 0x77, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, + 0x65, 0x77, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x31, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, - 0x10, 0x01, 0x22, 0x55, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x14, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x2a, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, 0x0a, 0x06, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x22, 0x64, 0x0a, - 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x43, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x22, 0xb3, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x73, 0x74, - 0x22, 0x57, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, - 0x52, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x53, 0x4c, 0x4f, 0x54, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x4e, 0x54, - 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x4e, 0x54, - 0x5f, 0x41, 0x46, 0x46, 0x4f, 0x52, 0x44, 0x10, 0x03, 0x22, 0x6f, 0x0a, 0x26, 0x43, 0x4d, 0x73, + 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, + 0x02, 0x22, 0x76, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4f, 0x0a, 0x1f, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x1f, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, + 0x74, 0x79, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x65, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x79, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, - 0x6f, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x22, 0x31, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, - 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, - 0x55, 0x4e, 0x44, 0x10, 0x02, 0x22, 0x76, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, - 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4f, 0x0a, - 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75, - 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x22, 0x84, - 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x74, 0x79, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x79, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x19, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4e, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x01, 0x22, 0x2a, 0x0a, 0x28, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, - 0x2f, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, - 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x55, 0x53, 0x59, 0x10, 0x02, - 0x22, 0x7e, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x22, 0xc3, 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x46, 0x72, 0x6f, 0x6d, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x46, - 0x72, 0x6f, 0x6d, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x79, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x06, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, + 0x03, 0x4f, 0x46, 0x46, 0x10, 0x01, 0x22, 0x2a, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, - 0x42, 0x55, 0x53, 0x59, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x45, - 0x41, 0x44, 0x45, 0x52, 0x10, 0x03, 0x22, 0xb3, 0x02, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x46, - 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x0d, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x09, 0x45, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x55, 0x53, 0x59, 0x10, 0x02, 0x22, 0x7e, 0x0a, 0x21, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4a, 0x6f, + 0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x72, 0x6f, - 0x6d, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x22, 0x1d, 0x0a, - 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x22, 0xba, 0x02, 0x0a, - 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x62, - 0x75, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, - 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x22, 0x64, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, - 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, - 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, - 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, - 0x08, 0x0a, 0x04, 0x42, 0x55, 0x53, 0x59, 0x10, 0x05, 0x22, 0x74, 0x0a, 0x20, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x46, 0x61, - 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0x8e, 0x02, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, - 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x25, 0x0a, 0x09, 0x45, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, - 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, - 0x22, 0x40, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0x46, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, - 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x2b, 0x43, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc3, 0x01, 0x0a, + 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4a, + 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3f, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, + 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x55, 0x53, 0x59, + 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x44, 0x45, 0x52, + 0x10, 0x03, 0x22, 0xb3, 0x02, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, + 0x69, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x76, 0x6f, 0x72, + 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x66, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x66, 0x72, 0x6f, 0x6d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x22, 0x1d, 0x0a, 0x06, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x22, 0xba, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, + 0x62, 0x75, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, + 0x64, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, + 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, + 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, 0x56, + 0x49, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, + 0x0b, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0b, + 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x42, + 0x55, 0x53, 0x59, 0x10, 0x05, 0x22, 0x74, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, + 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x28, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x65, + 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x47, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, + 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x79, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x25, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x22, 0x40, 0x0a, 0x1f, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, + 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, + 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x5e, - 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x22, 0x51, - 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x5e, 0x0a, 0x06, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, + 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x22, 0x51, 0x0a, 0x30, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xce, 0x02, + 0x0a, 0x38, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0xce, 0x02, 0x0a, 0x38, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x5c, 0x0a, 0x16, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, - 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, - 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x52, - 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, - 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, - 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, - 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x10, 0x03, 0x22, 0x6e, 0x0a, 0x34, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x22, 0xd6, 0x02, 0x0a, 0x3c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5c, 0x0a, 0x16, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, + 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x6e, + 0x0a, 0x34, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x72, + 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0xd6, + 0x02, 0x0a, 0x3c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, + 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x64, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x4c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5c, 0x0a, 0x14, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x13, 0x68, 0x65, 0x72, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, - 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, - 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x70, 0x0a, 0x25, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, - 0x72, 0x76, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xac, 0x02, - 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x57, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, - 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, - 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, - 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, - 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x64, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x05, 0x22, 0x1b, 0x0a, 0x19, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x41, - 0x43, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x1f, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, - 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, - 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, - 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, - 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x3b, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x72, - 0x6f, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xaf, - 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x72, 0x6f, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x51, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x42, 0x75, 0x79, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, - 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, - 0x74, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, - 0x72, 0x61, 0x66, 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5c, 0x0a, 0x14, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x13, + 0x68, 0x65, 0x72, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, + 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x70, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, + 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xac, 0x02, 0x0a, 0x2d, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x72, + 0x76, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x07, 0x65, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x65, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, + 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x41, + 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x10, + 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, + 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x05, 0x22, 0x1b, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x41, 0x43, 0x52, 0x65, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3b, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, + 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x23, 0x43, + 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, - 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, - 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, - 0x66, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, - 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x22, 0x42, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x6f, - 0x6c, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, + 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x1b, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, + 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x42, 0x75, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x22, + 0x45, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, + 0x47, 0x6f, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, - 0x61, 0x66, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x42, 0x65, 0x6e, 0x63, 0x68, + 0x61, 0x66, 0x74, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, + 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, + 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x42, + 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x42, 0x61, + 0x63, 0x6b, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, + 0x6f, 0x6c, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, 0x64, + 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x52, 0x0a, 0x1c, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, + 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x22, + 0xc6, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, - 0x52, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, - 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, - 0x74, 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, - 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, - 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, - 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x09, 0x64, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5e, 0x0a, 0x24, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, - 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x2c, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, - 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x99, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, - 0x76, 0x69, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x35, - 0x0a, 0x17, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, - 0x61, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x14, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x41, 0x73, 0x57, - 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x32, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, - 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x7f, 0x0a, - 0x18, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, - 0x56, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x26, - 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xd2, 0x04, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, + 0x37, 0x0a, 0x0a, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, + 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, + 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5e, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x2a, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, + 0x62, 0x6d, 0x69, 0x74, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x68, + 0x6f, 0x73, 0x65, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x77, + 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x63, 0x68, 0x6f, + 0x73, 0x65, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x41, 0x73, 0x57, 0x69, 0x6e, 0x6e, 0x65, + 0x72, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, + 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x7f, 0x0a, 0x18, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x56, 0x6f, 0x74, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x76, + 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, + 0x74, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, + 0x69, 0x72, 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x22, 0xd2, 0x04, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x5b, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5b, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x6f, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x1a, 0x87, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, - 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, - 0x79, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, 0x65, 0x4e, - 0x6f, 0x74, 0x54, 0x6f, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, - 0x65, 0x4e, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x06, 0x22, 0x47, 0x0a, 0x28, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x63, 0x6b, - 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x64, 0x73, 0x22, 0x1e, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, - 0x65, 0x4d, 0x4d, 0x52, 0x22, 0x80, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, - 0x74, 0x65, 0x4d, 0x4d, 0x52, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x4d, - 0x52, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x09, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x6f, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, + 0x6e, 0x1a, 0x87, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, @@ -37156,977 +37248,1000 @@ var file_dota_gcmessages_client_proto_rawDesc = []byte{ 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x6f, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x06, 0x22, 0x9a, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6f, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, - 0x41, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x44, - 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x06, 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, + 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x73, + 0x22, 0x1e, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x4d, 0x52, + 0x22, 0x80, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x4d, + 0x52, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, + 0x65, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x4d, 0x52, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, + 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x10, 0x04, + 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x6f, 0x53, 0x6f, 0x6f, 0x6e, + 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x10, 0x06, 0x22, 0x9a, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x50, 0x6f, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, + 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, + 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x47, 0x65, 0x74, 0x4f, 0x57, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0xa4, 0x06, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4f, 0x57, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa4, 0x06, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4f, 0x57, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4f, 0x57, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4f, 0x57, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, + 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, + 0x61, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, + 0x4f, 0x57, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x07, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, + 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x1a, 0x5a, + 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x12, 0x25, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x22, 0x7e, 0x0a, 0x09, 0x45, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x03, 0x12, 0x13, 0x0a, + 0x0f, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, + 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x73, 0x65, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x05, 0x22, 0x9a, 0x02, 0x0a, 0x20, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x4f, 0x57, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, + 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x4b, 0x0a, + 0x13, 0x63, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x13, 0x67, 0x72, + 0x69, 0x65, 0x66, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x67, 0x72, 0x69, 0x65, 0x66, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, + 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe1, 0x02, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x4f, 0x57, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x4f, 0x57, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, + 0x65, 0x4e, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x10, 0x04, 0x12, + 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x79, 0x49, 0x44, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0x06, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x10, 0x07, 0x22, 0x22, 0x0a, 0x20, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x68, 0x69, + 0x6e, 0x61, 0x53, 0x53, 0x41, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x48, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x53, 0x41, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x72, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x22, 0x27, 0x0a, 0x25, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, + 0x53, 0x53, 0x41, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x57, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x53, 0x41, 0x41, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x12, + 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x48, 0x0a, 0x25, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2e, + 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, 0x65, + 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x2c, + 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0x83, 0x01, 0x0a, + 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, + 0x74, 0x6f, 0x70, 0x57, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x65, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, - 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x12, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x4f, 0x57, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x72, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, - 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, - 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x69, 0x65, 0x72, - 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, - 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x1a, 0x5a, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x11, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x47, 0x61, - 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x12, 0x25, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x67, - 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x22, 0x7e, - 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, - 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, - 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, - 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, - 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x43, - 0x61, 0x73, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x05, 0x22, 0x9a, - 0x02, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x57, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, - 0x74, 0x12, 0x4b, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x68, 0x65, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, - 0x0a, 0x13, 0x67, 0x72, 0x69, 0x65, 0x66, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, - 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x67, 0x72, 0x69, 0x65, 0x66, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe1, 0x02, 0x0a, 0x28, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x57, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x57, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, + 0x6f, 0x74, 0x22, 0x54, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x44, 0x50, 0x43, + 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x22, 0xaf, 0x03, 0x0a, 0x25, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x44, + 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x44, 0x50, 0x43, 0x46, + 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x52, 0x0a, 0x09, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x44, 0x50, + 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, 0x09, 0x66, 0x61, 0x76, + 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x1a, 0x68, 0x0a, 0x08, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, + 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x45, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0c, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x64, + 0x22, 0x79, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, + 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x05, 0x22, 0x9b, 0x01, 0x0a, 0x21, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, + 0x74, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0c, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xde, 0x02, 0x0a, 0x29, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x44, + 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, + 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, - 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x09, 0x45, + 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xdd, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x03, 0x12, 0x13, - 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x64, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x44, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x6b, - 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x10, 0x07, 0x22, - 0x22, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x53, 0x41, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x48, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x53, 0x41, 0x55, 0x52, 0x4c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x72, 0x65, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x22, 0x27, 0x0a, - 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, - 0x68, 0x69, 0x6e, 0x61, 0x53, 0x53, 0x41, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x53, 0x41, - 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x67, - 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, - 0x48, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x73, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x24, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, - 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, - 0x22, 0x83, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0x54, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x13, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x1d, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x22, 0xaf, 0x03, - 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x52, 0x0a, 0x09, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, - 0x65, 0x74, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x52, - 0x09, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x1a, 0x68, 0x0a, 0x08, 0x46, 0x61, - 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, - 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, - 0x74, 0x65, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, - 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x49, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x05, 0x22, - 0x9b, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x65, 0x74, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, - 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xde, 0x02, - 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x53, 0x65, 0x74, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x53, 0x65, 0x74, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xdd, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x1d, + 0x0a, 0x19, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x02, 0x12, 0x11, 0x0a, + 0x0d, 0x6b, 0x5f, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, + 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x46, 0x61, + 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x64, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, + 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x55, 0x6e, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, + 0x65, 0x64, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x06, 0x12, + 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x08, 0x22, 0x6b, 0x0a, 0x24, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, + 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9c, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x44, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x10, - 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, - 0x64, 0x79, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x64, 0x10, 0x04, 0x12, 0x19, 0x0a, - 0x15, 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x55, 0x6e, 0x66, 0x61, 0x76, - 0x6f, 0x72, 0x69, 0x74, 0x65, 0x64, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x07, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x08, 0x22, 0x6b, - 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9c, 0x02, 0x0a, 0x2c, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, - 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, - 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x06, 0x22, 0xaf, 0x01, 0x0a, 0x28, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x79, 0x72, 0x69, 0x6e, 0x74, 0x68, 0x42, 0x6c, - 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x62, - 0x75, 0x67, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x8d, 0x02, 0x0a, - 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x79, 0x72, 0x69, 0x6e, 0x74, 0x68, - 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x58, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x4c, - 0x61, 0x62, 0x79, 0x72, 0x69, 0x6e, 0x74, 0x68, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x7f, 0x0a, 0x09, 0x45, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x15, - 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x53, 0x75, 0x63, 0x68, 0x42, 0x6c, 0x65, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x45, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, - 0x09, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, - 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x05, 0x22, 0x44, 0x0a, 0x23, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0x97, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, + 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, + 0x79, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x10, 0x06, 0x22, 0xaf, 0x01, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x4c, 0x61, 0x62, 0x79, 0x72, 0x69, 0x6e, 0x74, 0x68, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x62, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x62, + 0x75, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x8d, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x79, 0x72, 0x69, 0x6e, 0x74, 0x68, 0x42, 0x6c, 0x65, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, - 0x0b, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x0b, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x64, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, - 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, - 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x22, 0xa7, 0x01, 0x0a, - 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x22, 0x66, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, - 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, - 0x79, 0x50, 0x61, 0x67, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, - 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x22, 0x8d, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, - 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x22, 0xa4, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x79, 0x72, + 0x69, 0x6e, 0x74, 0x68, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x7f, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, + 0x65, 0x4e, 0x6f, 0x53, 0x75, 0x63, 0x68, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x10, + 0x02, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, + 0x68, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x5f, 0x65, + 0x4e, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x05, 0x22, 0x44, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x97, + 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x73, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x0b, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x22, 0x64, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, - 0x04, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, - 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, 0x06, 0x22, - 0xe1, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x22, 0xa7, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x09, + 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, + 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x50, 0x61, 0x67, + 0x65, 0x73, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, + 0x73, 0x79, 0x10, 0x04, 0x22, 0x8d, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6d, + 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x4d, 0x61, 0x78, 0x22, 0xa4, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, + 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, + 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, + 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x12, 0x18, 0x0a, + 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x4d, 0x61, 0x78, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, 0x06, 0x22, 0xe1, 0x01, 0x0a, 0x22, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, + 0x61, 0x63, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x0c, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x60, 0x0a, + 0x0b, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x19, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x53, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x07, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x22, + 0xb9, 0x02, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x1a, 0x60, 0x0a, 0x0b, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x36, 0x0a, 0x07, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x07, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x22, 0xb9, 0x02, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0x0a, - 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, - 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, - 0x65, 0x6d, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, - 0x73, 0x79, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, 0x06, 0x12, 0x17, - 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x69, 0x73, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x54, 0x6f, - 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x10, 0x08, 0x22, - 0x9d, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x4d, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x1a, - 0x9d, 0x01, 0x0a, 0x04, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, - 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x65, - 0x77, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, - 0xfa, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, 0x01, 0x0a, - 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, - 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, - 0x65, 0x6d, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, - 0x73, 0x79, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, 0x06, 0x12, 0x17, - 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x69, 0x73, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4f, 0x6c, - 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x08, 0x12, - 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x6c, 0x6f, - 0x74, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x0a, 0x22, 0x8b, 0x01, 0x0a, - 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, - 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, - 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x70, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, - 0x6d, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, + 0x6b, 0x5f, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, + 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, + 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x49, 0x74, 0x65, 0x6d, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, + 0x65, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, + 0x79, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x10, 0x08, 0x22, 0x9d, 0x02, 0x0a, 0x2c, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, + 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x05, + 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x1a, 0x9d, 0x01, 0x0a, 0x04, + 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x6c, + 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6c, + 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x6f, 0x6c, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xfa, 0x02, 0x0a, 0x2d, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, + 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x0a, 0x09, 0x45, 0x52, 0x65, + 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, - 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, - 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x50, 0x61, 0x67, 0x65, 0x73, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, - 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, - 0x61, 0x67, 0x65, 0x10, 0x05, 0x22, 0x77, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x8c, - 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x53, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, - 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, + 0x6b, 0x5f, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, + 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, + 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x49, 0x74, 0x65, 0x6d, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, + 0x65, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4f, 0x6c, 0x64, 0x49, 0x74, 0x65, + 0x6d, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x6b, + 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x10, 0x09, 0x12, + 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x69, + 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x0a, 0x22, 0x8b, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x13, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, + 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x11, 0x70, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x54, + 0x6f, 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x50, 0x61, 0x67, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x12, 0x12, 0x0a, + 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, + 0x05, 0x22, 0x77, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, + 0x77, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x6e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x6c, + 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x6f, 0x6c, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x24, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, + 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x12, 0x16, 0x0a, + 0x12, 0x6b, 0x5f, 0x65, 0x4f, 0x6c, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4d, 0x69, 0x73, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x06, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x25, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x48, + 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x22, 0x50, 0x0a, 0x1d, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x46, + 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, + 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x22, 0xe1, 0x01, 0x0a, + 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, + 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, + 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x09, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x12, 0x0a, - 0x0e, 0x6b, 0x5f, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, - 0x04, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4f, 0x6c, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4d, - 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x06, 0x22, 0x1f, 0x0a, - 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, - 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x22, 0x8d, - 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x09, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, + 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x67, 0x65, 0x10, 0x05, + 0x22, 0x73, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x77, 0x61, 0x67, 0x12, 0x27, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc5, 0x02, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x77, 0x61, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x77, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, + 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x10, + 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x10, + 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x0a, 0x22, 0x52, 0x0a, + 0x31, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x22, 0xb8, 0x02, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x1a, 0xac, 0x01, + 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, + 0x66, 0x12, 0x64, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, + 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x76, + 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x23, 0x0a, 0x09, 0x45, 0x56, 0x6f, 0x74, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x5f, 0x65, 0x55, 0x70, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x07, 0x6b, 0x5f, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x10, 0x01, 0x22, 0x50, 0x0a, 0x1d, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x70, 0x12, 0x2f, 0x0a, + 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x6c, 0x69, 0x70, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x70, 0x22, 0xcd, + 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x52, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x0d, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x09, 0x45, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x22, 0x50, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x53, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x67, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, - 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, - 0x22, 0xe1, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, - 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, - 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, - 0x67, 0x65, 0x10, 0x05, 0x22, 0x73, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x77, 0x61, 0x67, 0x12, - 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc5, 0x02, 0x0a, 0x1f, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, - 0x6d, 0x53, 0x77, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x77, 0x61, 0x67, 0x52, 0x65, + 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x9f, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x31, + 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, + 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, + 0x01, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, + 0x54, 0x49, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, + 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x68, 0x61, + 0x6c, 0x66, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x14, 0x43, + 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, + 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1f, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, + 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xaf, 0x02, 0x0a, 0x27, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, + 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, + 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, + 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x74, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, + 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, + 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x44, 0x10, 0x05, 0x22, 0x41, 0x0a, 0x24, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, + 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, + 0xcc, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x58, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x09, 0x45, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, + 0x54, 0x49, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x81, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x04, 0x12, 0x15, - 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x61, 0x69, - 0x6d, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x07, 0x12, 0x16, 0x0a, - 0x12, 0x6b, 0x5f, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x45, 0x6c, 0x69, 0x67, 0x69, - 0x62, 0x6c, 0x65, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, - 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, - 0x0a, 0x22, 0x52, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xb8, 0x02, 0x0a, 0x32, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x05, - 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, - 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, - 0x65, 0x6d, 0x44, 0x65, 0x66, 0x12, 0x64, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x23, 0x0a, 0x09, 0x45, - 0x56, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x5f, 0x65, 0x55, - 0x70, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x5f, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x10, 0x01, - 0x22, 0x50, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, - 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x70, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, - 0x69, 0x70, 0x22, 0xcd, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, - 0x6c, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x51, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, - 0x10, 0x04, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x9f, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x61, 0x70, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x22, 0x31, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x10, 0x01, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, - 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x25, - 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x68, 0x61, 0x6c, 0x66, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, - 0x4f, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, - 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x22, 0x3c, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xaf, - 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, - 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x74, 0x0a, 0x09, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, - 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x10, - 0x0a, 0x0c, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x44, 0x10, 0x05, - 0x22, 0x41, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x22, 0xcc, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, - 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, - 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, - 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x81, - 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x02, 0x12, - 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x03, 0x12, - 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x04, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x05, - 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x44, - 0x10, 0x06, 0x22, 0x7e, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, - 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x22, 0x76, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, - 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x81, 0x02, 0x0a, 0x25, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, - 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, - 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, - 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, - 0x5f, 0x65, 0x42, 0x61, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, - 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0b, + 0x0a, 0x07, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x44, 0x10, 0x06, 0x22, 0x85, - 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x44, 0x65, 0x76, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, - 0x54, 0x49, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, - 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0d, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, 0xeb, - 0x03, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x49, 0x64, - 0x12, 0x49, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, - 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x76, 0x0a, 0x0a, 0x53, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, + 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x44, 0x10, 0x06, 0x22, 0x7e, + 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x76, + 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, + 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x72, + 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x81, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, + 0x49, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x51, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, + 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x42, 0x61, + 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x5f, 0x65, 0x4e, + 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x44, 0x10, 0x06, 0x22, 0x85, 0x01, 0x0a, 0x23, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, + 0x64, 0x54, 0x6f, 0x54, 0x49, 0x44, 0x65, 0x76, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, + 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x49, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x41, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x09, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, + 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4e, + 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, + 0x22, 0x8e, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x73, 0x22, 0x47, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, + 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x61, 0x6e, + 0x6e, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, 0xeb, 0x03, 0x0a, 0x22, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x1a, 0x87, 0x01, 0x0a, 0x0d, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x49, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6d, 0x69, 0x63, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2a, 0xd8, 0x01, 0x0a, - 0x21, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x41, 0x6e, 0x79, 0x10, 0x00, 0x12, 0x2c, 0x0a, - 0x28, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x5f, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x43, - 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x5f, 0x48, 0x69, 0x67, 0x68, 0x10, 0x02, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, + 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x76, 0x0a, 0x0a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x5f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x87, + 0x01, 0x0a, 0x0d, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x69, 0x63, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x69, 0x63, + 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2a, 0xd8, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, + 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x5f, 0x41, 0x6e, 0x79, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x4e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x56, 0x65, 0x72, - 0x79, 0x48, 0x69, 0x67, 0x68, 0x10, 0x03, 0x2a, 0x56, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, - 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x50, 0x4c, - 0x41, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x53, 0x10, 0x01, 0x2a, - 0xd1, 0x01, 0x0a, 0x1c, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x49, 0x74, - 0x65, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, - 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, - 0x49, 0x74, 0x65, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x64, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, - 0x6d, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x4f, 0x75, - 0x74, 0x10, 0x04, 0x2a, 0xe8, 0x01, 0x0a, 0x20, 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, - 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x57, - 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, - 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4e, - 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x57, 0x65, 0x65, 0x6b, - 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, - 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, - 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x57, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x12, 0x31, 0x0a, 0x2d, 0x6b, - 0x5f, 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, - 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x45, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x10, 0x03, 0x2a, 0xa7, - 0x02, 0x0a, 0x17, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, - 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, - 0x00, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, - 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, - 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, - 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x10, 0x02, 0x12, 0x2c, 0x0a, - 0x28, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x03, 0x12, 0x2d, 0x0a, 0x29, 0x6b, - 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x10, 0x04, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, - 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x05, 0x2a, 0x8e, 0x03, 0x0a, 0x18, 0x45, 0x50, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, - 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x2b, 0x0a, - 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, - 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x54, 0x6f, 0x53, 0x65, 0x6e, 0x64, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, + 0x73, 0x5f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x48, 0x69, 0x67, + 0x68, 0x10, 0x02, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x56, 0x65, 0x72, 0x79, 0x48, 0x69, 0x67, + 0x68, 0x10, 0x03, 0x2a, 0x56, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, + 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x48, + 0x49, 0x47, 0x48, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x53, 0x10, 0x01, 0x2a, 0xd1, 0x01, 0x0a, 0x1c, + 0x45, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x21, + 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4f, + 0x4b, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x64, + 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x73, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, 0x6d, + 0x45, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x64, 0x69, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x10, 0x04, 0x2a, + 0xe8, 0x01, 0x0a, 0x20, 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, + 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, + 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, + 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, + 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x57, 0x65, 0x65, + 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x57, 0x6f, 0x6e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x57, 0x65, + 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x69, 0x63, 0x68, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6c, + 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x10, 0x03, 0x2a, 0xa7, 0x02, 0x0a, 0x17, 0x45, + 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, + 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x2d, 0x0a, + 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, + 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, + 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x03, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, + 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x65, 0x64, 0x10, 0x04, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, + 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x10, 0x05, 0x2a, 0x8e, 0x03, 0x0a, 0x18, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, + 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, + 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, + 0x53, 0x65, 0x6e, 0x64, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x10, 0x02, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, - 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, - 0x67, 0x68, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x10, 0x02, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x04, 0x12, 0x2b, 0x0a, + 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, + 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, - 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x31, - 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, - 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x50, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, - 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x10, 0x05, 0x12, 0x2b, - 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, - 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, - 0x65, 0x61, 0x64, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x10, 0x06, 0x12, 0x2c, 0x0a, 0x28, 0x6b, - 0x5f, 0x45, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, - 0x6c, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x10, 0x07, 0x2a, 0xb8, 0x02, 0x0a, 0x16, 0x45, 0x44, - 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, + 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x10, 0x06, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x10, 0x07, 0x2a, 0xb8, 0x02, 0x0a, 0x16, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, + 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x01, 0x12, + 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x71, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x02, 0x12, 0x27, - 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x71, 0x6c, 0x46, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x44, 0x65, - 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x28, 0x0a, - 0x24, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x65, - 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x44, 0x4f, 0x4c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x10, 0x06, 0x2a, 0xdd, 0x05, 0x0a, 0x1a, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x28, 0x0a, - 0x24, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x53, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x61, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, - 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x10, 0x02, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, - 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, - 0x74, 0x49, 0x6e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x03, 0x12, 0x2f, - 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x10, 0x04, 0x12, - 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, + 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x65, 0x76, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x12, 0x2d, - 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0x06, 0x12, 0x36, 0x0a, - 0x32, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x10, 0x07, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x08, 0x12, 0x33, 0x0a, - 0x2f, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x10, 0x09, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, - 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x10, 0x0a, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, + 0x53, 0x44, 0x4f, 0x4c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x06, + 0x2a, 0xdd, 0x05, 0x0a, 0x1a, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x10, 0x0b, 0x12, 0x33, 0x0a, 0x2f, 0x6b, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x61, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x4f, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x10, 0x02, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x03, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, + 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x10, 0x04, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x10, 0x0c, - 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x10, 0x0d, 0x2a, 0x82, 0x02, 0x0a, 0x13, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, - 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x47, 0x6f, 0x6c, 0x64, 0x10, - 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, - 0x6c, 0x6f, 0x74, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x42, 0x65, - 0x6e, 0x63, 0x68, 0x53, 0x70, 0x61, 0x63, 0x65, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, - 0x65, 0x4e, 0x6f, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x64, - 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x48, - 0x61, 0x73, 0x42, 0x69, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x08, 0x12, 0x15, 0x0a, - 0x11, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, - 0x73, 0x79, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x43, 0x61, 0x6e, 0x74, 0x52, - 0x6f, 0x6c, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x10, 0x0b, 0x2a, 0xc1, 0x02, 0x0a, 0x1c, 0x45, 0x44, - 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, - 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, + 0x6c, 0x69, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, + 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0x06, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, 0x45, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x10, + 0x07, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x08, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x10, 0x09, 0x12, 0x35, + 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x10, 0x0a, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x10, 0x0b, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x10, 0x0c, 0x12, 0x32, 0x0a, 0x2e, + 0x6b, 0x5f, 0x45, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x0d, + 0x2a, 0x82, 0x02, 0x0a, 0x13, 0x45, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0d, + 0x0a, 0x09, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x47, 0x6f, 0x6c, 0x64, 0x10, 0x02, 0x12, 0x12, 0x0a, + 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x10, + 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x10, 0x06, 0x12, 0x14, + 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x48, 0x61, 0x73, 0x42, 0x69, + 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, + 0x4e, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x09, + 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x0a, + 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x43, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x42, + 0x61, 0x63, 0x6b, 0x10, 0x0b, 0x2a, 0xc1, 0x02, 0x0a, 0x1c, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x44, 0x10, 0x01, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, - 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, - 0x61, 0x64, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x10, 0x02, 0x12, 0x30, 0x0a, - 0x2c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, - 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, - 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, - 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x5f, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x47, 0x43, 0x44, 0x6f, 0x77, 0x6e, 0x10, 0x05, 0x2a, 0xe3, 0x01, - 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x36, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x61, 0x64, 0x10, 0x01, 0x12, 0x3e, 0x0a, 0x3a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, - 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x10, 0x02, 0x12, 0x3d, 0x0a, 0x39, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x44, 0x10, 0x01, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, + 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x31, 0x0a, 0x2d, 0x6b, + 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69, + 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x54, 0x72, + 0x69, 0x76, 0x69, 0x61, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x04, 0x12, 0x29, + 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x72, + 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x47, 0x43, 0x44, 0x6f, 0x77, 0x6e, 0x10, 0x05, 0x2a, 0xe3, 0x01, 0x0a, 0x26, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x5f, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x36, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, - 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, - 0x64, 0x10, 0x03, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, - 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x61, 0x64, 0x10, 0x01, + 0x12, 0x3e, 0x0a, 0x3a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x02, + 0x12, 0x3d, 0x0a, 0x39, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x65, + 0x73, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x10, 0x03, 0x42, + 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, + 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, + 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -38142,7 +38257,7 @@ func file_dota_gcmessages_client_proto_rawDescGZIP() []byte { } var file_dota_gcmessages_client_proto_enumTypes = make([]protoimpl.EnumInfo, 81) -var file_dota_gcmessages_client_proto_msgTypes = make([]protoimpl.MessageInfo, 457) +var file_dota_gcmessages_client_proto_msgTypes = make([]protoimpl.MessageInfo, 459) var file_dota_gcmessages_client_proto_goTypes = []interface{}{ (CMsgDOTARequestMatches_SkillLevel)(0), // 0: dota.CMsgDOTARequestMatches_SkillLevel (DOTA_WatchReplayType)(0), // 1: dota.DOTA_WatchReplayType @@ -38290,736 +38405,740 @@ var file_dota_gcmessages_client_proto_goTypes = []interface{}{ (*CMsgDOTAPeriodicResourceUpdated)(nil), // 143: dota.CMsgDOTAPeriodicResourceUpdated (*CMsgDOTACompendiumSelection)(nil), // 144: dota.CMsgDOTACompendiumSelection (*CMsgDOTACompendiumSelectionResponse)(nil), // 145: dota.CMsgDOTACompendiumSelectionResponse - (*CMsgDOTACompendiumData)(nil), // 146: dota.CMsgDOTACompendiumData - (*CMsgDOTACompendiumDataRequest)(nil), // 147: dota.CMsgDOTACompendiumDataRequest - (*CMsgDOTACompendiumDataResponse)(nil), // 148: dota.CMsgDOTACompendiumDataResponse - (*CMsgDOTAGetPlayerMatchHistory)(nil), // 149: dota.CMsgDOTAGetPlayerMatchHistory - (*CMsgDOTAGetPlayerMatchHistoryResponse)(nil), // 150: dota.CMsgDOTAGetPlayerMatchHistoryResponse - (*CMsgGCNotificationsRequest)(nil), // 151: dota.CMsgGCNotificationsRequest - (*CMsgGCNotifications_Notification)(nil), // 152: dota.CMsgGCNotifications_Notification - (*CMsgGCNotificationsUpdate)(nil), // 153: dota.CMsgGCNotificationsUpdate - (*CMsgGCNotificationsResponse)(nil), // 154: dota.CMsgGCNotificationsResponse - (*CMsgGCNotificationsMarkReadRequest)(nil), // 155: dota.CMsgGCNotificationsMarkReadRequest - (*CMsgGCPlayerInfoSubmit)(nil), // 156: dota.CMsgGCPlayerInfoSubmit - (*CMsgGCPlayerInfoSubmitResponse)(nil), // 157: dota.CMsgGCPlayerInfoSubmitResponse - (*CMsgDOTAEmoticonAccessSDO)(nil), // 158: dota.CMsgDOTAEmoticonAccessSDO - (*CMsgClientToGCEmoticonDataRequest)(nil), // 159: dota.CMsgClientToGCEmoticonDataRequest - (*CMsgGCToClientEmoticonData)(nil), // 160: dota.CMsgGCToClientEmoticonData - (*CMsgGCToClientTournamentItemDrop)(nil), // 161: dota.CMsgGCToClientTournamentItemDrop - (*CMsgClientToGCGetAllHeroOrder)(nil), // 162: dota.CMsgClientToGCGetAllHeroOrder - (*CMsgClientToGCGetAllHeroOrderResponse)(nil), // 163: dota.CMsgClientToGCGetAllHeroOrderResponse - (*CMsgClientToGCGetAllHeroProgress)(nil), // 164: dota.CMsgClientToGCGetAllHeroProgress - (*CMsgClientToGCGetAllHeroProgressResponse)(nil), // 165: dota.CMsgClientToGCGetAllHeroProgressResponse - (*CMsgClientToGCGetTrophyList)(nil), // 166: dota.CMsgClientToGCGetTrophyList - (*CMsgClientToGCGetTrophyListResponse)(nil), // 167: dota.CMsgClientToGCGetTrophyListResponse - (*CMsgGCToClientTrophyAwarded)(nil), // 168: dota.CMsgGCToClientTrophyAwarded - (*CMsgClientToGCRankRequest)(nil), // 169: dota.CMsgClientToGCRankRequest - (*CMsgGCToClientRankResponse)(nil), // 170: dota.CMsgGCToClientRankResponse - (*CMsgGCToClientRankUpdate)(nil), // 171: dota.CMsgGCToClientRankUpdate - (*CMsgClientToGCGetProfileCard)(nil), // 172: dota.CMsgClientToGCGetProfileCard - (*CMsgClientToGCSetProfileCardSlots)(nil), // 173: dota.CMsgClientToGCSetProfileCardSlots - (*CMsgClientToGCGetProfileCardStats)(nil), // 174: dota.CMsgClientToGCGetProfileCardStats - (*CMsgClientToGCCreateHeroStatue)(nil), // 175: dota.CMsgClientToGCCreateHeroStatue - (*CMsgGCToClientHeroStatueCreateResult)(nil), // 176: dota.CMsgGCToClientHeroStatueCreateResult - (*CMsgClientToGCPlayerStatsRequest)(nil), // 177: dota.CMsgClientToGCPlayerStatsRequest - (*CMsgGCToClientPlayerStatsResponse)(nil), // 178: dota.CMsgGCToClientPlayerStatsResponse - (*CMsgClientToGCCustomGamesFriendsPlayedRequest)(nil), // 179: dota.CMsgClientToGCCustomGamesFriendsPlayedRequest - (*CMsgGCToClientCustomGamesFriendsPlayedResponse)(nil), // 180: dota.CMsgGCToClientCustomGamesFriendsPlayedResponse - (*CMsgClientToGCSocialFeedPostCommentRequest)(nil), // 181: dota.CMsgClientToGCSocialFeedPostCommentRequest - (*CMsgGCToClientSocialFeedPostCommentResponse)(nil), // 182: dota.CMsgGCToClientSocialFeedPostCommentResponse - (*CMsgClientToGCSocialFeedPostMessageRequest)(nil), // 183: dota.CMsgClientToGCSocialFeedPostMessageRequest - (*CMsgGCToClientSocialFeedPostMessageResponse)(nil), // 184: dota.CMsgGCToClientSocialFeedPostMessageResponse - (*CMsgClientToGCFriendsPlayedCustomGameRequest)(nil), // 185: dota.CMsgClientToGCFriendsPlayedCustomGameRequest - (*CMsgGCToClientFriendsPlayedCustomGameResponse)(nil), // 186: dota.CMsgGCToClientFriendsPlayedCustomGameResponse - (*CMsgDOTAPartyRichPresence)(nil), // 187: dota.CMsgDOTAPartyRichPresence - (*CMsgDOTALobbyRichPresence)(nil), // 188: dota.CMsgDOTALobbyRichPresence - (*CMsgDOTACustomGameListenServerStartedLoading)(nil), // 189: dota.CMsgDOTACustomGameListenServerStartedLoading - (*CMsgDOTACustomGameClientFinishedLoading)(nil), // 190: dota.CMsgDOTACustomGameClientFinishedLoading - (*CMsgClientToGCApplyGemCombiner)(nil), // 191: dota.CMsgClientToGCApplyGemCombiner - (*CMsgClientToGCH264Unsupported)(nil), // 192: dota.CMsgClientToGCH264Unsupported - (*CMsgClientToGCGetQuestProgress)(nil), // 193: dota.CMsgClientToGCGetQuestProgress - (*CMsgClientToGCGetQuestProgressResponse)(nil), // 194: dota.CMsgClientToGCGetQuestProgressResponse - (*CMsgGCToClientMatchSignedOut)(nil), // 195: dota.CMsgGCToClientMatchSignedOut - (*CMsgGCGetHeroStatsHistory)(nil), // 196: dota.CMsgGCGetHeroStatsHistory - (*CMsgGCGetHeroStatsHistoryResponse)(nil), // 197: dota.CMsgGCGetHeroStatsHistoryResponse - (*CMsgPlayerConductScorecardRequest)(nil), // 198: dota.CMsgPlayerConductScorecardRequest - (*CMsgPlayerConductScorecard)(nil), // 199: dota.CMsgPlayerConductScorecard - (*CMsgClientToGCWageringRequest)(nil), // 200: dota.CMsgClientToGCWageringRequest - (*CMsgGCToClientWageringResponse)(nil), // 201: dota.CMsgGCToClientWageringResponse - (*CMsgGCToClientWageringUpdate)(nil), // 202: dota.CMsgGCToClientWageringUpdate - (*CMsgGCToClientArcanaVotesUpdate)(nil), // 203: dota.CMsgGCToClientArcanaVotesUpdate - (*CMsgClientToGCGetEventGoals)(nil), // 204: dota.CMsgClientToGCGetEventGoals - (*CMsgEventGoals)(nil), // 205: dota.CMsgEventGoals - (*CMsgGCToGCLeaguePredictions)(nil), // 206: dota.CMsgGCToGCLeaguePredictions - (*CMsgPredictionRankings)(nil), // 207: dota.CMsgPredictionRankings - (*CMsgPredictionResults)(nil), // 208: dota.CMsgPredictionResults - (*CMsgClientToGCHasPlayerVotedForMVP)(nil), // 209: dota.CMsgClientToGCHasPlayerVotedForMVP - (*CMsgClientToGCHasPlayerVotedForMVPResponse)(nil), // 210: dota.CMsgClientToGCHasPlayerVotedForMVPResponse - (*CMsgClientToGCVoteForMVP)(nil), // 211: dota.CMsgClientToGCVoteForMVP - (*CMsgClientToGCVoteForMVPResponse)(nil), // 212: dota.CMsgClientToGCVoteForMVPResponse - (*CMsgClientToGCMVPVoteTimeout)(nil), // 213: dota.CMsgClientToGCMVPVoteTimeout - (*CMsgClientToGCMVPVoteTimeoutResponse)(nil), // 214: dota.CMsgClientToGCMVPVoteTimeoutResponse - (*CMsgClientToGCTeammateStatsRequest)(nil), // 215: dota.CMsgClientToGCTeammateStatsRequest - (*CMsgClientToGCTeammateStatsResponse)(nil), // 216: dota.CMsgClientToGCTeammateStatsResponse - (*CMsgClientToGCVoteForArcana)(nil), // 217: dota.CMsgClientToGCVoteForArcana - (*CMsgClientToGCVoteForArcanaResponse)(nil), // 218: dota.CMsgClientToGCVoteForArcanaResponse - (*CMsgClientToGCRequestArcanaVotesRemaining)(nil), // 219: dota.CMsgClientToGCRequestArcanaVotesRemaining - (*CMsgClientToGCRequestArcanaVotesRemainingResponse)(nil), // 220: dota.CMsgClientToGCRequestArcanaVotesRemainingResponse - (*CMsgClientToGCRequestEventPointLogV2)(nil), // 221: dota.CMsgClientToGCRequestEventPointLogV2 - (*CMsgClientToGCRequestEventPointLogResponseV2)(nil), // 222: dota.CMsgClientToGCRequestEventPointLogResponseV2 - (*CMsgClientToGCPublishUserStat)(nil), // 223: dota.CMsgClientToGCPublishUserStat - (*CMsgClientToGCRequestSlarkGameResult)(nil), // 224: dota.CMsgClientToGCRequestSlarkGameResult - (*CMsgClientToGCRequestSlarkGameResultResponse)(nil), // 225: dota.CMsgClientToGCRequestSlarkGameResultResponse - (*CMsgGCToClientQuestProgressUpdated)(nil), // 226: dota.CMsgGCToClientQuestProgressUpdated - (*CMsgDOTARedeemItem)(nil), // 227: dota.CMsgDOTARedeemItem - (*CMsgDOTARedeemItemResponse)(nil), // 228: dota.CMsgDOTARedeemItemResponse - (*CMsgClientToGCSelectCompendiumInGamePrediction)(nil), // 229: dota.CMsgClientToGCSelectCompendiumInGamePrediction - (*CMsgClientToGCSelectCompendiumInGamePredictionResponse)(nil), // 230: dota.CMsgClientToGCSelectCompendiumInGamePredictionResponse - (*CMsgClientToGCOpenPlayerCardPack)(nil), // 231: dota.CMsgClientToGCOpenPlayerCardPack - (*CMsgClientToGCOpenPlayerCardPackResponse)(nil), // 232: dota.CMsgClientToGCOpenPlayerCardPackResponse - (*CMsgClientToGCRecyclePlayerCard)(nil), // 233: dota.CMsgClientToGCRecyclePlayerCard - (*CMsgClientToGCRecyclePlayerCardResponse)(nil), // 234: dota.CMsgClientToGCRecyclePlayerCardResponse - (*CMsgClientToGCCreatePlayerCardPack)(nil), // 235: dota.CMsgClientToGCCreatePlayerCardPack - (*CMsgClientToGCCreatePlayerCardPackResponse)(nil), // 236: dota.CMsgClientToGCCreatePlayerCardPackResponse - (*CMsgClientToGCCreateTeamPlayerCardPack)(nil), // 237: dota.CMsgClientToGCCreateTeamPlayerCardPack - (*CMsgClientToGCCreateTeamPlayerCardPackResponse)(nil), // 238: dota.CMsgClientToGCCreateTeamPlayerCardPackResponse - (*CMsgGCToClientBattlePassRollup_International2016)(nil), // 239: dota.CMsgGCToClientBattlePassRollup_International2016 - (*CMsgGCToClientBattlePassRollup_Fall2016)(nil), // 240: dota.CMsgGCToClientBattlePassRollup_Fall2016 - (*CMsgGCToClientBattlePassRollup_Winter2017)(nil), // 241: dota.CMsgGCToClientBattlePassRollup_Winter2017 - (*CMsgGCToClientBattlePassRollup_TI7)(nil), // 242: dota.CMsgGCToClientBattlePassRollup_TI7 - (*CMsgGCToClientBattlePassRollup_TI8)(nil), // 243: dota.CMsgGCToClientBattlePassRollup_TI8 - (*CMsgGCToClientBattlePassRollup_TI9)(nil), // 244: dota.CMsgGCToClientBattlePassRollup_TI9 - (*CMsgGCToClientBattlePassRollup_TI10)(nil), // 245: dota.CMsgGCToClientBattlePassRollup_TI10 - (*CMsgGCToClientBattlePassRollupRequest)(nil), // 246: dota.CMsgGCToClientBattlePassRollupRequest - (*CMsgGCToClientBattlePassRollupResponse)(nil), // 247: dota.CMsgGCToClientBattlePassRollupResponse - (*CMsgGCToClientBattlePassRollupListRequest)(nil), // 248: dota.CMsgGCToClientBattlePassRollupListRequest - (*CMsgGCToClientBattlePassRollupListResponse)(nil), // 249: dota.CMsgGCToClientBattlePassRollupListResponse - (*CMsgClientToGCTransferSeasonalMMRRequest)(nil), // 250: dota.CMsgClientToGCTransferSeasonalMMRRequest - (*CMsgClientToGCTransferSeasonalMMRResponse)(nil), // 251: dota.CMsgClientToGCTransferSeasonalMMRResponse - (*CMsgGCToClientPlaytestStatus)(nil), // 252: dota.CMsgGCToClientPlaytestStatus - (*CMsgClientToGCJoinPlaytest)(nil), // 253: dota.CMsgClientToGCJoinPlaytest - (*CMsgClientToGCJoinPlaytestResponse)(nil), // 254: dota.CMsgClientToGCJoinPlaytestResponse - (*CMsgDOTASetFavoriteTeam)(nil), // 255: dota.CMsgDOTASetFavoriteTeam - (*CMsgDOTATriviaCurrentQuestions)(nil), // 256: dota.CMsgDOTATriviaCurrentQuestions - (*CMsgDOTASubmitTriviaQuestionAnswer)(nil), // 257: dota.CMsgDOTASubmitTriviaQuestionAnswer - (*CMsgDOTASubmitTriviaQuestionAnswerResponse)(nil), // 258: dota.CMsgDOTASubmitTriviaQuestionAnswerResponse - (*CMsgDOTAStartTriviaSession)(nil), // 259: dota.CMsgDOTAStartTriviaSession - (*CMsgDOTAStartTriviaSessionResponse)(nil), // 260: dota.CMsgDOTAStartTriviaSessionResponse - (*CMsgDOTAAnchorPhoneNumberRequest)(nil), // 261: dota.CMsgDOTAAnchorPhoneNumberRequest - (*CMsgDOTAAnchorPhoneNumberResponse)(nil), // 262: dota.CMsgDOTAAnchorPhoneNumberResponse - (*CMsgDOTAUnanchorPhoneNumberRequest)(nil), // 263: dota.CMsgDOTAUnanchorPhoneNumberRequest - (*CMsgDOTAUnanchorPhoneNumberResponse)(nil), // 264: dota.CMsgDOTAUnanchorPhoneNumberResponse - (*CMsgGCToClientCommendNotification)(nil), // 265: dota.CMsgGCToClientCommendNotification - (*CMsgDOTAClientToGCQuickStatsRequest)(nil), // 266: dota.CMsgDOTAClientToGCQuickStatsRequest - (*CMsgDOTAClientToGCQuickStatsResponse)(nil), // 267: dota.CMsgDOTAClientToGCQuickStatsResponse - (*CMsgDOTASelectionPriorityChoiceRequest)(nil), // 268: dota.CMsgDOTASelectionPriorityChoiceRequest - (*CMsgDOTASelectionPriorityChoiceResponse)(nil), // 269: dota.CMsgDOTASelectionPriorityChoiceResponse - (*CMsgDOTAGameAutographReward)(nil), // 270: dota.CMsgDOTAGameAutographReward - (*CMsgDOTAGameAutographRewardResponse)(nil), // 271: dota.CMsgDOTAGameAutographRewardResponse - (*CMsgDOTADestroyLobbyRequest)(nil), // 272: dota.CMsgDOTADestroyLobbyRequest - (*CMsgDOTADestroyLobbyResponse)(nil), // 273: dota.CMsgDOTADestroyLobbyResponse - (*CMsgDOTAGetRecentPlayTimeFriendsRequest)(nil), // 274: dota.CMsgDOTAGetRecentPlayTimeFriendsRequest - (*CMsgDOTAGetRecentPlayTimeFriendsResponse)(nil), // 275: dota.CMsgDOTAGetRecentPlayTimeFriendsResponse - (*CMsgPurchaseItemWithEventPoints)(nil), // 276: dota.CMsgPurchaseItemWithEventPoints - (*CMsgPurchaseItemWithEventPointsResponse)(nil), // 277: dota.CMsgPurchaseItemWithEventPointsResponse - (*CMsgPurchaseHeroRandomRelic)(nil), // 278: dota.CMsgPurchaseHeroRandomRelic - (*CMsgPurchaseHeroRandomRelicResponse)(nil), // 279: dota.CMsgPurchaseHeroRandomRelicResponse - (*CMsgClientToGCRequestPlusWeeklyChallengeResult)(nil), // 280: dota.CMsgClientToGCRequestPlusWeeklyChallengeResult - (*CMsgClientToGCRequestPlusWeeklyChallengeResultResponse)(nil), // 281: dota.CMsgClientToGCRequestPlusWeeklyChallengeResultResponse - (*CMsgProfileRequest)(nil), // 282: dota.CMsgProfileRequest - (*CMsgProfileResponse)(nil), // 283: dota.CMsgProfileResponse - (*CMsgProfileUpdate)(nil), // 284: dota.CMsgProfileUpdate - (*CMsgProfileUpdateResponse)(nil), // 285: dota.CMsgProfileUpdateResponse - (*CMsgTalentWinRates)(nil), // 286: dota.CMsgTalentWinRates - (*CMsgGlobalHeroAverages)(nil), // 287: dota.CMsgGlobalHeroAverages - (*CMsgHeroGlobalDataRequest)(nil), // 288: dota.CMsgHeroGlobalDataRequest - (*CMsgHeroGlobalDataResponse)(nil), // 289: dota.CMsgHeroGlobalDataResponse - (*CMsgHeroGlobalDataAllHeroes)(nil), // 290: dota.CMsgHeroGlobalDataAllHeroes - (*CMsgHeroGlobalDataHeroesAlliesAndEnemies)(nil), // 291: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies - (*CMsgPrivateMetadataKeyRequest)(nil), // 292: dota.CMsgPrivateMetadataKeyRequest - (*CMsgPrivateMetadataKeyResponse)(nil), // 293: dota.CMsgPrivateMetadataKeyResponse - (*CMsgActivatePlusFreeTrialResponse)(nil), // 294: dota.CMsgActivatePlusFreeTrialResponse - (*CMsgGCToClientCavernCrawlMapPathCompleted)(nil), // 295: dota.CMsgGCToClientCavernCrawlMapPathCompleted - (*CMsgGCToClientCavernCrawlMapUpdated)(nil), // 296: dota.CMsgGCToClientCavernCrawlMapUpdated - (*CMsgClientToGCCavernCrawlClaimRoom)(nil), // 297: dota.CMsgClientToGCCavernCrawlClaimRoom - (*CMsgClientToGCCavernCrawlClaimRoomResponse)(nil), // 298: dota.CMsgClientToGCCavernCrawlClaimRoomResponse - (*CMsgClientToGCCavernCrawlUseItemOnRoom)(nil), // 299: dota.CMsgClientToGCCavernCrawlUseItemOnRoom - (*CMsgClientToGCCavernCrawlUseItemOnRoomResponse)(nil), // 300: dota.CMsgClientToGCCavernCrawlUseItemOnRoomResponse - (*CMsgClientToGCCavernCrawlUseItemOnPath)(nil), // 301: dota.CMsgClientToGCCavernCrawlUseItemOnPath - (*CMsgClientToGCCavernCrawlUseItemOnPathResponse)(nil), // 302: dota.CMsgClientToGCCavernCrawlUseItemOnPathResponse - (*CMsgClientToGCCavernCrawlRequestMapState)(nil), // 303: dota.CMsgClientToGCCavernCrawlRequestMapState - (*CMsgClientToGCCavernCrawlRequestMapStateResponse)(nil), // 304: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse - (*CMsgClientToGCCavernCrawlGetClaimedRoomCount)(nil), // 305: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCount - (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse)(nil), // 306: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse - (*CMsgDOTAMutationList)(nil), // 307: dota.CMsgDOTAMutationList - (*CMsgEventTipsSummaryRequest)(nil), // 308: dota.CMsgEventTipsSummaryRequest - (*CMsgEventTipsSummaryResponse)(nil), // 309: dota.CMsgEventTipsSummaryResponse - (*CMsgSocialFeedRequest)(nil), // 310: dota.CMsgSocialFeedRequest - (*CMsgSocialFeedResponse)(nil), // 311: dota.CMsgSocialFeedResponse - (*CMsgSocialFeedCommentsRequest)(nil), // 312: dota.CMsgSocialFeedCommentsRequest - (*CMsgSocialFeedCommentsResponse)(nil), // 313: dota.CMsgSocialFeedCommentsResponse - (*CMsgClientToGCPlayerCardSpecificPurchaseRequest)(nil), // 314: dota.CMsgClientToGCPlayerCardSpecificPurchaseRequest - (*CMsgClientToGCPlayerCardSpecificPurchaseResponse)(nil), // 315: dota.CMsgClientToGCPlayerCardSpecificPurchaseResponse - (*CMsgClientToGCRequestContestVotes)(nil), // 316: dota.CMsgClientToGCRequestContestVotes - (*CMsgClientToGCRequestContestVotesResponse)(nil), // 317: dota.CMsgClientToGCRequestContestVotesResponse - (*CMsgClientToGCRecordContestVote)(nil), // 318: dota.CMsgClientToGCRecordContestVote - (*CMsgGCToClientRecordContestVoteResponse)(nil), // 319: dota.CMsgGCToClientRecordContestVoteResponse - (*CMsgDevGrantEventPoints)(nil), // 320: dota.CMsgDevGrantEventPoints - (*CMsgDevGrantEventPointsResponse)(nil), // 321: dota.CMsgDevGrantEventPointsResponse - (*CMsgDevGrantEventAction)(nil), // 322: dota.CMsgDevGrantEventAction - (*CMsgDevGrantEventActionResponse)(nil), // 323: dota.CMsgDevGrantEventActionResponse - (*CMsgDevDeleteEventActions)(nil), // 324: dota.CMsgDevDeleteEventActions - (*CMsgDevDeleteEventActionsResponse)(nil), // 325: dota.CMsgDevDeleteEventActionsResponse - (*CMsgDevResetEventState)(nil), // 326: dota.CMsgDevResetEventState - (*CMsgDevResetEventStateResponse)(nil), // 327: dota.CMsgDevResetEventStateResponse - (*CMsgConsumeEventSupportGrantItem)(nil), // 328: dota.CMsgConsumeEventSupportGrantItem - (*CMsgConsumeEventSupportGrantItemResponse)(nil), // 329: dota.CMsgConsumeEventSupportGrantItemResponse - (*CMsgClientToGCGetFilteredPlayers)(nil), // 330: dota.CMsgClientToGCGetFilteredPlayers - (*CMsgGCToClientGetFilteredPlayersResponse)(nil), // 331: dota.CMsgGCToClientGetFilteredPlayersResponse - (*CMsgClientToGCRemoveFilteredPlayer)(nil), // 332: dota.CMsgClientToGCRemoveFilteredPlayer - (*CMsgGCToClientRemoveFilteredPlayerResponse)(nil), // 333: dota.CMsgGCToClientRemoveFilteredPlayerResponse - (*CMsgClientToGCPurchaseFilteredPlayerSlot)(nil), // 334: dota.CMsgClientToGCPurchaseFilteredPlayerSlot - (*CMsgGCToClientPurchaseFilteredPlayerSlotResponse)(nil), // 335: dota.CMsgGCToClientPurchaseFilteredPlayerSlotResponse - (*CMsgClientToGCUpdateFilteredPlayerNote)(nil), // 336: dota.CMsgClientToGCUpdateFilteredPlayerNote - (*CMsgGCToClientUpdateFilteredPlayerNoteResponse)(nil), // 337: dota.CMsgGCToClientUpdateFilteredPlayerNoteResponse - (*CMsgPartySearchPlayer)(nil), // 338: dota.CMsgPartySearchPlayer - (*CMsgGCToClientPlayerBeaconState)(nil), // 339: dota.CMsgGCToClientPlayerBeaconState - (*CMsgGCToClientPartyBeaconUpdate)(nil), // 340: dota.CMsgGCToClientPartyBeaconUpdate - (*CMsgClientToGCUpdatePartyBeacon)(nil), // 341: dota.CMsgClientToGCUpdatePartyBeacon - (*CMsgClientToGCRequestActiveBeaconParties)(nil), // 342: dota.CMsgClientToGCRequestActiveBeaconParties - (*CMsgGCToClientRequestActiveBeaconPartiesResponse)(nil), // 343: dota.CMsgGCToClientRequestActiveBeaconPartiesResponse - (*CMsgClientToGCJoinPartyFromBeacon)(nil), // 344: dota.CMsgClientToGCJoinPartyFromBeacon - (*CMsgGCToClientJoinPartyFromBeaconResponse)(nil), // 345: dota.CMsgGCToClientJoinPartyFromBeaconResponse - (*CMsgClientToGCManageFavorites)(nil), // 346: dota.CMsgClientToGCManageFavorites - (*CMsgGCToClientManageFavoritesResponse)(nil), // 347: dota.CMsgGCToClientManageFavoritesResponse - (*CMsgClientToGCGetFavoritePlayers)(nil), // 348: dota.CMsgClientToGCGetFavoritePlayers - (*CMsgGCToClientGetFavoritePlayersResponse)(nil), // 349: dota.CMsgGCToClientGetFavoritePlayersResponse - (*CMsgGCToClientPartySearchInvite)(nil), // 350: dota.CMsgGCToClientPartySearchInvite - (*CMsgClientToGCVerifyFavoritePlayers)(nil), // 351: dota.CMsgClientToGCVerifyFavoritePlayers - (*CMsgGCToClientVerifyFavoritePlayersResponse)(nil), // 352: dota.CMsgGCToClientVerifyFavoritePlayersResponse - (*CMsgClientToGCRequestPlayerRecentAccomplishments)(nil), // 353: dota.CMsgClientToGCRequestPlayerRecentAccomplishments - (*CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse)(nil), // 354: dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse - (*CMsgClientToGCRequestPlayerHeroRecentAccomplishments)(nil), // 355: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishments - (*CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse)(nil), // 356: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse - (*CMsgClientToGCSubmitPlayerMatchSurvey)(nil), // 357: dota.CMsgClientToGCSubmitPlayerMatchSurvey - (*CMsgClientToGCSubmitPlayerMatchSurveyResponse)(nil), // 358: dota.CMsgClientToGCSubmitPlayerMatchSurveyResponse - (*CMsgGCToClientVACReminder)(nil), // 359: dota.CMsgGCToClientVACReminder - (*CMsgClientToGCUnderDraftRequest)(nil), // 360: dota.CMsgClientToGCUnderDraftRequest - (*CMsgClientToGCUnderDraftResponse)(nil), // 361: dota.CMsgClientToGCUnderDraftResponse - (*CMsgClientToGCUnderDraftReroll)(nil), // 362: dota.CMsgClientToGCUnderDraftReroll - (*CMsgClientToGCUnderDraftRerollResponse)(nil), // 363: dota.CMsgClientToGCUnderDraftRerollResponse - (*CMsgClientToGCUnderDraftBuy)(nil), // 364: dota.CMsgClientToGCUnderDraftBuy - (*CMsgGCToClientGuildUnderDraftGoldUpdated)(nil), // 365: dota.CMsgGCToClientGuildUnderDraftGoldUpdated - (*CMsgClientToGCUnderDraftBuyResponse)(nil), // 366: dota.CMsgClientToGCUnderDraftBuyResponse - (*CMsgClientToGCUnderDraftRollBackBench)(nil), // 367: dota.CMsgClientToGCUnderDraftRollBackBench - (*CMsgClientToGCUnderDraftRollBackBenchResponse)(nil), // 368: dota.CMsgClientToGCUnderDraftRollBackBenchResponse - (*CMsgClientToGCUnderDraftSell)(nil), // 369: dota.CMsgClientToGCUnderDraftSell - (*CMsgClientToGCUnderDraftSellResponse)(nil), // 370: dota.CMsgClientToGCUnderDraftSellResponse - (*CMsgClientToGCUnderDraftRedeemReward)(nil), // 371: dota.CMsgClientToGCUnderDraftRedeemReward - (*CMsgClientToGCUnderDraftRedeemRewardResponse)(nil), // 372: dota.CMsgClientToGCUnderDraftRedeemRewardResponse - (*CMsgClientToGCSubmitDraftTriviaMatchAnswer)(nil), // 373: dota.CMsgClientToGCSubmitDraftTriviaMatchAnswer - (*CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse)(nil), // 374: dota.CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse - (*CMsgDraftTriviaVoteCount)(nil), // 375: dota.CMsgDraftTriviaVoteCount - (*CMsgClientToGCRequestReporterUpdates)(nil), // 376: dota.CMsgClientToGCRequestReporterUpdates - (*CMsgClientToGCRequestReporterUpdatesResponse)(nil), // 377: dota.CMsgClientToGCRequestReporterUpdatesResponse - (*CMsgClientToGCAcknowledgeReporterUpdates)(nil), // 378: dota.CMsgClientToGCAcknowledgeReporterUpdates - (*CMsgClientToGCRecalibrateMMR)(nil), // 379: dota.CMsgClientToGCRecalibrateMMR - (*CMsgClientToGCRecalibrateMMRResponse)(nil), // 380: dota.CMsgClientToGCRecalibrateMMRResponse - (*CMsgDOTAPostGameItemAwardNotification)(nil), // 381: dota.CMsgDOTAPostGameItemAwardNotification - (*CMsgClientToGCGetOWMatchDetails)(nil), // 382: dota.CMsgClientToGCGetOWMatchDetails - (*CMsgClientToGCGetOWMatchDetailsResponse)(nil), // 383: dota.CMsgClientToGCGetOWMatchDetailsResponse - (*CMsgClientToGCSubmitOWConviction)(nil), // 384: dota.CMsgClientToGCSubmitOWConviction - (*CMsgClientToGCSubmitOWConvictionResponse)(nil), // 385: dota.CMsgClientToGCSubmitOWConvictionResponse - (*CMsgClientToGCChinaSSAURLRequest)(nil), // 386: dota.CMsgClientToGCChinaSSAURLRequest - (*CMsgClientToGCChinaSSAURLResponse)(nil), // 387: dota.CMsgClientToGCChinaSSAURLResponse - (*CMsgClientToGCChinaSSAAcceptedRequest)(nil), // 388: dota.CMsgClientToGCChinaSSAAcceptedRequest - (*CMsgClientToGCChinaSSAAcceptedResponse)(nil), // 389: dota.CMsgClientToGCChinaSSAAcceptedResponse - (*CMsgGCToClientOverwatchCasesAvailable)(nil), // 390: dota.CMsgGCToClientOverwatchCasesAvailable - (*CMsgClientToGCStartWatchingOverwatch)(nil), // 391: dota.CMsgClientToGCStartWatchingOverwatch - (*CMsgClientToGCStopWatchingOverwatch)(nil), // 392: dota.CMsgClientToGCStopWatchingOverwatch - (*CMsgClientToGCOverwatchReplayError)(nil), // 393: dota.CMsgClientToGCOverwatchReplayError - (*CMsgClientToGCGetDPCFavorites)(nil), // 394: dota.CMsgClientToGCGetDPCFavorites - (*CMsgClientToGCGetDPCFavoritesResponse)(nil), // 395: dota.CMsgClientToGCGetDPCFavoritesResponse - (*CMsgClientToGCSetDPCFavoriteState)(nil), // 396: dota.CMsgClientToGCSetDPCFavoriteState - (*CMsgClientToGCSetDPCFavoriteStateResponse)(nil), // 397: dota.CMsgClientToGCSetDPCFavoriteStateResponse - (*CMsgClientToGCSetEventActiveSeasonID)(nil), // 398: dota.CMsgClientToGCSetEventActiveSeasonID - (*CMsgClientToGCSetEventActiveSeasonIDResponse)(nil), // 399: dota.CMsgClientToGCSetEventActiveSeasonIDResponse - (*CMsgClientToGCPurchaseLabyrinthBlessings)(nil), // 400: dota.CMsgClientToGCPurchaseLabyrinthBlessings - (*CMsgClientToGCPurchaseLabyrinthBlessingsResponse)(nil), // 401: dota.CMsgClientToGCPurchaseLabyrinthBlessingsResponse - (*CMsgClientToGCGetStickerbookRequest)(nil), // 402: dota.CMsgClientToGCGetStickerbookRequest - (*CMsgClientToGCGetStickerbookResponse)(nil), // 403: dota.CMsgClientToGCGetStickerbookResponse - (*CMsgClientToGCCreateStickerbookPageRequest)(nil), // 404: dota.CMsgClientToGCCreateStickerbookPageRequest - (*CMsgClientToGCCreateStickerbookPageResponse)(nil), // 405: dota.CMsgClientToGCCreateStickerbookPageResponse - (*CMsgClientToGCDeleteStickerbookPageRequest)(nil), // 406: dota.CMsgClientToGCDeleteStickerbookPageRequest - (*CMsgClientToGCDeleteStickerbookPageResponse)(nil), // 407: dota.CMsgClientToGCDeleteStickerbookPageResponse - (*CMsgClientToGCPlaceStickersRequest)(nil), // 408: dota.CMsgClientToGCPlaceStickersRequest - (*CMsgClientToGCPlaceStickersResponse)(nil), // 409: dota.CMsgClientToGCPlaceStickersResponse - (*CMsgClientToGCPlaceCollectionStickersRequest)(nil), // 410: dota.CMsgClientToGCPlaceCollectionStickersRequest - (*CMsgClientToGCPlaceCollectionStickersResponse)(nil), // 411: dota.CMsgClientToGCPlaceCollectionStickersResponse - (*CMsgClientToGCOrderStickerbookTeamPageRequest)(nil), // 412: dota.CMsgClientToGCOrderStickerbookTeamPageRequest - (*CMsgClientToGCOrderStickerbookTeamPageResponse)(nil), // 413: dota.CMsgClientToGCOrderStickerbookTeamPageResponse - (*CMsgClientToGCSetHeroSticker)(nil), // 414: dota.CMsgClientToGCSetHeroSticker - (*CMsgClientToGCSetHeroStickerResponse)(nil), // 415: dota.CMsgClientToGCSetHeroStickerResponse - (*CMsgClientToGCGetHeroStickers)(nil), // 416: dota.CMsgClientToGCGetHeroStickers - (*CMsgClientToGCGetHeroStickersResponse)(nil), // 417: dota.CMsgClientToGCGetHeroStickersResponse - (*CMsgClientToGCSetFavoritePage)(nil), // 418: dota.CMsgClientToGCSetFavoritePage - (*CMsgClientToGCSetFavoritePageResponse)(nil), // 419: dota.CMsgClientToGCSetFavoritePageResponse - (*CMsgClientToGCClaimSwag)(nil), // 420: dota.CMsgClientToGCClaimSwag - (*CMsgClientToGCClaimSwagResponse)(nil), // 421: dota.CMsgClientToGCClaimSwagResponse - (*CMsgClientToGCCollectorsCacheAvailableDataRequest)(nil), // 422: dota.CMsgClientToGCCollectorsCacheAvailableDataRequest - (*CMsgGCToClientCollectorsCacheAvailableDataResponse)(nil), // 423: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse - (*CMsgClientToGCUploadMatchClip)(nil), // 424: dota.CMsgClientToGCUploadMatchClip - (*CMsgGCToClientUploadMatchClipResponse)(nil), // 425: dota.CMsgGCToClientUploadMatchClipResponse - (*CMsgClientToGCMapStatsRequest)(nil), // 426: dota.CMsgClientToGCMapStatsRequest - (*CMsgGCToClientMapStatsResponse)(nil), // 427: dota.CMsgGCToClientMapStatsResponse - (*CMsgRoadToTIAssignedQuest)(nil), // 428: dota.CMsgRoadToTIAssignedQuest - (*CMsgRoadToTIUserData)(nil), // 429: dota.CMsgRoadToTIUserData - (*CMsgClientToGCRoadToTIGetQuests)(nil), // 430: dota.CMsgClientToGCRoadToTIGetQuests - (*CMsgClientToGCRoadToTIGetQuestsResponse)(nil), // 431: dota.CMsgClientToGCRoadToTIGetQuestsResponse - (*CMsgClientToGCRoadToTIGetActiveQuest)(nil), // 432: dota.CMsgClientToGCRoadToTIGetActiveQuest - (*CMsgClientToGCRoadToTIGetActiveQuestResponse)(nil), // 433: dota.CMsgClientToGCRoadToTIGetActiveQuestResponse - (*CMsgGCToClientRoadToTIQuestDataUpdated)(nil), // 434: dota.CMsgGCToClientRoadToTIQuestDataUpdated - (*CMsgClientToGCRoadToTIUseItem)(nil), // 435: dota.CMsgClientToGCRoadToTIUseItem - (*CMsgClientToGCRoadToTIUseItemResponse)(nil), // 436: dota.CMsgClientToGCRoadToTIUseItemResponse - (*CMsgClientToGCRoadToTIDevForceQuest)(nil), // 437: dota.CMsgClientToGCRoadToTIDevForceQuest - (*CMsgLobbyRoadToTIMatchQuestData)(nil), // 438: dota.CMsgLobbyRoadToTIMatchQuestData - (*CMsgClientToGCNewBloomGift)(nil), // 439: dota.CMsgClientToGCNewBloomGift - (*CMsgClientToGCNewBloomGiftResponse)(nil), // 440: dota.CMsgClientToGCNewBloomGiftResponse - (*CMsgClientToGCSetBannedHeroes)(nil), // 441: dota.CMsgClientToGCSetBannedHeroes - (*CMsgClientToGCUpdateComicBookStats)(nil), // 442: dota.CMsgClientToGCUpdateComicBookStats - (*CMsgDOTARequestMatchesResponse_Series)(nil), // 443: dota.CMsgDOTARequestMatchesResponse.Series - (*CMsgDOTAProfileTickets_LeaguePass)(nil), // 444: dota.CMsgDOTAProfileTickets.LeaguePass - (*CMsgDOTAWelcome_CExtraMsg)(nil), // 445: dota.CMsgDOTAWelcome.CExtraMsg - (*CMsgDOTAMatchVotes_PlayerVote)(nil), // 446: dota.CMsgDOTAMatchVotes.PlayerVote - (*CMsgGCGetHeroStandingsResponse_Hero)(nil), // 447: dota.CMsgGCGetHeroStandingsResponse.Hero - (*CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer)(nil), // 448: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer - (*CMsgGCGetHeroTimedStatsResponse_RankChunkedStats)(nil), // 449: dota.CMsgGCGetHeroTimedStatsResponse.RankChunkedStats - (*CMsgDOTAClaimEventActionData_GrantItemGiftData)(nil), // 450: dota.CMsgDOTAClaimEventActionData.GrantItemGiftData - (*CMsgDOTAGetEventPointsResponse_Action)(nil), // 451: dota.CMsgDOTAGetEventPointsResponse.Action - (*CMsgDOTAGetPlayerMatchHistoryResponse_Match)(nil), // 452: dota.CMsgDOTAGetPlayerMatchHistoryResponse.Match - (*CMsgClientToGCGetTrophyListResponse_Trophy)(nil), // 453: dota.CMsgClientToGCGetTrophyListResponse.Trophy - (*CMsgClientToGCSetProfileCardSlots_CardSlot)(nil), // 454: dota.CMsgClientToGCSetProfileCardSlots.CardSlot - (*CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame)(nil), // 455: dota.CMsgGCToClientCustomGamesFriendsPlayedResponse.CustomGame - (*CMsgDOTAPartyRichPresence_Member)(nil), // 456: dota.CMsgDOTAPartyRichPresence.Member - (*CMsgDOTAPartyRichPresence_WeekendTourney)(nil), // 457: dota.CMsgDOTAPartyRichPresence.WeekendTourney - (*CMsgClientToGCGetQuestProgressResponse_Challenge)(nil), // 458: dota.CMsgClientToGCGetQuestProgressResponse.Challenge - (*CMsgClientToGCGetQuestProgressResponse_Quest)(nil), // 459: dota.CMsgClientToGCGetQuestProgressResponse.Quest - (*CMsgEventGoals_EventGoal)(nil), // 460: dota.CMsgEventGoals.EventGoal - (*CMsgPredictionRankings_PredictionLine)(nil), // 461: dota.CMsgPredictionRankings.PredictionLine - (*CMsgPredictionRankings_Prediction)(nil), // 462: dota.CMsgPredictionRankings.Prediction - (*CMsgPredictionResults_ResultBreakdown)(nil), // 463: dota.CMsgPredictionResults.ResultBreakdown - (*CMsgPredictionResults_Result)(nil), // 464: dota.CMsgPredictionResults.Result - (*CMsgClientToGCTeammateStatsResponse_TeammateStat)(nil), // 465: dota.CMsgClientToGCTeammateStatsResponse.TeammateStat - (*CMsgClientToGCRequestEventPointLogResponseV2_LogEntry)(nil), // 466: dota.CMsgClientToGCRequestEventPointLogResponseV2.LogEntry - (*CMsgGCToClientQuestProgressUpdated_Challenge)(nil), // 467: dota.CMsgGCToClientQuestProgressUpdated.Challenge - (*CMsgClientToGCSelectCompendiumInGamePrediction_Prediction)(nil), // 468: dota.CMsgClientToGCSelectCompendiumInGamePrediction.Prediction - (*CMsgGCToClientBattlePassRollup_International2016_Questlines)(nil), // 469: dota.CMsgGCToClientBattlePassRollup_International2016.Questlines - (*CMsgGCToClientBattlePassRollup_International2016_Wagering)(nil), // 470: dota.CMsgGCToClientBattlePassRollup_International2016.Wagering - (*CMsgGCToClientBattlePassRollup_International2016_Achievements)(nil), // 471: dota.CMsgGCToClientBattlePassRollup_International2016.Achievements - (*CMsgGCToClientBattlePassRollup_International2016_BattleCup)(nil), // 472: dota.CMsgGCToClientBattlePassRollup_International2016.BattleCup - (*CMsgGCToClientBattlePassRollup_International2016_Predictions)(nil), // 473: dota.CMsgGCToClientBattlePassRollup_International2016.Predictions - (*CMsgGCToClientBattlePassRollup_International2016_Bracket)(nil), // 474: dota.CMsgGCToClientBattlePassRollup_International2016.Bracket - (*CMsgGCToClientBattlePassRollup_International2016_PlayerCard)(nil), // 475: dota.CMsgGCToClientBattlePassRollup_International2016.PlayerCard - (*CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge)(nil), // 476: dota.CMsgGCToClientBattlePassRollup_International2016.FantasyChallenge - (*CMsgGCToClientBattlePassRollup_Fall2016_Questlines)(nil), // 477: dota.CMsgGCToClientBattlePassRollup_Fall2016.Questlines - (*CMsgGCToClientBattlePassRollup_Fall2016_Wagering)(nil), // 478: dota.CMsgGCToClientBattlePassRollup_Fall2016.Wagering - (*CMsgGCToClientBattlePassRollup_Fall2016_Achievements)(nil), // 479: dota.CMsgGCToClientBattlePassRollup_Fall2016.Achievements - (*CMsgGCToClientBattlePassRollup_Fall2016_BattleCup)(nil), // 480: dota.CMsgGCToClientBattlePassRollup_Fall2016.BattleCup - (*CMsgGCToClientBattlePassRollup_Fall2016_Predictions)(nil), // 481: dota.CMsgGCToClientBattlePassRollup_Fall2016.Predictions - (*CMsgGCToClientBattlePassRollup_Fall2016_Bracket)(nil), // 482: dota.CMsgGCToClientBattlePassRollup_Fall2016.Bracket - (*CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard)(nil), // 483: dota.CMsgGCToClientBattlePassRollup_Fall2016.PlayerCard - (*CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge)(nil), // 484: dota.CMsgGCToClientBattlePassRollup_Fall2016.FantasyChallenge - (*CMsgGCToClientBattlePassRollup_Winter2017_Questlines)(nil), // 485: dota.CMsgGCToClientBattlePassRollup_Winter2017.Questlines - (*CMsgGCToClientBattlePassRollup_Winter2017_Wagering)(nil), // 486: dota.CMsgGCToClientBattlePassRollup_Winter2017.Wagering - (*CMsgGCToClientBattlePassRollup_Winter2017_Achievements)(nil), // 487: dota.CMsgGCToClientBattlePassRollup_Winter2017.Achievements - (*CMsgGCToClientBattlePassRollup_Winter2017_BattleCup)(nil), // 488: dota.CMsgGCToClientBattlePassRollup_Winter2017.BattleCup - (*CMsgGCToClientBattlePassRollup_Winter2017_Predictions)(nil), // 489: dota.CMsgGCToClientBattlePassRollup_Winter2017.Predictions - (*CMsgGCToClientBattlePassRollup_Winter2017_Bracket)(nil), // 490: dota.CMsgGCToClientBattlePassRollup_Winter2017.Bracket - (*CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard)(nil), // 491: dota.CMsgGCToClientBattlePassRollup_Winter2017.PlayerCard - (*CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge)(nil), // 492: dota.CMsgGCToClientBattlePassRollup_Winter2017.FantasyChallenge - (*CMsgGCToClientBattlePassRollup_TI7_Questlines)(nil), // 493: dota.CMsgGCToClientBattlePassRollup_TI7.Questlines - (*CMsgGCToClientBattlePassRollup_TI7_Wagering)(nil), // 494: dota.CMsgGCToClientBattlePassRollup_TI7.Wagering - (*CMsgGCToClientBattlePassRollup_TI7_Achievements)(nil), // 495: dota.CMsgGCToClientBattlePassRollup_TI7.Achievements - (*CMsgGCToClientBattlePassRollup_TI7_BattleCup)(nil), // 496: dota.CMsgGCToClientBattlePassRollup_TI7.BattleCup - (*CMsgGCToClientBattlePassRollup_TI7_Predictions)(nil), // 497: dota.CMsgGCToClientBattlePassRollup_TI7.Predictions - (*CMsgGCToClientBattlePassRollup_TI7_Bracket)(nil), // 498: dota.CMsgGCToClientBattlePassRollup_TI7.Bracket - (*CMsgGCToClientBattlePassRollup_TI7_PlayerCard)(nil), // 499: dota.CMsgGCToClientBattlePassRollup_TI7.PlayerCard - (*CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge)(nil), // 500: dota.CMsgGCToClientBattlePassRollup_TI7.FantasyChallenge - (*CMsgGCToClientBattlePassRollup_TI8_CavernCrawl)(nil), // 501: dota.CMsgGCToClientBattlePassRollup_TI8.CavernCrawl - (*CMsgGCToClientBattlePassRollup_TI8_Wagering)(nil), // 502: dota.CMsgGCToClientBattlePassRollup_TI8.Wagering - (*CMsgGCToClientBattlePassRollup_TI8_Achievements)(nil), // 503: dota.CMsgGCToClientBattlePassRollup_TI8.Achievements - (*CMsgGCToClientBattlePassRollup_TI8_Predictions)(nil), // 504: dota.CMsgGCToClientBattlePassRollup_TI8.Predictions - (*CMsgGCToClientBattlePassRollup_TI8_Bracket)(nil), // 505: dota.CMsgGCToClientBattlePassRollup_TI8.Bracket - (*CMsgGCToClientBattlePassRollup_TI8_PlayerCard)(nil), // 506: dota.CMsgGCToClientBattlePassRollup_TI8.PlayerCard - (*CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge)(nil), // 507: dota.CMsgGCToClientBattlePassRollup_TI8.FantasyChallenge - (*CMsgGCToClientBattlePassRollupListResponse_EventInfo)(nil), // 508: dota.CMsgGCToClientBattlePassRollupListResponse.EventInfo - (*CMsgDOTAClientToGCQuickStatsResponse_SimpleStats)(nil), // 509: dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats - (*CMsgProfileResponse_FeaturedHero)(nil), // 510: dota.CMsgProfileResponse.FeaturedHero - (*CMsgProfileResponse_MatchInfo)(nil), // 511: dota.CMsgProfileResponse.MatchInfo - (*CMsgHeroGlobalDataResponse_GraphData)(nil), // 512: dota.CMsgHeroGlobalDataResponse.GraphData - (*CMsgHeroGlobalDataResponse_WeekData)(nil), // 513: dota.CMsgHeroGlobalDataResponse.WeekData - (*CMsgHeroGlobalDataResponse_HeroDataPerRankChunk)(nil), // 514: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk - (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData)(nil), // 515: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.HeroData - (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData)(nil), // 516: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.RankedHeroData - (*CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo)(nil), // 517: dota.CMsgGCToClientCavernCrawlMapPathCompleted.CompletedPathInfo - (*CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge)(nil), // 518: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.SwappedChallenge - (*CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem)(nil), // 519: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.InventoryItem - (*CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap)(nil), // 520: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.TreasureMap - (*CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant)(nil), // 521: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant - (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant)(nil), // 522: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.MapVariant - (*CMsgDOTAMutationList_Mutation)(nil), // 523: dota.CMsgDOTAMutationList.Mutation - (*CMsgEventTipsSummaryResponse_Tipper)(nil), // 524: dota.CMsgEventTipsSummaryResponse.Tipper - (*CMsgSocialFeedResponse_FeedEvent)(nil), // 525: dota.CMsgSocialFeedResponse.FeedEvent - (*CMsgSocialFeedCommentsResponse_FeedComment)(nil), // 526: dota.CMsgSocialFeedCommentsResponse.FeedComment - (*CMsgClientToGCRequestContestVotesResponse_ItemVote)(nil), // 527: dota.CMsgClientToGCRequestContestVotesResponse.ItemVote - (*CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry)(nil), // 528: dota.CMsgGCToClientGetFilteredPlayersResponse.CFilterEntry - (*CMsgGCToClientVerifyFavoritePlayersResponse_Result)(nil), // 529: dota.CMsgGCToClientVerifyFavoritePlayersResponse.Result - (*CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate)(nil), // 530: dota.CMsgClientToGCRequestReporterUpdatesResponse.ReporterUpdate - (*CMsgClientToGCGetOWMatchDetailsResponse_Marker)(nil), // 531: dota.CMsgClientToGCGetOWMatchDetailsResponse.Marker - (*CMsgClientToGCGetDPCFavoritesResponse_Favorite)(nil), // 532: dota.CMsgClientToGCGetDPCFavoritesResponse.Favorite - (*CMsgClientToGCPlaceStickersRequest_StickerItem)(nil), // 533: dota.CMsgClientToGCPlaceStickersRequest.StickerItem - (*CMsgClientToGCPlaceCollectionStickersRequest_Slot)(nil), // 534: dota.CMsgClientToGCPlaceCollectionStickersRequest.Slot - (*CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote)(nil), // 535: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote - (*CMsgClientToGCUpdateComicBookStats_SingleStat)(nil), // 536: dota.CMsgClientToGCUpdateComicBookStats.SingleStat - (*CMsgClientToGCUpdateComicBookStats_LanguageStats)(nil), // 537: dota.CMsgClientToGCUpdateComicBookStats.LanguageStats - (*CMsgDOTAMatch)(nil), // 538: dota.CMsgDOTAMatch - (MatchType)(0), // 539: dota.MatchType - (DOTAMatchVote)(0), // 540: dota.DOTAMatchVote - (EEvent)(0), // 541: dota.EEvent - (*CExtraMsgBlock)(nil), // 542: dota.CExtraMsgBlock - (EMatchGroupServerStatus)(0), // 543: dota.EMatchGroupServerStatus - (*CMsgDOTAClaimEventActionResponse)(nil), // 544: dota.CMsgDOTAClaimEventActionResponse - (ERankType)(0), // 545: dota.ERankType - (CSODOTAParty_State)(0), // 546: dota.CSODOTAParty.State - (CSODOTALobby_State)(0), // 547: dota.CSODOTALobby.State - (DOTA_GameMode)(0), // 548: dota.DOTA_GameMode - (*CMsgDOTASDOHeroStatsHistory)(nil), // 549: dota.CMsgDOTASDOHeroStatsHistory - (*CMsgArcanaVoteMatchVotes)(nil), // 550: dota.CMsgArcanaVoteMatchVotes - (ELeagueRegion)(0), // 551: dota.ELeagueRegion - (*CMsgDOTATriviaQuestion)(nil), // 552: dota.CMsgDOTATriviaQuestion - (DOTASelectionPriorityChoice)(0), // 553: dota.DOTASelectionPriorityChoice - (EHeroRelicRarity)(0), // 554: dota.EHeroRelicRarity - (*CSOEconItem)(nil), // 555: dota.CSOEconItem - (*CMsgSuccessfulHero)(nil), // 556: dota.CMsgSuccessfulHero - (*CMsgRecentMatchInfo)(nil), // 557: dota.CMsgRecentMatchInfo - (*CMsgStickerbookPage)(nil), // 558: dota.CMsgStickerbookPage - (*CPartySearchClientParty)(nil), // 559: dota.CPartySearchClientParty - (*CMsgPlayerRecentAccomplishments)(nil), // 560: dota.CMsgPlayerRecentAccomplishments - (*CMsgPlayerHeroRecentAccomplishments)(nil), // 561: dota.CMsgPlayerHeroRecentAccomplishments - (*CMsgUnderDraftData)(nil), // 562: dota.CMsgUnderDraftData - (EOverwatchReportReason)(0), // 563: dota.EOverwatchReportReason - (EOverwatchConviction)(0), // 564: dota.EOverwatchConviction - (EDPCFavoriteType)(0), // 565: dota.EDPCFavoriteType - (*CMsgStickerbook)(nil), // 566: dota.CMsgStickerbook - (EStickerbookPageType)(0), // 567: dota.EStickerbookPageType - (*CMsgStickerbookTeamPageOrderSequence)(nil), // 568: dota.CMsgStickerbookTeamPageOrderSequence - (*CMsgStickerHeroes)(nil), // 569: dota.CMsgStickerHeroes - (*CMatchClip)(nil), // 570: dota.CMatchClip - (*CMsgMapStatsSnapshot)(nil), // 571: dota.CMsgMapStatsSnapshot - (*CMsgGlobalMapStats)(nil), // 572: dota.CMsgGlobalMapStats - (ENewBloomGiftingResponse)(0), // 573: dota.ENewBloomGiftingResponse - (EProfileCardSlotType)(0), // 574: dota.EProfileCardSlotType - (*CMsgStickerbookSticker)(nil), // 575: dota.CMsgStickerbookSticker + (*CMsgDOTACompendiumRemoveAllSelections)(nil), // 146: dota.CMsgDOTACompendiumRemoveAllSelections + (*CMsgDOTACompendiumRemoveAllSelectionsResponse)(nil), // 147: dota.CMsgDOTACompendiumRemoveAllSelectionsResponse + (*CMsgDOTACompendiumData)(nil), // 148: dota.CMsgDOTACompendiumData + (*CMsgDOTACompendiumDataRequest)(nil), // 149: dota.CMsgDOTACompendiumDataRequest + (*CMsgDOTACompendiumDataResponse)(nil), // 150: dota.CMsgDOTACompendiumDataResponse + (*CMsgDOTAGetPlayerMatchHistory)(nil), // 151: dota.CMsgDOTAGetPlayerMatchHistory + (*CMsgDOTAGetPlayerMatchHistoryResponse)(nil), // 152: dota.CMsgDOTAGetPlayerMatchHistoryResponse + (*CMsgGCNotificationsRequest)(nil), // 153: dota.CMsgGCNotificationsRequest + (*CMsgGCNotifications_Notification)(nil), // 154: dota.CMsgGCNotifications_Notification + (*CMsgGCNotificationsUpdate)(nil), // 155: dota.CMsgGCNotificationsUpdate + (*CMsgGCNotificationsResponse)(nil), // 156: dota.CMsgGCNotificationsResponse + (*CMsgGCNotificationsMarkReadRequest)(nil), // 157: dota.CMsgGCNotificationsMarkReadRequest + (*CMsgGCPlayerInfoSubmit)(nil), // 158: dota.CMsgGCPlayerInfoSubmit + (*CMsgGCPlayerInfoSubmitResponse)(nil), // 159: dota.CMsgGCPlayerInfoSubmitResponse + (*CMsgDOTAEmoticonAccessSDO)(nil), // 160: dota.CMsgDOTAEmoticonAccessSDO + (*CMsgClientToGCEmoticonDataRequest)(nil), // 161: dota.CMsgClientToGCEmoticonDataRequest + (*CMsgGCToClientEmoticonData)(nil), // 162: dota.CMsgGCToClientEmoticonData + (*CMsgGCToClientTournamentItemDrop)(nil), // 163: dota.CMsgGCToClientTournamentItemDrop + (*CMsgClientToGCGetAllHeroOrder)(nil), // 164: dota.CMsgClientToGCGetAllHeroOrder + (*CMsgClientToGCGetAllHeroOrderResponse)(nil), // 165: dota.CMsgClientToGCGetAllHeroOrderResponse + (*CMsgClientToGCGetAllHeroProgress)(nil), // 166: dota.CMsgClientToGCGetAllHeroProgress + (*CMsgClientToGCGetAllHeroProgressResponse)(nil), // 167: dota.CMsgClientToGCGetAllHeroProgressResponse + (*CMsgClientToGCGetTrophyList)(nil), // 168: dota.CMsgClientToGCGetTrophyList + (*CMsgClientToGCGetTrophyListResponse)(nil), // 169: dota.CMsgClientToGCGetTrophyListResponse + (*CMsgGCToClientTrophyAwarded)(nil), // 170: dota.CMsgGCToClientTrophyAwarded + (*CMsgClientToGCRankRequest)(nil), // 171: dota.CMsgClientToGCRankRequest + (*CMsgGCToClientRankResponse)(nil), // 172: dota.CMsgGCToClientRankResponse + (*CMsgGCToClientRankUpdate)(nil), // 173: dota.CMsgGCToClientRankUpdate + (*CMsgClientToGCGetProfileCard)(nil), // 174: dota.CMsgClientToGCGetProfileCard + (*CMsgClientToGCSetProfileCardSlots)(nil), // 175: dota.CMsgClientToGCSetProfileCardSlots + (*CMsgClientToGCGetProfileCardStats)(nil), // 176: dota.CMsgClientToGCGetProfileCardStats + (*CMsgClientToGCCreateHeroStatue)(nil), // 177: dota.CMsgClientToGCCreateHeroStatue + (*CMsgGCToClientHeroStatueCreateResult)(nil), // 178: dota.CMsgGCToClientHeroStatueCreateResult + (*CMsgClientToGCPlayerStatsRequest)(nil), // 179: dota.CMsgClientToGCPlayerStatsRequest + (*CMsgGCToClientPlayerStatsResponse)(nil), // 180: dota.CMsgGCToClientPlayerStatsResponse + (*CMsgClientToGCCustomGamesFriendsPlayedRequest)(nil), // 181: dota.CMsgClientToGCCustomGamesFriendsPlayedRequest + (*CMsgGCToClientCustomGamesFriendsPlayedResponse)(nil), // 182: dota.CMsgGCToClientCustomGamesFriendsPlayedResponse + (*CMsgClientToGCSocialFeedPostCommentRequest)(nil), // 183: dota.CMsgClientToGCSocialFeedPostCommentRequest + (*CMsgGCToClientSocialFeedPostCommentResponse)(nil), // 184: dota.CMsgGCToClientSocialFeedPostCommentResponse + (*CMsgClientToGCSocialFeedPostMessageRequest)(nil), // 185: dota.CMsgClientToGCSocialFeedPostMessageRequest + (*CMsgGCToClientSocialFeedPostMessageResponse)(nil), // 186: dota.CMsgGCToClientSocialFeedPostMessageResponse + (*CMsgClientToGCFriendsPlayedCustomGameRequest)(nil), // 187: dota.CMsgClientToGCFriendsPlayedCustomGameRequest + (*CMsgGCToClientFriendsPlayedCustomGameResponse)(nil), // 188: dota.CMsgGCToClientFriendsPlayedCustomGameResponse + (*CMsgDOTAPartyRichPresence)(nil), // 189: dota.CMsgDOTAPartyRichPresence + (*CMsgDOTALobbyRichPresence)(nil), // 190: dota.CMsgDOTALobbyRichPresence + (*CMsgDOTACustomGameListenServerStartedLoading)(nil), // 191: dota.CMsgDOTACustomGameListenServerStartedLoading + (*CMsgDOTACustomGameClientFinishedLoading)(nil), // 192: dota.CMsgDOTACustomGameClientFinishedLoading + (*CMsgClientToGCApplyGemCombiner)(nil), // 193: dota.CMsgClientToGCApplyGemCombiner + (*CMsgClientToGCH264Unsupported)(nil), // 194: dota.CMsgClientToGCH264Unsupported + (*CMsgClientToGCGetQuestProgress)(nil), // 195: dota.CMsgClientToGCGetQuestProgress + (*CMsgClientToGCGetQuestProgressResponse)(nil), // 196: dota.CMsgClientToGCGetQuestProgressResponse + (*CMsgGCToClientMatchSignedOut)(nil), // 197: dota.CMsgGCToClientMatchSignedOut + (*CMsgGCGetHeroStatsHistory)(nil), // 198: dota.CMsgGCGetHeroStatsHistory + (*CMsgGCGetHeroStatsHistoryResponse)(nil), // 199: dota.CMsgGCGetHeroStatsHistoryResponse + (*CMsgPlayerConductScorecardRequest)(nil), // 200: dota.CMsgPlayerConductScorecardRequest + (*CMsgPlayerConductScorecard)(nil), // 201: dota.CMsgPlayerConductScorecard + (*CMsgClientToGCWageringRequest)(nil), // 202: dota.CMsgClientToGCWageringRequest + (*CMsgGCToClientWageringResponse)(nil), // 203: dota.CMsgGCToClientWageringResponse + (*CMsgGCToClientWageringUpdate)(nil), // 204: dota.CMsgGCToClientWageringUpdate + (*CMsgGCToClientArcanaVotesUpdate)(nil), // 205: dota.CMsgGCToClientArcanaVotesUpdate + (*CMsgClientToGCGetEventGoals)(nil), // 206: dota.CMsgClientToGCGetEventGoals + (*CMsgEventGoals)(nil), // 207: dota.CMsgEventGoals + (*CMsgGCToGCLeaguePredictions)(nil), // 208: dota.CMsgGCToGCLeaguePredictions + (*CMsgPredictionRankings)(nil), // 209: dota.CMsgPredictionRankings + (*CMsgPredictionResults)(nil), // 210: dota.CMsgPredictionResults + (*CMsgClientToGCHasPlayerVotedForMVP)(nil), // 211: dota.CMsgClientToGCHasPlayerVotedForMVP + (*CMsgClientToGCHasPlayerVotedForMVPResponse)(nil), // 212: dota.CMsgClientToGCHasPlayerVotedForMVPResponse + (*CMsgClientToGCVoteForMVP)(nil), // 213: dota.CMsgClientToGCVoteForMVP + (*CMsgClientToGCVoteForMVPResponse)(nil), // 214: dota.CMsgClientToGCVoteForMVPResponse + (*CMsgClientToGCMVPVoteTimeout)(nil), // 215: dota.CMsgClientToGCMVPVoteTimeout + (*CMsgClientToGCMVPVoteTimeoutResponse)(nil), // 216: dota.CMsgClientToGCMVPVoteTimeoutResponse + (*CMsgClientToGCTeammateStatsRequest)(nil), // 217: dota.CMsgClientToGCTeammateStatsRequest + (*CMsgClientToGCTeammateStatsResponse)(nil), // 218: dota.CMsgClientToGCTeammateStatsResponse + (*CMsgClientToGCVoteForArcana)(nil), // 219: dota.CMsgClientToGCVoteForArcana + (*CMsgClientToGCVoteForArcanaResponse)(nil), // 220: dota.CMsgClientToGCVoteForArcanaResponse + (*CMsgClientToGCRequestArcanaVotesRemaining)(nil), // 221: dota.CMsgClientToGCRequestArcanaVotesRemaining + (*CMsgClientToGCRequestArcanaVotesRemainingResponse)(nil), // 222: dota.CMsgClientToGCRequestArcanaVotesRemainingResponse + (*CMsgClientToGCRequestEventPointLogV2)(nil), // 223: dota.CMsgClientToGCRequestEventPointLogV2 + (*CMsgClientToGCRequestEventPointLogResponseV2)(nil), // 224: dota.CMsgClientToGCRequestEventPointLogResponseV2 + (*CMsgClientToGCPublishUserStat)(nil), // 225: dota.CMsgClientToGCPublishUserStat + (*CMsgClientToGCRequestSlarkGameResult)(nil), // 226: dota.CMsgClientToGCRequestSlarkGameResult + (*CMsgClientToGCRequestSlarkGameResultResponse)(nil), // 227: dota.CMsgClientToGCRequestSlarkGameResultResponse + (*CMsgGCToClientQuestProgressUpdated)(nil), // 228: dota.CMsgGCToClientQuestProgressUpdated + (*CMsgDOTARedeemItem)(nil), // 229: dota.CMsgDOTARedeemItem + (*CMsgDOTARedeemItemResponse)(nil), // 230: dota.CMsgDOTARedeemItemResponse + (*CMsgClientToGCSelectCompendiumInGamePrediction)(nil), // 231: dota.CMsgClientToGCSelectCompendiumInGamePrediction + (*CMsgClientToGCSelectCompendiumInGamePredictionResponse)(nil), // 232: dota.CMsgClientToGCSelectCompendiumInGamePredictionResponse + (*CMsgClientToGCOpenPlayerCardPack)(nil), // 233: dota.CMsgClientToGCOpenPlayerCardPack + (*CMsgClientToGCOpenPlayerCardPackResponse)(nil), // 234: dota.CMsgClientToGCOpenPlayerCardPackResponse + (*CMsgClientToGCRecyclePlayerCard)(nil), // 235: dota.CMsgClientToGCRecyclePlayerCard + (*CMsgClientToGCRecyclePlayerCardResponse)(nil), // 236: dota.CMsgClientToGCRecyclePlayerCardResponse + (*CMsgClientToGCCreatePlayerCardPack)(nil), // 237: dota.CMsgClientToGCCreatePlayerCardPack + (*CMsgClientToGCCreatePlayerCardPackResponse)(nil), // 238: dota.CMsgClientToGCCreatePlayerCardPackResponse + (*CMsgClientToGCCreateTeamPlayerCardPack)(nil), // 239: dota.CMsgClientToGCCreateTeamPlayerCardPack + (*CMsgClientToGCCreateTeamPlayerCardPackResponse)(nil), // 240: dota.CMsgClientToGCCreateTeamPlayerCardPackResponse + (*CMsgGCToClientBattlePassRollup_International2016)(nil), // 241: dota.CMsgGCToClientBattlePassRollup_International2016 + (*CMsgGCToClientBattlePassRollup_Fall2016)(nil), // 242: dota.CMsgGCToClientBattlePassRollup_Fall2016 + (*CMsgGCToClientBattlePassRollup_Winter2017)(nil), // 243: dota.CMsgGCToClientBattlePassRollup_Winter2017 + (*CMsgGCToClientBattlePassRollup_TI7)(nil), // 244: dota.CMsgGCToClientBattlePassRollup_TI7 + (*CMsgGCToClientBattlePassRollup_TI8)(nil), // 245: dota.CMsgGCToClientBattlePassRollup_TI8 + (*CMsgGCToClientBattlePassRollup_TI9)(nil), // 246: dota.CMsgGCToClientBattlePassRollup_TI9 + (*CMsgGCToClientBattlePassRollup_TI10)(nil), // 247: dota.CMsgGCToClientBattlePassRollup_TI10 + (*CMsgGCToClientBattlePassRollupRequest)(nil), // 248: dota.CMsgGCToClientBattlePassRollupRequest + (*CMsgGCToClientBattlePassRollupResponse)(nil), // 249: dota.CMsgGCToClientBattlePassRollupResponse + (*CMsgGCToClientBattlePassRollupListRequest)(nil), // 250: dota.CMsgGCToClientBattlePassRollupListRequest + (*CMsgGCToClientBattlePassRollupListResponse)(nil), // 251: dota.CMsgGCToClientBattlePassRollupListResponse + (*CMsgClientToGCTransferSeasonalMMRRequest)(nil), // 252: dota.CMsgClientToGCTransferSeasonalMMRRequest + (*CMsgClientToGCTransferSeasonalMMRResponse)(nil), // 253: dota.CMsgClientToGCTransferSeasonalMMRResponse + (*CMsgGCToClientPlaytestStatus)(nil), // 254: dota.CMsgGCToClientPlaytestStatus + (*CMsgClientToGCJoinPlaytest)(nil), // 255: dota.CMsgClientToGCJoinPlaytest + (*CMsgClientToGCJoinPlaytestResponse)(nil), // 256: dota.CMsgClientToGCJoinPlaytestResponse + (*CMsgDOTASetFavoriteTeam)(nil), // 257: dota.CMsgDOTASetFavoriteTeam + (*CMsgDOTATriviaCurrentQuestions)(nil), // 258: dota.CMsgDOTATriviaCurrentQuestions + (*CMsgDOTASubmitTriviaQuestionAnswer)(nil), // 259: dota.CMsgDOTASubmitTriviaQuestionAnswer + (*CMsgDOTASubmitTriviaQuestionAnswerResponse)(nil), // 260: dota.CMsgDOTASubmitTriviaQuestionAnswerResponse + (*CMsgDOTAStartTriviaSession)(nil), // 261: dota.CMsgDOTAStartTriviaSession + (*CMsgDOTAStartTriviaSessionResponse)(nil), // 262: dota.CMsgDOTAStartTriviaSessionResponse + (*CMsgDOTAAnchorPhoneNumberRequest)(nil), // 263: dota.CMsgDOTAAnchorPhoneNumberRequest + (*CMsgDOTAAnchorPhoneNumberResponse)(nil), // 264: dota.CMsgDOTAAnchorPhoneNumberResponse + (*CMsgDOTAUnanchorPhoneNumberRequest)(nil), // 265: dota.CMsgDOTAUnanchorPhoneNumberRequest + (*CMsgDOTAUnanchorPhoneNumberResponse)(nil), // 266: dota.CMsgDOTAUnanchorPhoneNumberResponse + (*CMsgGCToClientCommendNotification)(nil), // 267: dota.CMsgGCToClientCommendNotification + (*CMsgDOTAClientToGCQuickStatsRequest)(nil), // 268: dota.CMsgDOTAClientToGCQuickStatsRequest + (*CMsgDOTAClientToGCQuickStatsResponse)(nil), // 269: dota.CMsgDOTAClientToGCQuickStatsResponse + (*CMsgDOTASelectionPriorityChoiceRequest)(nil), // 270: dota.CMsgDOTASelectionPriorityChoiceRequest + (*CMsgDOTASelectionPriorityChoiceResponse)(nil), // 271: dota.CMsgDOTASelectionPriorityChoiceResponse + (*CMsgDOTAGameAutographReward)(nil), // 272: dota.CMsgDOTAGameAutographReward + (*CMsgDOTAGameAutographRewardResponse)(nil), // 273: dota.CMsgDOTAGameAutographRewardResponse + (*CMsgDOTADestroyLobbyRequest)(nil), // 274: dota.CMsgDOTADestroyLobbyRequest + (*CMsgDOTADestroyLobbyResponse)(nil), // 275: dota.CMsgDOTADestroyLobbyResponse + (*CMsgDOTAGetRecentPlayTimeFriendsRequest)(nil), // 276: dota.CMsgDOTAGetRecentPlayTimeFriendsRequest + (*CMsgDOTAGetRecentPlayTimeFriendsResponse)(nil), // 277: dota.CMsgDOTAGetRecentPlayTimeFriendsResponse + (*CMsgPurchaseItemWithEventPoints)(nil), // 278: dota.CMsgPurchaseItemWithEventPoints + (*CMsgPurchaseItemWithEventPointsResponse)(nil), // 279: dota.CMsgPurchaseItemWithEventPointsResponse + (*CMsgPurchaseHeroRandomRelic)(nil), // 280: dota.CMsgPurchaseHeroRandomRelic + (*CMsgPurchaseHeroRandomRelicResponse)(nil), // 281: dota.CMsgPurchaseHeroRandomRelicResponse + (*CMsgClientToGCRequestPlusWeeklyChallengeResult)(nil), // 282: dota.CMsgClientToGCRequestPlusWeeklyChallengeResult + (*CMsgClientToGCRequestPlusWeeklyChallengeResultResponse)(nil), // 283: dota.CMsgClientToGCRequestPlusWeeklyChallengeResultResponse + (*CMsgProfileRequest)(nil), // 284: dota.CMsgProfileRequest + (*CMsgProfileResponse)(nil), // 285: dota.CMsgProfileResponse + (*CMsgProfileUpdate)(nil), // 286: dota.CMsgProfileUpdate + (*CMsgProfileUpdateResponse)(nil), // 287: dota.CMsgProfileUpdateResponse + (*CMsgTalentWinRates)(nil), // 288: dota.CMsgTalentWinRates + (*CMsgGlobalHeroAverages)(nil), // 289: dota.CMsgGlobalHeroAverages + (*CMsgHeroGlobalDataRequest)(nil), // 290: dota.CMsgHeroGlobalDataRequest + (*CMsgHeroGlobalDataResponse)(nil), // 291: dota.CMsgHeroGlobalDataResponse + (*CMsgHeroGlobalDataAllHeroes)(nil), // 292: dota.CMsgHeroGlobalDataAllHeroes + (*CMsgHeroGlobalDataHeroesAlliesAndEnemies)(nil), // 293: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies + (*CMsgPrivateMetadataKeyRequest)(nil), // 294: dota.CMsgPrivateMetadataKeyRequest + (*CMsgPrivateMetadataKeyResponse)(nil), // 295: dota.CMsgPrivateMetadataKeyResponse + (*CMsgActivatePlusFreeTrialResponse)(nil), // 296: dota.CMsgActivatePlusFreeTrialResponse + (*CMsgGCToClientCavernCrawlMapPathCompleted)(nil), // 297: dota.CMsgGCToClientCavernCrawlMapPathCompleted + (*CMsgGCToClientCavernCrawlMapUpdated)(nil), // 298: dota.CMsgGCToClientCavernCrawlMapUpdated + (*CMsgClientToGCCavernCrawlClaimRoom)(nil), // 299: dota.CMsgClientToGCCavernCrawlClaimRoom + (*CMsgClientToGCCavernCrawlClaimRoomResponse)(nil), // 300: dota.CMsgClientToGCCavernCrawlClaimRoomResponse + (*CMsgClientToGCCavernCrawlUseItemOnRoom)(nil), // 301: dota.CMsgClientToGCCavernCrawlUseItemOnRoom + (*CMsgClientToGCCavernCrawlUseItemOnRoomResponse)(nil), // 302: dota.CMsgClientToGCCavernCrawlUseItemOnRoomResponse + (*CMsgClientToGCCavernCrawlUseItemOnPath)(nil), // 303: dota.CMsgClientToGCCavernCrawlUseItemOnPath + (*CMsgClientToGCCavernCrawlUseItemOnPathResponse)(nil), // 304: dota.CMsgClientToGCCavernCrawlUseItemOnPathResponse + (*CMsgClientToGCCavernCrawlRequestMapState)(nil), // 305: dota.CMsgClientToGCCavernCrawlRequestMapState + (*CMsgClientToGCCavernCrawlRequestMapStateResponse)(nil), // 306: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse + (*CMsgClientToGCCavernCrawlGetClaimedRoomCount)(nil), // 307: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCount + (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse)(nil), // 308: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse + (*CMsgDOTAMutationList)(nil), // 309: dota.CMsgDOTAMutationList + (*CMsgEventTipsSummaryRequest)(nil), // 310: dota.CMsgEventTipsSummaryRequest + (*CMsgEventTipsSummaryResponse)(nil), // 311: dota.CMsgEventTipsSummaryResponse + (*CMsgSocialFeedRequest)(nil), // 312: dota.CMsgSocialFeedRequest + (*CMsgSocialFeedResponse)(nil), // 313: dota.CMsgSocialFeedResponse + (*CMsgSocialFeedCommentsRequest)(nil), // 314: dota.CMsgSocialFeedCommentsRequest + (*CMsgSocialFeedCommentsResponse)(nil), // 315: dota.CMsgSocialFeedCommentsResponse + (*CMsgClientToGCPlayerCardSpecificPurchaseRequest)(nil), // 316: dota.CMsgClientToGCPlayerCardSpecificPurchaseRequest + (*CMsgClientToGCPlayerCardSpecificPurchaseResponse)(nil), // 317: dota.CMsgClientToGCPlayerCardSpecificPurchaseResponse + (*CMsgClientToGCRequestContestVotes)(nil), // 318: dota.CMsgClientToGCRequestContestVotes + (*CMsgClientToGCRequestContestVotesResponse)(nil), // 319: dota.CMsgClientToGCRequestContestVotesResponse + (*CMsgClientToGCRecordContestVote)(nil), // 320: dota.CMsgClientToGCRecordContestVote + (*CMsgGCToClientRecordContestVoteResponse)(nil), // 321: dota.CMsgGCToClientRecordContestVoteResponse + (*CMsgDevGrantEventPoints)(nil), // 322: dota.CMsgDevGrantEventPoints + (*CMsgDevGrantEventPointsResponse)(nil), // 323: dota.CMsgDevGrantEventPointsResponse + (*CMsgDevGrantEventAction)(nil), // 324: dota.CMsgDevGrantEventAction + (*CMsgDevGrantEventActionResponse)(nil), // 325: dota.CMsgDevGrantEventActionResponse + (*CMsgDevDeleteEventActions)(nil), // 326: dota.CMsgDevDeleteEventActions + (*CMsgDevDeleteEventActionsResponse)(nil), // 327: dota.CMsgDevDeleteEventActionsResponse + (*CMsgDevResetEventState)(nil), // 328: dota.CMsgDevResetEventState + (*CMsgDevResetEventStateResponse)(nil), // 329: dota.CMsgDevResetEventStateResponse + (*CMsgConsumeEventSupportGrantItem)(nil), // 330: dota.CMsgConsumeEventSupportGrantItem + (*CMsgConsumeEventSupportGrantItemResponse)(nil), // 331: dota.CMsgConsumeEventSupportGrantItemResponse + (*CMsgClientToGCGetFilteredPlayers)(nil), // 332: dota.CMsgClientToGCGetFilteredPlayers + (*CMsgGCToClientGetFilteredPlayersResponse)(nil), // 333: dota.CMsgGCToClientGetFilteredPlayersResponse + (*CMsgClientToGCRemoveFilteredPlayer)(nil), // 334: dota.CMsgClientToGCRemoveFilteredPlayer + (*CMsgGCToClientRemoveFilteredPlayerResponse)(nil), // 335: dota.CMsgGCToClientRemoveFilteredPlayerResponse + (*CMsgClientToGCPurchaseFilteredPlayerSlot)(nil), // 336: dota.CMsgClientToGCPurchaseFilteredPlayerSlot + (*CMsgGCToClientPurchaseFilteredPlayerSlotResponse)(nil), // 337: dota.CMsgGCToClientPurchaseFilteredPlayerSlotResponse + (*CMsgClientToGCUpdateFilteredPlayerNote)(nil), // 338: dota.CMsgClientToGCUpdateFilteredPlayerNote + (*CMsgGCToClientUpdateFilteredPlayerNoteResponse)(nil), // 339: dota.CMsgGCToClientUpdateFilteredPlayerNoteResponse + (*CMsgPartySearchPlayer)(nil), // 340: dota.CMsgPartySearchPlayer + (*CMsgGCToClientPlayerBeaconState)(nil), // 341: dota.CMsgGCToClientPlayerBeaconState + (*CMsgGCToClientPartyBeaconUpdate)(nil), // 342: dota.CMsgGCToClientPartyBeaconUpdate + (*CMsgClientToGCUpdatePartyBeacon)(nil), // 343: dota.CMsgClientToGCUpdatePartyBeacon + (*CMsgClientToGCRequestActiveBeaconParties)(nil), // 344: dota.CMsgClientToGCRequestActiveBeaconParties + (*CMsgGCToClientRequestActiveBeaconPartiesResponse)(nil), // 345: dota.CMsgGCToClientRequestActiveBeaconPartiesResponse + (*CMsgClientToGCJoinPartyFromBeacon)(nil), // 346: dota.CMsgClientToGCJoinPartyFromBeacon + (*CMsgGCToClientJoinPartyFromBeaconResponse)(nil), // 347: dota.CMsgGCToClientJoinPartyFromBeaconResponse + (*CMsgClientToGCManageFavorites)(nil), // 348: dota.CMsgClientToGCManageFavorites + (*CMsgGCToClientManageFavoritesResponse)(nil), // 349: dota.CMsgGCToClientManageFavoritesResponse + (*CMsgClientToGCGetFavoritePlayers)(nil), // 350: dota.CMsgClientToGCGetFavoritePlayers + (*CMsgGCToClientGetFavoritePlayersResponse)(nil), // 351: dota.CMsgGCToClientGetFavoritePlayersResponse + (*CMsgGCToClientPartySearchInvite)(nil), // 352: dota.CMsgGCToClientPartySearchInvite + (*CMsgClientToGCVerifyFavoritePlayers)(nil), // 353: dota.CMsgClientToGCVerifyFavoritePlayers + (*CMsgGCToClientVerifyFavoritePlayersResponse)(nil), // 354: dota.CMsgGCToClientVerifyFavoritePlayersResponse + (*CMsgClientToGCRequestPlayerRecentAccomplishments)(nil), // 355: dota.CMsgClientToGCRequestPlayerRecentAccomplishments + (*CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse)(nil), // 356: dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse + (*CMsgClientToGCRequestPlayerHeroRecentAccomplishments)(nil), // 357: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishments + (*CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse)(nil), // 358: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse + (*CMsgClientToGCSubmitPlayerMatchSurvey)(nil), // 359: dota.CMsgClientToGCSubmitPlayerMatchSurvey + (*CMsgClientToGCSubmitPlayerMatchSurveyResponse)(nil), // 360: dota.CMsgClientToGCSubmitPlayerMatchSurveyResponse + (*CMsgGCToClientVACReminder)(nil), // 361: dota.CMsgGCToClientVACReminder + (*CMsgClientToGCUnderDraftRequest)(nil), // 362: dota.CMsgClientToGCUnderDraftRequest + (*CMsgClientToGCUnderDraftResponse)(nil), // 363: dota.CMsgClientToGCUnderDraftResponse + (*CMsgClientToGCUnderDraftReroll)(nil), // 364: dota.CMsgClientToGCUnderDraftReroll + (*CMsgClientToGCUnderDraftRerollResponse)(nil), // 365: dota.CMsgClientToGCUnderDraftRerollResponse + (*CMsgClientToGCUnderDraftBuy)(nil), // 366: dota.CMsgClientToGCUnderDraftBuy + (*CMsgGCToClientGuildUnderDraftGoldUpdated)(nil), // 367: dota.CMsgGCToClientGuildUnderDraftGoldUpdated + (*CMsgClientToGCUnderDraftBuyResponse)(nil), // 368: dota.CMsgClientToGCUnderDraftBuyResponse + (*CMsgClientToGCUnderDraftRollBackBench)(nil), // 369: dota.CMsgClientToGCUnderDraftRollBackBench + (*CMsgClientToGCUnderDraftRollBackBenchResponse)(nil), // 370: dota.CMsgClientToGCUnderDraftRollBackBenchResponse + (*CMsgClientToGCUnderDraftSell)(nil), // 371: dota.CMsgClientToGCUnderDraftSell + (*CMsgClientToGCUnderDraftSellResponse)(nil), // 372: dota.CMsgClientToGCUnderDraftSellResponse + (*CMsgClientToGCUnderDraftRedeemReward)(nil), // 373: dota.CMsgClientToGCUnderDraftRedeemReward + (*CMsgClientToGCUnderDraftRedeemRewardResponse)(nil), // 374: dota.CMsgClientToGCUnderDraftRedeemRewardResponse + (*CMsgClientToGCSubmitDraftTriviaMatchAnswer)(nil), // 375: dota.CMsgClientToGCSubmitDraftTriviaMatchAnswer + (*CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse)(nil), // 376: dota.CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse + (*CMsgDraftTriviaVoteCount)(nil), // 377: dota.CMsgDraftTriviaVoteCount + (*CMsgClientToGCRequestReporterUpdates)(nil), // 378: dota.CMsgClientToGCRequestReporterUpdates + (*CMsgClientToGCRequestReporterUpdatesResponse)(nil), // 379: dota.CMsgClientToGCRequestReporterUpdatesResponse + (*CMsgClientToGCAcknowledgeReporterUpdates)(nil), // 380: dota.CMsgClientToGCAcknowledgeReporterUpdates + (*CMsgClientToGCRecalibrateMMR)(nil), // 381: dota.CMsgClientToGCRecalibrateMMR + (*CMsgClientToGCRecalibrateMMRResponse)(nil), // 382: dota.CMsgClientToGCRecalibrateMMRResponse + (*CMsgDOTAPostGameItemAwardNotification)(nil), // 383: dota.CMsgDOTAPostGameItemAwardNotification + (*CMsgClientToGCGetOWMatchDetails)(nil), // 384: dota.CMsgClientToGCGetOWMatchDetails + (*CMsgClientToGCGetOWMatchDetailsResponse)(nil), // 385: dota.CMsgClientToGCGetOWMatchDetailsResponse + (*CMsgClientToGCSubmitOWConviction)(nil), // 386: dota.CMsgClientToGCSubmitOWConviction + (*CMsgClientToGCSubmitOWConvictionResponse)(nil), // 387: dota.CMsgClientToGCSubmitOWConvictionResponse + (*CMsgClientToGCChinaSSAURLRequest)(nil), // 388: dota.CMsgClientToGCChinaSSAURLRequest + (*CMsgClientToGCChinaSSAURLResponse)(nil), // 389: dota.CMsgClientToGCChinaSSAURLResponse + (*CMsgClientToGCChinaSSAAcceptedRequest)(nil), // 390: dota.CMsgClientToGCChinaSSAAcceptedRequest + (*CMsgClientToGCChinaSSAAcceptedResponse)(nil), // 391: dota.CMsgClientToGCChinaSSAAcceptedResponse + (*CMsgGCToClientOverwatchCasesAvailable)(nil), // 392: dota.CMsgGCToClientOverwatchCasesAvailable + (*CMsgClientToGCStartWatchingOverwatch)(nil), // 393: dota.CMsgClientToGCStartWatchingOverwatch + (*CMsgClientToGCStopWatchingOverwatch)(nil), // 394: dota.CMsgClientToGCStopWatchingOverwatch + (*CMsgClientToGCOverwatchReplayError)(nil), // 395: dota.CMsgClientToGCOverwatchReplayError + (*CMsgClientToGCGetDPCFavorites)(nil), // 396: dota.CMsgClientToGCGetDPCFavorites + (*CMsgClientToGCGetDPCFavoritesResponse)(nil), // 397: dota.CMsgClientToGCGetDPCFavoritesResponse + (*CMsgClientToGCSetDPCFavoriteState)(nil), // 398: dota.CMsgClientToGCSetDPCFavoriteState + (*CMsgClientToGCSetDPCFavoriteStateResponse)(nil), // 399: dota.CMsgClientToGCSetDPCFavoriteStateResponse + (*CMsgClientToGCSetEventActiveSeasonID)(nil), // 400: dota.CMsgClientToGCSetEventActiveSeasonID + (*CMsgClientToGCSetEventActiveSeasonIDResponse)(nil), // 401: dota.CMsgClientToGCSetEventActiveSeasonIDResponse + (*CMsgClientToGCPurchaseLabyrinthBlessings)(nil), // 402: dota.CMsgClientToGCPurchaseLabyrinthBlessings + (*CMsgClientToGCPurchaseLabyrinthBlessingsResponse)(nil), // 403: dota.CMsgClientToGCPurchaseLabyrinthBlessingsResponse + (*CMsgClientToGCGetStickerbookRequest)(nil), // 404: dota.CMsgClientToGCGetStickerbookRequest + (*CMsgClientToGCGetStickerbookResponse)(nil), // 405: dota.CMsgClientToGCGetStickerbookResponse + (*CMsgClientToGCCreateStickerbookPageRequest)(nil), // 406: dota.CMsgClientToGCCreateStickerbookPageRequest + (*CMsgClientToGCCreateStickerbookPageResponse)(nil), // 407: dota.CMsgClientToGCCreateStickerbookPageResponse + (*CMsgClientToGCDeleteStickerbookPageRequest)(nil), // 408: dota.CMsgClientToGCDeleteStickerbookPageRequest + (*CMsgClientToGCDeleteStickerbookPageResponse)(nil), // 409: dota.CMsgClientToGCDeleteStickerbookPageResponse + (*CMsgClientToGCPlaceStickersRequest)(nil), // 410: dota.CMsgClientToGCPlaceStickersRequest + (*CMsgClientToGCPlaceStickersResponse)(nil), // 411: dota.CMsgClientToGCPlaceStickersResponse + (*CMsgClientToGCPlaceCollectionStickersRequest)(nil), // 412: dota.CMsgClientToGCPlaceCollectionStickersRequest + (*CMsgClientToGCPlaceCollectionStickersResponse)(nil), // 413: dota.CMsgClientToGCPlaceCollectionStickersResponse + (*CMsgClientToGCOrderStickerbookTeamPageRequest)(nil), // 414: dota.CMsgClientToGCOrderStickerbookTeamPageRequest + (*CMsgClientToGCOrderStickerbookTeamPageResponse)(nil), // 415: dota.CMsgClientToGCOrderStickerbookTeamPageResponse + (*CMsgClientToGCSetHeroSticker)(nil), // 416: dota.CMsgClientToGCSetHeroSticker + (*CMsgClientToGCSetHeroStickerResponse)(nil), // 417: dota.CMsgClientToGCSetHeroStickerResponse + (*CMsgClientToGCGetHeroStickers)(nil), // 418: dota.CMsgClientToGCGetHeroStickers + (*CMsgClientToGCGetHeroStickersResponse)(nil), // 419: dota.CMsgClientToGCGetHeroStickersResponse + (*CMsgClientToGCSetFavoritePage)(nil), // 420: dota.CMsgClientToGCSetFavoritePage + (*CMsgClientToGCSetFavoritePageResponse)(nil), // 421: dota.CMsgClientToGCSetFavoritePageResponse + (*CMsgClientToGCClaimSwag)(nil), // 422: dota.CMsgClientToGCClaimSwag + (*CMsgClientToGCClaimSwagResponse)(nil), // 423: dota.CMsgClientToGCClaimSwagResponse + (*CMsgClientToGCCollectorsCacheAvailableDataRequest)(nil), // 424: dota.CMsgClientToGCCollectorsCacheAvailableDataRequest + (*CMsgGCToClientCollectorsCacheAvailableDataResponse)(nil), // 425: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse + (*CMsgClientToGCUploadMatchClip)(nil), // 426: dota.CMsgClientToGCUploadMatchClip + (*CMsgGCToClientUploadMatchClipResponse)(nil), // 427: dota.CMsgGCToClientUploadMatchClipResponse + (*CMsgClientToGCMapStatsRequest)(nil), // 428: dota.CMsgClientToGCMapStatsRequest + (*CMsgGCToClientMapStatsResponse)(nil), // 429: dota.CMsgGCToClientMapStatsResponse + (*CMsgRoadToTIAssignedQuest)(nil), // 430: dota.CMsgRoadToTIAssignedQuest + (*CMsgRoadToTIUserData)(nil), // 431: dota.CMsgRoadToTIUserData + (*CMsgClientToGCRoadToTIGetQuests)(nil), // 432: dota.CMsgClientToGCRoadToTIGetQuests + (*CMsgClientToGCRoadToTIGetQuestsResponse)(nil), // 433: dota.CMsgClientToGCRoadToTIGetQuestsResponse + (*CMsgClientToGCRoadToTIGetActiveQuest)(nil), // 434: dota.CMsgClientToGCRoadToTIGetActiveQuest + (*CMsgClientToGCRoadToTIGetActiveQuestResponse)(nil), // 435: dota.CMsgClientToGCRoadToTIGetActiveQuestResponse + (*CMsgGCToClientRoadToTIQuestDataUpdated)(nil), // 436: dota.CMsgGCToClientRoadToTIQuestDataUpdated + (*CMsgClientToGCRoadToTIUseItem)(nil), // 437: dota.CMsgClientToGCRoadToTIUseItem + (*CMsgClientToGCRoadToTIUseItemResponse)(nil), // 438: dota.CMsgClientToGCRoadToTIUseItemResponse + (*CMsgClientToGCRoadToTIDevForceQuest)(nil), // 439: dota.CMsgClientToGCRoadToTIDevForceQuest + (*CMsgLobbyRoadToTIMatchQuestData)(nil), // 440: dota.CMsgLobbyRoadToTIMatchQuestData + (*CMsgClientToGCNewBloomGift)(nil), // 441: dota.CMsgClientToGCNewBloomGift + (*CMsgClientToGCNewBloomGiftResponse)(nil), // 442: dota.CMsgClientToGCNewBloomGiftResponse + (*CMsgClientToGCSetBannedHeroes)(nil), // 443: dota.CMsgClientToGCSetBannedHeroes + (*CMsgClientToGCUpdateComicBookStats)(nil), // 444: dota.CMsgClientToGCUpdateComicBookStats + (*CMsgDOTARequestMatchesResponse_Series)(nil), // 445: dota.CMsgDOTARequestMatchesResponse.Series + (*CMsgDOTAProfileTickets_LeaguePass)(nil), // 446: dota.CMsgDOTAProfileTickets.LeaguePass + (*CMsgDOTAWelcome_CExtraMsg)(nil), // 447: dota.CMsgDOTAWelcome.CExtraMsg + (*CMsgDOTAMatchVotes_PlayerVote)(nil), // 448: dota.CMsgDOTAMatchVotes.PlayerVote + (*CMsgGCGetHeroStandingsResponse_Hero)(nil), // 449: dota.CMsgGCGetHeroStandingsResponse.Hero + (*CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer)(nil), // 450: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer + (*CMsgGCGetHeroTimedStatsResponse_RankChunkedStats)(nil), // 451: dota.CMsgGCGetHeroTimedStatsResponse.RankChunkedStats + (*CMsgDOTAClaimEventActionData_GrantItemGiftData)(nil), // 452: dota.CMsgDOTAClaimEventActionData.GrantItemGiftData + (*CMsgDOTAGetEventPointsResponse_Action)(nil), // 453: dota.CMsgDOTAGetEventPointsResponse.Action + (*CMsgDOTAGetPlayerMatchHistoryResponse_Match)(nil), // 454: dota.CMsgDOTAGetPlayerMatchHistoryResponse.Match + (*CMsgClientToGCGetTrophyListResponse_Trophy)(nil), // 455: dota.CMsgClientToGCGetTrophyListResponse.Trophy + (*CMsgClientToGCSetProfileCardSlots_CardSlot)(nil), // 456: dota.CMsgClientToGCSetProfileCardSlots.CardSlot + (*CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame)(nil), // 457: dota.CMsgGCToClientCustomGamesFriendsPlayedResponse.CustomGame + (*CMsgDOTAPartyRichPresence_Member)(nil), // 458: dota.CMsgDOTAPartyRichPresence.Member + (*CMsgDOTAPartyRichPresence_WeekendTourney)(nil), // 459: dota.CMsgDOTAPartyRichPresence.WeekendTourney + (*CMsgClientToGCGetQuestProgressResponse_Challenge)(nil), // 460: dota.CMsgClientToGCGetQuestProgressResponse.Challenge + (*CMsgClientToGCGetQuestProgressResponse_Quest)(nil), // 461: dota.CMsgClientToGCGetQuestProgressResponse.Quest + (*CMsgEventGoals_EventGoal)(nil), // 462: dota.CMsgEventGoals.EventGoal + (*CMsgPredictionRankings_PredictionLine)(nil), // 463: dota.CMsgPredictionRankings.PredictionLine + (*CMsgPredictionRankings_Prediction)(nil), // 464: dota.CMsgPredictionRankings.Prediction + (*CMsgPredictionResults_ResultBreakdown)(nil), // 465: dota.CMsgPredictionResults.ResultBreakdown + (*CMsgPredictionResults_Result)(nil), // 466: dota.CMsgPredictionResults.Result + (*CMsgClientToGCTeammateStatsResponse_TeammateStat)(nil), // 467: dota.CMsgClientToGCTeammateStatsResponse.TeammateStat + (*CMsgClientToGCRequestEventPointLogResponseV2_LogEntry)(nil), // 468: dota.CMsgClientToGCRequestEventPointLogResponseV2.LogEntry + (*CMsgGCToClientQuestProgressUpdated_Challenge)(nil), // 469: dota.CMsgGCToClientQuestProgressUpdated.Challenge + (*CMsgClientToGCSelectCompendiumInGamePrediction_Prediction)(nil), // 470: dota.CMsgClientToGCSelectCompendiumInGamePrediction.Prediction + (*CMsgGCToClientBattlePassRollup_International2016_Questlines)(nil), // 471: dota.CMsgGCToClientBattlePassRollup_International2016.Questlines + (*CMsgGCToClientBattlePassRollup_International2016_Wagering)(nil), // 472: dota.CMsgGCToClientBattlePassRollup_International2016.Wagering + (*CMsgGCToClientBattlePassRollup_International2016_Achievements)(nil), // 473: dota.CMsgGCToClientBattlePassRollup_International2016.Achievements + (*CMsgGCToClientBattlePassRollup_International2016_BattleCup)(nil), // 474: dota.CMsgGCToClientBattlePassRollup_International2016.BattleCup + (*CMsgGCToClientBattlePassRollup_International2016_Predictions)(nil), // 475: dota.CMsgGCToClientBattlePassRollup_International2016.Predictions + (*CMsgGCToClientBattlePassRollup_International2016_Bracket)(nil), // 476: dota.CMsgGCToClientBattlePassRollup_International2016.Bracket + (*CMsgGCToClientBattlePassRollup_International2016_PlayerCard)(nil), // 477: dota.CMsgGCToClientBattlePassRollup_International2016.PlayerCard + (*CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge)(nil), // 478: dota.CMsgGCToClientBattlePassRollup_International2016.FantasyChallenge + (*CMsgGCToClientBattlePassRollup_Fall2016_Questlines)(nil), // 479: dota.CMsgGCToClientBattlePassRollup_Fall2016.Questlines + (*CMsgGCToClientBattlePassRollup_Fall2016_Wagering)(nil), // 480: dota.CMsgGCToClientBattlePassRollup_Fall2016.Wagering + (*CMsgGCToClientBattlePassRollup_Fall2016_Achievements)(nil), // 481: dota.CMsgGCToClientBattlePassRollup_Fall2016.Achievements + (*CMsgGCToClientBattlePassRollup_Fall2016_BattleCup)(nil), // 482: dota.CMsgGCToClientBattlePassRollup_Fall2016.BattleCup + (*CMsgGCToClientBattlePassRollup_Fall2016_Predictions)(nil), // 483: dota.CMsgGCToClientBattlePassRollup_Fall2016.Predictions + (*CMsgGCToClientBattlePassRollup_Fall2016_Bracket)(nil), // 484: dota.CMsgGCToClientBattlePassRollup_Fall2016.Bracket + (*CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard)(nil), // 485: dota.CMsgGCToClientBattlePassRollup_Fall2016.PlayerCard + (*CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge)(nil), // 486: dota.CMsgGCToClientBattlePassRollup_Fall2016.FantasyChallenge + (*CMsgGCToClientBattlePassRollup_Winter2017_Questlines)(nil), // 487: dota.CMsgGCToClientBattlePassRollup_Winter2017.Questlines + (*CMsgGCToClientBattlePassRollup_Winter2017_Wagering)(nil), // 488: dota.CMsgGCToClientBattlePassRollup_Winter2017.Wagering + (*CMsgGCToClientBattlePassRollup_Winter2017_Achievements)(nil), // 489: dota.CMsgGCToClientBattlePassRollup_Winter2017.Achievements + (*CMsgGCToClientBattlePassRollup_Winter2017_BattleCup)(nil), // 490: dota.CMsgGCToClientBattlePassRollup_Winter2017.BattleCup + (*CMsgGCToClientBattlePassRollup_Winter2017_Predictions)(nil), // 491: dota.CMsgGCToClientBattlePassRollup_Winter2017.Predictions + (*CMsgGCToClientBattlePassRollup_Winter2017_Bracket)(nil), // 492: dota.CMsgGCToClientBattlePassRollup_Winter2017.Bracket + (*CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard)(nil), // 493: dota.CMsgGCToClientBattlePassRollup_Winter2017.PlayerCard + (*CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge)(nil), // 494: dota.CMsgGCToClientBattlePassRollup_Winter2017.FantasyChallenge + (*CMsgGCToClientBattlePassRollup_TI7_Questlines)(nil), // 495: dota.CMsgGCToClientBattlePassRollup_TI7.Questlines + (*CMsgGCToClientBattlePassRollup_TI7_Wagering)(nil), // 496: dota.CMsgGCToClientBattlePassRollup_TI7.Wagering + (*CMsgGCToClientBattlePassRollup_TI7_Achievements)(nil), // 497: dota.CMsgGCToClientBattlePassRollup_TI7.Achievements + (*CMsgGCToClientBattlePassRollup_TI7_BattleCup)(nil), // 498: dota.CMsgGCToClientBattlePassRollup_TI7.BattleCup + (*CMsgGCToClientBattlePassRollup_TI7_Predictions)(nil), // 499: dota.CMsgGCToClientBattlePassRollup_TI7.Predictions + (*CMsgGCToClientBattlePassRollup_TI7_Bracket)(nil), // 500: dota.CMsgGCToClientBattlePassRollup_TI7.Bracket + (*CMsgGCToClientBattlePassRollup_TI7_PlayerCard)(nil), // 501: dota.CMsgGCToClientBattlePassRollup_TI7.PlayerCard + (*CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge)(nil), // 502: dota.CMsgGCToClientBattlePassRollup_TI7.FantasyChallenge + (*CMsgGCToClientBattlePassRollup_TI8_CavernCrawl)(nil), // 503: dota.CMsgGCToClientBattlePassRollup_TI8.CavernCrawl + (*CMsgGCToClientBattlePassRollup_TI8_Wagering)(nil), // 504: dota.CMsgGCToClientBattlePassRollup_TI8.Wagering + (*CMsgGCToClientBattlePassRollup_TI8_Achievements)(nil), // 505: dota.CMsgGCToClientBattlePassRollup_TI8.Achievements + (*CMsgGCToClientBattlePassRollup_TI8_Predictions)(nil), // 506: dota.CMsgGCToClientBattlePassRollup_TI8.Predictions + (*CMsgGCToClientBattlePassRollup_TI8_Bracket)(nil), // 507: dota.CMsgGCToClientBattlePassRollup_TI8.Bracket + (*CMsgGCToClientBattlePassRollup_TI8_PlayerCard)(nil), // 508: dota.CMsgGCToClientBattlePassRollup_TI8.PlayerCard + (*CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge)(nil), // 509: dota.CMsgGCToClientBattlePassRollup_TI8.FantasyChallenge + (*CMsgGCToClientBattlePassRollupListResponse_EventInfo)(nil), // 510: dota.CMsgGCToClientBattlePassRollupListResponse.EventInfo + (*CMsgDOTAClientToGCQuickStatsResponse_SimpleStats)(nil), // 511: dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats + (*CMsgProfileResponse_FeaturedHero)(nil), // 512: dota.CMsgProfileResponse.FeaturedHero + (*CMsgProfileResponse_MatchInfo)(nil), // 513: dota.CMsgProfileResponse.MatchInfo + (*CMsgHeroGlobalDataResponse_GraphData)(nil), // 514: dota.CMsgHeroGlobalDataResponse.GraphData + (*CMsgHeroGlobalDataResponse_WeekData)(nil), // 515: dota.CMsgHeroGlobalDataResponse.WeekData + (*CMsgHeroGlobalDataResponse_HeroDataPerRankChunk)(nil), // 516: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk + (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData)(nil), // 517: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.HeroData + (*CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData)(nil), // 518: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.RankedHeroData + (*CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo)(nil), // 519: dota.CMsgGCToClientCavernCrawlMapPathCompleted.CompletedPathInfo + (*CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge)(nil), // 520: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.SwappedChallenge + (*CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem)(nil), // 521: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.InventoryItem + (*CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap)(nil), // 522: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.TreasureMap + (*CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant)(nil), // 523: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant + (*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant)(nil), // 524: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.MapVariant + (*CMsgDOTAMutationList_Mutation)(nil), // 525: dota.CMsgDOTAMutationList.Mutation + (*CMsgEventTipsSummaryResponse_Tipper)(nil), // 526: dota.CMsgEventTipsSummaryResponse.Tipper + (*CMsgSocialFeedResponse_FeedEvent)(nil), // 527: dota.CMsgSocialFeedResponse.FeedEvent + (*CMsgSocialFeedCommentsResponse_FeedComment)(nil), // 528: dota.CMsgSocialFeedCommentsResponse.FeedComment + (*CMsgClientToGCRequestContestVotesResponse_ItemVote)(nil), // 529: dota.CMsgClientToGCRequestContestVotesResponse.ItemVote + (*CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry)(nil), // 530: dota.CMsgGCToClientGetFilteredPlayersResponse.CFilterEntry + (*CMsgGCToClientVerifyFavoritePlayersResponse_Result)(nil), // 531: dota.CMsgGCToClientVerifyFavoritePlayersResponse.Result + (*CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate)(nil), // 532: dota.CMsgClientToGCRequestReporterUpdatesResponse.ReporterUpdate + (*CMsgClientToGCGetOWMatchDetailsResponse_Marker)(nil), // 533: dota.CMsgClientToGCGetOWMatchDetailsResponse.Marker + (*CMsgClientToGCGetDPCFavoritesResponse_Favorite)(nil), // 534: dota.CMsgClientToGCGetDPCFavoritesResponse.Favorite + (*CMsgClientToGCPlaceStickersRequest_StickerItem)(nil), // 535: dota.CMsgClientToGCPlaceStickersRequest.StickerItem + (*CMsgClientToGCPlaceCollectionStickersRequest_Slot)(nil), // 536: dota.CMsgClientToGCPlaceCollectionStickersRequest.Slot + (*CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote)(nil), // 537: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote + (*CMsgClientToGCUpdateComicBookStats_SingleStat)(nil), // 538: dota.CMsgClientToGCUpdateComicBookStats.SingleStat + (*CMsgClientToGCUpdateComicBookStats_LanguageStats)(nil), // 539: dota.CMsgClientToGCUpdateComicBookStats.LanguageStats + (*CMsgDOTAMatch)(nil), // 540: dota.CMsgDOTAMatch + (MatchType)(0), // 541: dota.MatchType + (DOTAMatchVote)(0), // 542: dota.DOTAMatchVote + (EEvent)(0), // 543: dota.EEvent + (*CExtraMsgBlock)(nil), // 544: dota.CExtraMsgBlock + (EMatchGroupServerStatus)(0), // 545: dota.EMatchGroupServerStatus + (EEventActionScoreMode)(0), // 546: dota.EEventActionScoreMode + (*CMsgDOTAClaimEventActionResponse)(nil), // 547: dota.CMsgDOTAClaimEventActionResponse + (ERankType)(0), // 548: dota.ERankType + (CSODOTAParty_State)(0), // 549: dota.CSODOTAParty.State + (CSODOTALobby_State)(0), // 550: dota.CSODOTALobby.State + (DOTA_GameMode)(0), // 551: dota.DOTA_GameMode + (*CMsgDOTASDOHeroStatsHistory)(nil), // 552: dota.CMsgDOTASDOHeroStatsHistory + (*CMsgArcanaVoteMatchVotes)(nil), // 553: dota.CMsgArcanaVoteMatchVotes + (ELeagueRegion)(0), // 554: dota.ELeagueRegion + (*CMsgDOTATriviaQuestion)(nil), // 555: dota.CMsgDOTATriviaQuestion + (DOTASelectionPriorityChoice)(0), // 556: dota.DOTASelectionPriorityChoice + (EHeroRelicRarity)(0), // 557: dota.EHeroRelicRarity + (*CSOEconItem)(nil), // 558: dota.CSOEconItem + (*CMsgSuccessfulHero)(nil), // 559: dota.CMsgSuccessfulHero + (*CMsgRecentMatchInfo)(nil), // 560: dota.CMsgRecentMatchInfo + (*CMsgStickerbookPage)(nil), // 561: dota.CMsgStickerbookPage + (*CPartySearchClientParty)(nil), // 562: dota.CPartySearchClientParty + (*CMsgPlayerRecentAccomplishments)(nil), // 563: dota.CMsgPlayerRecentAccomplishments + (*CMsgPlayerHeroRecentAccomplishments)(nil), // 564: dota.CMsgPlayerHeroRecentAccomplishments + (*CMsgUnderDraftData)(nil), // 565: dota.CMsgUnderDraftData + (EOverwatchReportReason)(0), // 566: dota.EOverwatchReportReason + (EOverwatchConviction)(0), // 567: dota.EOverwatchConviction + (EDPCFavoriteType)(0), // 568: dota.EDPCFavoriteType + (*CMsgStickerbook)(nil), // 569: dota.CMsgStickerbook + (EStickerbookPageType)(0), // 570: dota.EStickerbookPageType + (*CMsgStickerbookTeamPageOrderSequence)(nil), // 571: dota.CMsgStickerbookTeamPageOrderSequence + (*CMsgStickerHeroes)(nil), // 572: dota.CMsgStickerHeroes + (*CMatchClip)(nil), // 573: dota.CMatchClip + (*CMsgMapStatsSnapshot)(nil), // 574: dota.CMsgMapStatsSnapshot + (*CMsgGlobalMapStats)(nil), // 575: dota.CMsgGlobalMapStats + (ENewBloomGiftingResponse)(0), // 576: dota.ENewBloomGiftingResponse + (EProfileCardSlotType)(0), // 577: dota.EProfileCardSlotType + (*CMsgStickerbookSticker)(nil), // 578: dota.CMsgStickerbookSticker } var file_dota_gcmessages_client_proto_depIdxs = []int32{ - 538, // 0: dota.CMsgDOTARequestMatchesResponse.matches:type_name -> dota.CMsgDOTAMatch - 443, // 1: dota.CMsgDOTARequestMatchesResponse.series:type_name -> dota.CMsgDOTARequestMatchesResponse.Series + 540, // 0: dota.CMsgDOTARequestMatchesResponse.matches:type_name -> dota.CMsgDOTAMatch + 445, // 1: dota.CMsgDOTARequestMatchesResponse.series:type_name -> dota.CMsgDOTARequestMatchesResponse.Series 11, // 2: dota.CMsgDOTAPopup.id:type_name -> dota.CMsgDOTAPopup.PopupID 12, // 3: dota.CMsgDOTASubmitPlayerReportResponse.enum_result:type_name -> dota.CMsgDOTASubmitPlayerReportResponse.EResult 13, // 4: dota.CMsgDOTASubmitPlayerReportResponseV2.enum_result:type_name -> dota.CMsgDOTASubmitPlayerReportResponseV2.EResult - 539, // 5: dota.CMsgDOTAKickedFromMatchmakingQueue.match_type:type_name -> dota.MatchType - 538, // 6: dota.CMsgGCMatchDetailsResponse.match:type_name -> dota.CMsgDOTAMatch - 540, // 7: dota.CMsgGCMatchDetailsResponse.vote:type_name -> dota.DOTAMatchVote - 444, // 8: dota.CMsgDOTAProfileTickets.league_passes:type_name -> dota.CMsgDOTAProfileTickets.LeaguePass - 350, // 9: dota.CMsgGCToClientPartySearchInvites.invites:type_name -> dota.CMsgGCToClientPartySearchInvite - 445, // 10: dota.CMsgDOTAWelcome.extra_messages:type_name -> dota.CMsgDOTAWelcome.CExtraMsg - 541, // 11: dota.CMsgDOTAWelcome.active_event:type_name -> dota.EEvent + 541, // 5: dota.CMsgDOTAKickedFromMatchmakingQueue.match_type:type_name -> dota.MatchType + 540, // 6: dota.CMsgGCMatchDetailsResponse.match:type_name -> dota.CMsgDOTAMatch + 542, // 7: dota.CMsgGCMatchDetailsResponse.vote:type_name -> dota.DOTAMatchVote + 446, // 8: dota.CMsgDOTAProfileTickets.league_passes:type_name -> dota.CMsgDOTAProfileTickets.LeaguePass + 352, // 9: dota.CMsgGCToClientPartySearchInvites.invites:type_name -> dota.CMsgGCToClientPartySearchInvite + 447, // 10: dota.CMsgDOTAWelcome.extra_messages:type_name -> dota.CMsgDOTAWelcome.CExtraMsg + 543, // 11: dota.CMsgDOTAWelcome.active_event:type_name -> dota.EEvent 102, // 12: dota.CMsgDOTAWelcome.party_search_friend_invites:type_name -> dota.CMsgGCToClientPartySearchInvites - 542, // 13: dota.CMsgDOTAWelcome.extra_message_blocks:type_name -> dota.CExtraMsgBlock - 446, // 14: dota.CMsgDOTAMatchVotes.votes:type_name -> dota.CMsgDOTAMatchVotes.PlayerVote - 543, // 15: dota.CMsgMatchmakingMatchGroupInfo.status:type_name -> dota.EMatchGroupServerStatus + 544, // 13: dota.CMsgDOTAWelcome.extra_message_blocks:type_name -> dota.CExtraMsgBlock + 448, // 14: dota.CMsgDOTAMatchVotes.votes:type_name -> dota.CMsgDOTAMatchVotes.PlayerVote + 545, // 15: dota.CMsgMatchmakingMatchGroupInfo.status:type_name -> dota.EMatchGroupServerStatus 106, // 16: dota.CMsgDOTAMatchmakingStatsResponse.match_groups:type_name -> dota.CMsgMatchmakingMatchGroupInfo 108, // 17: dota.CMsgDOTAUpdateMatchmakingStats.stats:type_name -> dota.CMsgDOTAMatchmakingStatsResponse 108, // 18: dota.CMsgDOTAUpdateMatchManagementStats.stats:type_name -> dota.CMsgDOTAMatchmakingStatsResponse 1, // 19: dota.CMsgGCWatchDownloadedReplay.watch_type:type_name -> dota.DOTA_WatchReplayType - 447, // 20: dota.CMsgGCGetHeroStandingsResponse.standings:type_name -> dota.CMsgGCGetHeroStandingsResponse.Hero - 449, // 21: dota.CMsgGCGetHeroTimedStatsResponse.rank_chunked_stats:type_name -> dota.CMsgGCGetHeroTimedStatsResponse.RankChunkedStats + 449, // 20: dota.CMsgGCGetHeroStandingsResponse.standings:type_name -> dota.CMsgGCGetHeroStandingsResponse.Hero + 451, // 21: dota.CMsgGCGetHeroTimedStatsResponse.rank_chunked_stats:type_name -> dota.CMsgGCGetHeroTimedStatsResponse.RankChunkedStats 126, // 22: dota.CMsgGCItemEditorReservationsResponse.reservations:type_name -> dota.CMsgGCItemEditorReservation - 450, // 23: dota.CMsgDOTAClaimEventActionData.grant_item_gift_data:type_name -> dota.CMsgDOTAClaimEventActionData.GrantItemGiftData + 452, // 23: dota.CMsgDOTAClaimEventActionData.grant_item_gift_data:type_name -> dota.CMsgDOTAClaimEventActionData.GrantItemGiftData 134, // 24: dota.CMsgDOTAClaimEventAction.data:type_name -> dota.CMsgDOTAClaimEventActionData - 544, // 25: dota.CMsgClientToGCClaimEventActionUsingItemResponse.action_results:type_name -> dota.CMsgDOTAClaimEventActionResponse - 544, // 26: dota.CMsgGCToClientClaimEventActionUsingItemCompleted.action_results:type_name -> dota.CMsgDOTAClaimEventActionResponse - 451, // 27: dota.CMsgDOTAGetEventPointsResponse.completed_actions:type_name -> dota.CMsgDOTAGetEventPointsResponse.Action - 141, // 28: dota.CMsgDOTAPeriodicResourceUpdated.periodic_resource_key:type_name -> dota.CMsgDOTAGetPeriodicResource - 142, // 29: dota.CMsgDOTAPeriodicResourceUpdated.periodic_resource_value:type_name -> dota.CMsgDOTAGetPeriodicResourceResponse - 144, // 30: dota.CMsgDOTACompendiumData.selections:type_name -> dota.CMsgDOTACompendiumSelection - 146, // 31: dota.CMsgDOTACompendiumDataResponse.compendium_data:type_name -> dota.CMsgDOTACompendiumData - 452, // 32: dota.CMsgDOTAGetPlayerMatchHistoryResponse.matches:type_name -> dota.CMsgDOTAGetPlayerMatchHistoryResponse.Match - 14, // 33: dota.CMsgGCNotificationsUpdate.result:type_name -> dota.CMsgGCNotificationsUpdate.EResult - 152, // 34: dota.CMsgGCNotificationsUpdate.notifications:type_name -> dota.CMsgGCNotifications_Notification - 153, // 35: dota.CMsgGCNotificationsResponse.update:type_name -> dota.CMsgGCNotificationsUpdate - 15, // 36: dota.CMsgGCPlayerInfoSubmitResponse.result:type_name -> dota.CMsgGCPlayerInfoSubmitResponse.EResult - 158, // 37: dota.CMsgGCToClientEmoticonData.emoticon_access:type_name -> dota.CMsgDOTAEmoticonAccessSDO - 453, // 38: dota.CMsgClientToGCGetTrophyListResponse.trophies:type_name -> dota.CMsgClientToGCGetTrophyListResponse.Trophy - 545, // 39: dota.CMsgClientToGCRankRequest.rank_type:type_name -> dota.ERankType - 16, // 40: dota.CMsgGCToClientRankResponse.result:type_name -> dota.CMsgGCToClientRankResponse.EResultCode - 545, // 41: dota.CMsgGCToClientRankUpdate.rank_type:type_name -> dota.ERankType - 170, // 42: dota.CMsgGCToClientRankUpdate.rank_info:type_name -> dota.CMsgGCToClientRankResponse - 454, // 43: dota.CMsgClientToGCSetProfileCardSlots.slots:type_name -> dota.CMsgClientToGCSetProfileCardSlots.CardSlot - 455, // 44: dota.CMsgGCToClientCustomGamesFriendsPlayedResponse.games:type_name -> dota.CMsgGCToClientCustomGamesFriendsPlayedResponse.CustomGame - 546, // 45: dota.CMsgDOTAPartyRichPresence.party_state:type_name -> dota.CSODOTAParty.State - 456, // 46: dota.CMsgDOTAPartyRichPresence.members:type_name -> dota.CMsgDOTAPartyRichPresence.Member - 457, // 47: dota.CMsgDOTAPartyRichPresence.weekend_tourney:type_name -> dota.CMsgDOTAPartyRichPresence.WeekendTourney - 547, // 48: dota.CMsgDOTALobbyRichPresence.lobby_state:type_name -> dota.CSODOTALobby.State - 548, // 49: dota.CMsgDOTALobbyRichPresence.game_mode:type_name -> dota.DOTA_GameMode - 459, // 50: dota.CMsgClientToGCGetQuestProgressResponse.quests:type_name -> dota.CMsgClientToGCGetQuestProgressResponse.Quest - 549, // 51: dota.CMsgGCGetHeroStatsHistoryResponse.records:type_name -> dota.CMsgDOTASDOHeroStatsHistory - 17, // 52: dota.CMsgPlayerConductScorecard.behavior_rating:type_name -> dota.CMsgPlayerConductScorecard.EBehaviorRating - 201, // 53: dota.CMsgGCToClientWageringUpdate.wagering_info:type_name -> dota.CMsgGCToClientWageringResponse - 220, // 54: dota.CMsgGCToClientArcanaVotesUpdate.arcana_votes:type_name -> dota.CMsgClientToGCRequestArcanaVotesRemainingResponse - 541, // 55: dota.CMsgClientToGCGetEventGoals.event_ids:type_name -> dota.EEvent - 460, // 56: dota.CMsgEventGoals.event_goals:type_name -> dota.CMsgEventGoals.EventGoal - 462, // 57: dota.CMsgPredictionRankings.predictions:type_name -> dota.CMsgPredictionRankings.Prediction - 464, // 58: dota.CMsgPredictionResults.results:type_name -> dota.CMsgPredictionResults.Result - 465, // 59: dota.CMsgClientToGCTeammateStatsResponse.teammate_stats:type_name -> dota.CMsgClientToGCTeammateStatsResponse.TeammateStat - 550, // 60: dota.CMsgClientToGCVoteForArcana.matches:type_name -> dota.CMsgArcanaVoteMatchVotes - 18, // 61: dota.CMsgClientToGCVoteForArcanaResponse.result:type_name -> dota.CMsgClientToGCVoteForArcanaResponse.Result - 550, // 62: dota.CMsgClientToGCRequestArcanaVotesRemainingResponse.matches_previously_voted_for:type_name -> dota.CMsgArcanaVoteMatchVotes - 541, // 63: dota.CMsgClientToGCRequestEventPointLogResponseV2.event_id:type_name -> dota.EEvent - 466, // 64: dota.CMsgClientToGCRequestEventPointLogResponseV2.log_entries:type_name -> dota.CMsgClientToGCRequestEventPointLogResponseV2.LogEntry - 541, // 65: dota.CMsgClientToGCRequestSlarkGameResult.event_id:type_name -> dota.EEvent - 467, // 66: dota.CMsgGCToClientQuestProgressUpdated.completed_challenges:type_name -> dota.CMsgGCToClientQuestProgressUpdated.Challenge - 19, // 67: dota.CMsgDOTARedeemItemResponse.response:type_name -> dota.CMsgDOTARedeemItemResponse.EResultCode - 468, // 68: dota.CMsgClientToGCSelectCompendiumInGamePrediction.predictions:type_name -> dota.CMsgClientToGCSelectCompendiumInGamePrediction.Prediction - 20, // 69: dota.CMsgClientToGCSelectCompendiumInGamePredictionResponse.result:type_name -> dota.CMsgClientToGCSelectCompendiumInGamePredictionResponse.EResult - 551, // 70: dota.CMsgClientToGCOpenPlayerCardPack.region:type_name -> dota.ELeagueRegion - 21, // 71: dota.CMsgClientToGCOpenPlayerCardPackResponse.result:type_name -> dota.CMsgClientToGCOpenPlayerCardPackResponse.Result - 22, // 72: dota.CMsgClientToGCRecyclePlayerCardResponse.result:type_name -> dota.CMsgClientToGCRecyclePlayerCardResponse.Result - 23, // 73: dota.CMsgClientToGCCreatePlayerCardPackResponse.result:type_name -> dota.CMsgClientToGCCreatePlayerCardPackResponse.Result - 24, // 74: dota.CMsgClientToGCCreateTeamPlayerCardPackResponse.result:type_name -> dota.CMsgClientToGCCreateTeamPlayerCardPackResponse.Result - 469, // 75: dota.CMsgGCToClientBattlePassRollup_International2016.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Questlines - 470, // 76: dota.CMsgGCToClientBattlePassRollup_International2016.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Wagering - 471, // 77: dota.CMsgGCToClientBattlePassRollup_International2016.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Achievements - 472, // 78: dota.CMsgGCToClientBattlePassRollup_International2016.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.BattleCup - 473, // 79: dota.CMsgGCToClientBattlePassRollup_International2016.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Predictions - 474, // 80: dota.CMsgGCToClientBattlePassRollup_International2016.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Bracket - 475, // 81: dota.CMsgGCToClientBattlePassRollup_International2016.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.PlayerCard - 476, // 82: dota.CMsgGCToClientBattlePassRollup_International2016.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.FantasyChallenge - 477, // 83: dota.CMsgGCToClientBattlePassRollup_Fall2016.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Questlines - 478, // 84: dota.CMsgGCToClientBattlePassRollup_Fall2016.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Wagering - 479, // 85: dota.CMsgGCToClientBattlePassRollup_Fall2016.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Achievements - 480, // 86: dota.CMsgGCToClientBattlePassRollup_Fall2016.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.BattleCup - 481, // 87: dota.CMsgGCToClientBattlePassRollup_Fall2016.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Predictions - 482, // 88: dota.CMsgGCToClientBattlePassRollup_Fall2016.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Bracket - 483, // 89: dota.CMsgGCToClientBattlePassRollup_Fall2016.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.PlayerCard - 484, // 90: dota.CMsgGCToClientBattlePassRollup_Fall2016.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.FantasyChallenge - 485, // 91: dota.CMsgGCToClientBattlePassRollup_Winter2017.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Questlines - 486, // 92: dota.CMsgGCToClientBattlePassRollup_Winter2017.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Wagering - 487, // 93: dota.CMsgGCToClientBattlePassRollup_Winter2017.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Achievements - 488, // 94: dota.CMsgGCToClientBattlePassRollup_Winter2017.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.BattleCup - 489, // 95: dota.CMsgGCToClientBattlePassRollup_Winter2017.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Predictions - 490, // 96: dota.CMsgGCToClientBattlePassRollup_Winter2017.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Bracket - 491, // 97: dota.CMsgGCToClientBattlePassRollup_Winter2017.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.PlayerCard - 492, // 98: dota.CMsgGCToClientBattlePassRollup_Winter2017.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.FantasyChallenge - 493, // 99: dota.CMsgGCToClientBattlePassRollup_TI7.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Questlines - 494, // 100: dota.CMsgGCToClientBattlePassRollup_TI7.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Wagering - 495, // 101: dota.CMsgGCToClientBattlePassRollup_TI7.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Achievements - 496, // 102: dota.CMsgGCToClientBattlePassRollup_TI7.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.BattleCup - 497, // 103: dota.CMsgGCToClientBattlePassRollup_TI7.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Predictions - 498, // 104: dota.CMsgGCToClientBattlePassRollup_TI7.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Bracket - 499, // 105: dota.CMsgGCToClientBattlePassRollup_TI7.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.PlayerCard - 500, // 106: dota.CMsgGCToClientBattlePassRollup_TI7.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.FantasyChallenge - 501, // 107: dota.CMsgGCToClientBattlePassRollup_TI8.cavern_crawl:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.CavernCrawl - 502, // 108: dota.CMsgGCToClientBattlePassRollup_TI8.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Wagering - 503, // 109: dota.CMsgGCToClientBattlePassRollup_TI8.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Achievements - 504, // 110: dota.CMsgGCToClientBattlePassRollup_TI8.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Predictions - 505, // 111: dota.CMsgGCToClientBattlePassRollup_TI8.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Bracket - 506, // 112: dota.CMsgGCToClientBattlePassRollup_TI8.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.PlayerCard - 507, // 113: dota.CMsgGCToClientBattlePassRollup_TI8.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.FantasyChallenge - 239, // 114: dota.CMsgGCToClientBattlePassRollupResponse.event_ti6:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016 - 240, // 115: dota.CMsgGCToClientBattlePassRollupResponse.event_fall2016:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016 - 241, // 116: dota.CMsgGCToClientBattlePassRollupResponse.event_winter2017:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017 - 242, // 117: dota.CMsgGCToClientBattlePassRollupResponse.event_ti7:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7 - 243, // 118: dota.CMsgGCToClientBattlePassRollupResponse.event_ti8:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8 - 244, // 119: dota.CMsgGCToClientBattlePassRollupResponse.event_ti9:type_name -> dota.CMsgGCToClientBattlePassRollup_TI9 - 245, // 120: dota.CMsgGCToClientBattlePassRollupResponse.event_ti10:type_name -> dota.CMsgGCToClientBattlePassRollup_TI10 - 508, // 121: dota.CMsgGCToClientBattlePassRollupListResponse.event_info:type_name -> dota.CMsgGCToClientBattlePassRollupListResponse.EventInfo - 552, // 122: dota.CMsgDOTATriviaCurrentQuestions.questions:type_name -> dota.CMsgDOTATriviaQuestion - 4, // 123: dota.CMsgDOTASubmitTriviaQuestionAnswerResponse.result:type_name -> dota.EDOTATriviaAnswerResult - 25, // 124: dota.CMsgDOTAAnchorPhoneNumberResponse.result:type_name -> dota.CMsgDOTAAnchorPhoneNumberResponse.Result - 26, // 125: dota.CMsgDOTAUnanchorPhoneNumberResponse.result:type_name -> dota.CMsgDOTAUnanchorPhoneNumberResponse.Result - 266, // 126: dota.CMsgDOTAClientToGCQuickStatsResponse.original_request:type_name -> dota.CMsgDOTAClientToGCQuickStatsRequest - 509, // 127: dota.CMsgDOTAClientToGCQuickStatsResponse.hero_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats - 509, // 128: dota.CMsgDOTAClientToGCQuickStatsResponse.item_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats - 509, // 129: dota.CMsgDOTAClientToGCQuickStatsResponse.item_hero_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats - 509, // 130: dota.CMsgDOTAClientToGCQuickStatsResponse.item_player_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats - 509, // 131: dota.CMsgDOTAClientToGCQuickStatsResponse.hero_player_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats - 509, // 132: dota.CMsgDOTAClientToGCQuickStatsResponse.full_set_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats - 553, // 133: dota.CMsgDOTASelectionPriorityChoiceRequest.choice:type_name -> dota.DOTASelectionPriorityChoice - 27, // 134: dota.CMsgDOTASelectionPriorityChoiceResponse.result:type_name -> dota.CMsgDOTASelectionPriorityChoiceResponse.Result - 28, // 135: dota.CMsgDOTAGameAutographRewardResponse.result:type_name -> dota.CMsgDOTAGameAutographRewardResponse.Result - 29, // 136: dota.CMsgDOTADestroyLobbyResponse.result:type_name -> dota.CMsgDOTADestroyLobbyResponse.Result - 541, // 137: dota.CMsgPurchaseItemWithEventPoints.event_id:type_name -> dota.EEvent - 30, // 138: dota.CMsgPurchaseItemWithEventPointsResponse.result:type_name -> dota.CMsgPurchaseItemWithEventPointsResponse.Result - 554, // 139: dota.CMsgPurchaseHeroRandomRelic.relic_rarity:type_name -> dota.EHeroRelicRarity - 5, // 140: dota.CMsgPurchaseHeroRandomRelicResponse.result:type_name -> dota.EPurchaseHeroRelicResult - 541, // 141: dota.CMsgClientToGCRequestPlusWeeklyChallengeResult.event_id:type_name -> dota.EEvent - 555, // 142: dota.CMsgProfileResponse.background_item:type_name -> dota.CSOEconItem - 510, // 143: dota.CMsgProfileResponse.featured_heroes:type_name -> dota.CMsgProfileResponse.FeaturedHero - 511, // 144: dota.CMsgProfileResponse.recent_matches:type_name -> dota.CMsgProfileResponse.MatchInfo - 556, // 145: dota.CMsgProfileResponse.successful_heroes:type_name -> dota.CMsgSuccessfulHero - 557, // 146: dota.CMsgProfileResponse.recent_match_details:type_name -> dota.CMsgRecentMatchInfo - 31, // 147: dota.CMsgProfileResponse.result:type_name -> dota.CMsgProfileResponse.EResponse - 558, // 148: dota.CMsgProfileResponse.stickerbook_page:type_name -> dota.CMsgStickerbookPage - 32, // 149: dota.CMsgProfileUpdateResponse.result:type_name -> dota.CMsgProfileUpdateResponse.Result - 514, // 150: dota.CMsgHeroGlobalDataResponse.hero_data_per_chunk:type_name -> dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk - 289, // 151: dota.CMsgHeroGlobalDataAllHeroes.heroes:type_name -> dota.CMsgHeroGlobalDataResponse - 516, // 152: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.ranked_hero_data:type_name -> dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.RankedHeroData - 33, // 153: dota.CMsgActivatePlusFreeTrialResponse.result:type_name -> dota.CMsgActivatePlusFreeTrialResponse.Result - 517, // 154: dota.CMsgGCToClientCavernCrawlMapPathCompleted.completed_paths:type_name -> dota.CMsgGCToClientCavernCrawlMapPathCompleted.CompletedPathInfo - 34, // 155: dota.CMsgClientToGCCavernCrawlClaimRoomResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlClaimRoomResponse.Result - 35, // 156: dota.CMsgClientToGCCavernCrawlUseItemOnRoomResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlUseItemOnRoomResponse.Result - 36, // 157: dota.CMsgClientToGCCavernCrawlUseItemOnPathResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlUseItemOnPathResponse.Result - 37, // 158: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.Result - 519, // 159: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.inventory_item:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.InventoryItem - 521, // 160: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.map_variants:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant - 38, // 161: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.Result - 522, // 162: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.map_variants:type_name -> dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.MapVariant - 523, // 163: dota.CMsgDOTAMutationList.mutations:type_name -> dota.CMsgDOTAMutationList.Mutation - 541, // 164: dota.CMsgEventTipsSummaryRequest.event_id:type_name -> dota.EEvent - 524, // 165: dota.CMsgEventTipsSummaryResponse.tips_received:type_name -> dota.CMsgEventTipsSummaryResponse.Tipper - 39, // 166: dota.CMsgSocialFeedResponse.result:type_name -> dota.CMsgSocialFeedResponse.Result - 525, // 167: dota.CMsgSocialFeedResponse.feed_events:type_name -> dota.CMsgSocialFeedResponse.FeedEvent - 40, // 168: dota.CMsgSocialFeedCommentsResponse.result:type_name -> dota.CMsgSocialFeedCommentsResponse.Result - 526, // 169: dota.CMsgSocialFeedCommentsResponse.feed_comments:type_name -> dota.CMsgSocialFeedCommentsResponse.FeedComment - 41, // 170: dota.CMsgClientToGCPlayerCardSpecificPurchaseResponse.result:type_name -> dota.CMsgClientToGCPlayerCardSpecificPurchaseResponse.Result - 42, // 171: dota.CMsgClientToGCRequestContestVotesResponse.result:type_name -> dota.CMsgClientToGCRequestContestVotesResponse.EResponse - 527, // 172: dota.CMsgClientToGCRequestContestVotesResponse.votes:type_name -> dota.CMsgClientToGCRequestContestVotesResponse.ItemVote - 43, // 173: dota.CMsgGCToClientRecordContestVoteResponse.eresult:type_name -> dota.CMsgGCToClientRecordContestVoteResponse.EResult - 541, // 174: dota.CMsgDevGrantEventPoints.event_id:type_name -> dota.EEvent - 6, // 175: dota.CMsgDevGrantEventPointsResponse.result:type_name -> dota.EDevEventRequestResult - 541, // 176: dota.CMsgDevGrantEventAction.event_id:type_name -> dota.EEvent - 6, // 177: dota.CMsgDevGrantEventActionResponse.result:type_name -> dota.EDevEventRequestResult - 541, // 178: dota.CMsgDevDeleteEventActions.event_id:type_name -> dota.EEvent - 6, // 179: dota.CMsgDevDeleteEventActionsResponse.result:type_name -> dota.EDevEventRequestResult - 541, // 180: dota.CMsgDevResetEventState.event_id:type_name -> dota.EEvent - 6, // 181: dota.CMsgDevResetEventStateResponse.result:type_name -> dota.EDevEventRequestResult - 7, // 182: dota.CMsgConsumeEventSupportGrantItemResponse.result:type_name -> dota.ESupportEventRequestResult - 44, // 183: dota.CMsgGCToClientGetFilteredPlayersResponse.result:type_name -> dota.CMsgGCToClientGetFilteredPlayersResponse.Result - 528, // 184: dota.CMsgGCToClientGetFilteredPlayersResponse.filtered_players:type_name -> dota.CMsgGCToClientGetFilteredPlayersResponse.CFilterEntry - 45, // 185: dota.CMsgGCToClientRemoveFilteredPlayerResponse.result:type_name -> dota.CMsgGCToClientRemoveFilteredPlayerResponse.Result - 46, // 186: dota.CMsgGCToClientPurchaseFilteredPlayerSlotResponse.result:type_name -> dota.CMsgGCToClientPurchaseFilteredPlayerSlotResponse.Result - 47, // 187: dota.CMsgGCToClientUpdateFilteredPlayerNoteResponse.result:type_name -> dota.CMsgGCToClientUpdateFilteredPlayerNoteResponse.Result - 48, // 188: dota.CMsgClientToGCUpdatePartyBeacon.action:type_name -> dota.CMsgClientToGCUpdatePartyBeacon.Action - 49, // 189: dota.CMsgGCToClientRequestActiveBeaconPartiesResponse.response:type_name -> dota.CMsgGCToClientRequestActiveBeaconPartiesResponse.EResponse - 559, // 190: dota.CMsgGCToClientRequestActiveBeaconPartiesResponse.active_parties:type_name -> dota.CPartySearchClientParty - 50, // 191: dota.CMsgGCToClientJoinPartyFromBeaconResponse.response:type_name -> dota.CMsgGCToClientJoinPartyFromBeaconResponse.EResponse - 51, // 192: dota.CMsgClientToGCManageFavorites.action:type_name -> dota.CMsgClientToGCManageFavorites.Action - 52, // 193: dota.CMsgGCToClientManageFavoritesResponse.response:type_name -> dota.CMsgGCToClientManageFavoritesResponse.EResponse - 338, // 194: dota.CMsgGCToClientManageFavoritesResponse.player:type_name -> dota.CMsgPartySearchPlayer - 53, // 195: dota.CMsgGCToClientGetFavoritePlayersResponse.response:type_name -> dota.CMsgGCToClientGetFavoritePlayersResponse.EResponse - 338, // 196: dota.CMsgGCToClientGetFavoritePlayersResponse.players:type_name -> dota.CMsgPartySearchPlayer - 529, // 197: dota.CMsgGCToClientVerifyFavoritePlayersResponse.results:type_name -> dota.CMsgGCToClientVerifyFavoritePlayersResponse.Result - 54, // 198: dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.result:type_name -> dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.EResponse - 560, // 199: dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.player_accomplishments:type_name -> dota.CMsgPlayerRecentAccomplishments - 55, // 200: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.result:type_name -> dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.EResponse - 561, // 201: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.hero_accomplishments:type_name -> dota.CMsgPlayerHeroRecentAccomplishments - 56, // 202: dota.CMsgClientToGCSubmitPlayerMatchSurveyResponse.eresult:type_name -> dota.CMsgClientToGCSubmitPlayerMatchSurveyResponse.EResponse - 8, // 203: dota.CMsgClientToGCUnderDraftResponse.result:type_name -> dota.EUnderDraftResponse - 562, // 204: dota.CMsgClientToGCUnderDraftResponse.draft_data:type_name -> dota.CMsgUnderDraftData - 8, // 205: dota.CMsgClientToGCUnderDraftRerollResponse.result:type_name -> dota.EUnderDraftResponse - 562, // 206: dota.CMsgClientToGCUnderDraftRerollResponse.draft_data:type_name -> dota.CMsgUnderDraftData - 8, // 207: dota.CMsgClientToGCUnderDraftBuyResponse.result:type_name -> dota.EUnderDraftResponse - 562, // 208: dota.CMsgClientToGCUnderDraftBuyResponse.draft_data:type_name -> dota.CMsgUnderDraftData - 8, // 209: dota.CMsgClientToGCUnderDraftRollBackBenchResponse.result:type_name -> dota.EUnderDraftResponse - 562, // 210: dota.CMsgClientToGCUnderDraftRollBackBenchResponse.draft_data:type_name -> dota.CMsgUnderDraftData - 8, // 211: dota.CMsgClientToGCUnderDraftSellResponse.result:type_name -> dota.EUnderDraftResponse - 562, // 212: dota.CMsgClientToGCUnderDraftSellResponse.draft_data:type_name -> dota.CMsgUnderDraftData - 8, // 213: dota.CMsgClientToGCUnderDraftRedeemRewardResponse.result:type_name -> dota.EUnderDraftResponse - 9, // 214: dota.CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse.result:type_name -> dota.EDOTADraftTriviaAnswerResult - 57, // 215: dota.CMsgClientToGCRequestReporterUpdatesResponse.enum_result:type_name -> dota.CMsgClientToGCRequestReporterUpdatesResponse.EResponse - 530, // 216: dota.CMsgClientToGCRequestReporterUpdatesResponse.updates:type_name -> dota.CMsgClientToGCRequestReporterUpdatesResponse.ReporterUpdate - 58, // 217: dota.CMsgClientToGCRecalibrateMMRResponse.result:type_name -> dota.CMsgClientToGCRecalibrateMMRResponse.EResponse - 59, // 218: dota.CMsgClientToGCGetOWMatchDetailsResponse.result:type_name -> dota.CMsgClientToGCGetOWMatchDetailsResponse.EResponse - 531, // 219: dota.CMsgClientToGCGetOWMatchDetailsResponse.markers:type_name -> dota.CMsgClientToGCGetOWMatchDetailsResponse.Marker - 563, // 220: dota.CMsgClientToGCGetOWMatchDetailsResponse.report_reason:type_name -> dota.EOverwatchReportReason - 564, // 221: dota.CMsgClientToGCSubmitOWConviction.cheating_conviction:type_name -> dota.EOverwatchConviction - 564, // 222: dota.CMsgClientToGCSubmitOWConviction.griefing_conviction:type_name -> dota.EOverwatchConviction - 60, // 223: dota.CMsgClientToGCSubmitOWConvictionResponse.result:type_name -> dota.CMsgClientToGCSubmitOWConvictionResponse.EResponse - 61, // 224: dota.CMsgClientToGCGetDPCFavoritesResponse.result:type_name -> dota.CMsgClientToGCGetDPCFavoritesResponse.EResponse - 532, // 225: dota.CMsgClientToGCGetDPCFavoritesResponse.favorites:type_name -> dota.CMsgClientToGCGetDPCFavoritesResponse.Favorite - 565, // 226: dota.CMsgClientToGCSetDPCFavoriteState.favorite_type:type_name -> dota.EDPCFavoriteType - 62, // 227: dota.CMsgClientToGCSetDPCFavoriteStateResponse.result:type_name -> dota.CMsgClientToGCSetDPCFavoriteStateResponse.EResponse - 63, // 228: dota.CMsgClientToGCSetEventActiveSeasonIDResponse.result:type_name -> dota.CMsgClientToGCSetEventActiveSeasonIDResponse.EResponse - 541, // 229: dota.CMsgClientToGCPurchaseLabyrinthBlessings.event_id:type_name -> dota.EEvent - 64, // 230: dota.CMsgClientToGCPurchaseLabyrinthBlessingsResponse.result:type_name -> dota.CMsgClientToGCPurchaseLabyrinthBlessingsResponse.EResponse - 65, // 231: dota.CMsgClientToGCGetStickerbookResponse.response:type_name -> dota.CMsgClientToGCGetStickerbookResponse.EResponse - 566, // 232: dota.CMsgClientToGCGetStickerbookResponse.stickerbook:type_name -> dota.CMsgStickerbook - 541, // 233: dota.CMsgClientToGCCreateStickerbookPageRequest.event_id:type_name -> dota.EEvent - 567, // 234: dota.CMsgClientToGCCreateStickerbookPageRequest.page_type:type_name -> dota.EStickerbookPageType - 66, // 235: dota.CMsgClientToGCCreateStickerbookPageResponse.response:type_name -> dota.CMsgClientToGCCreateStickerbookPageResponse.EResponse - 67, // 236: dota.CMsgClientToGCDeleteStickerbookPageResponse.response:type_name -> dota.CMsgClientToGCDeleteStickerbookPageResponse.EResponse - 533, // 237: dota.CMsgClientToGCPlaceStickersRequest.sticker_items:type_name -> dota.CMsgClientToGCPlaceStickersRequest.StickerItem - 68, // 238: dota.CMsgClientToGCPlaceStickersResponse.response:type_name -> dota.CMsgClientToGCPlaceStickersResponse.EResponse - 534, // 239: dota.CMsgClientToGCPlaceCollectionStickersRequest.slots:type_name -> dota.CMsgClientToGCPlaceCollectionStickersRequest.Slot - 69, // 240: dota.CMsgClientToGCPlaceCollectionStickersResponse.response:type_name -> dota.CMsgClientToGCPlaceCollectionStickersResponse.EResponse - 568, // 241: dota.CMsgClientToGCOrderStickerbookTeamPageRequest.page_order_sequence:type_name -> dota.CMsgStickerbookTeamPageOrderSequence - 70, // 242: dota.CMsgClientToGCOrderStickerbookTeamPageResponse.response:type_name -> dota.CMsgClientToGCOrderStickerbookTeamPageResponse.EResponse - 71, // 243: dota.CMsgClientToGCSetHeroStickerResponse.response:type_name -> dota.CMsgClientToGCSetHeroStickerResponse.EResponse - 72, // 244: dota.CMsgClientToGCGetHeroStickersResponse.response:type_name -> dota.CMsgClientToGCGetHeroStickersResponse.EResponse - 569, // 245: dota.CMsgClientToGCGetHeroStickersResponse.sticker_heroes:type_name -> dota.CMsgStickerHeroes - 73, // 246: dota.CMsgClientToGCSetFavoritePageResponse.response:type_name -> dota.CMsgClientToGCSetFavoritePageResponse.EResponse - 541, // 247: dota.CMsgClientToGCClaimSwag.event_id:type_name -> dota.EEvent - 74, // 248: dota.CMsgClientToGCClaimSwagResponse.response:type_name -> dota.CMsgClientToGCClaimSwagResponse.EResponse - 535, // 249: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.votes:type_name -> dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote - 570, // 250: dota.CMsgClientToGCUploadMatchClip.match_clip:type_name -> dota.CMatchClip - 76, // 251: dota.CMsgGCToClientUploadMatchClipResponse.response:type_name -> dota.CMsgGCToClientUploadMatchClipResponse.EResponse - 77, // 252: dota.CMsgGCToClientMapStatsResponse.response:type_name -> dota.CMsgGCToClientMapStatsResponse.EResponse - 571, // 253: dota.CMsgGCToClientMapStatsResponse.personal_stats:type_name -> dota.CMsgMapStatsSnapshot - 572, // 254: dota.CMsgGCToClientMapStatsResponse.global_stats:type_name -> dota.CMsgGlobalMapStats - 428, // 255: dota.CMsgRoadToTIUserData.quests:type_name -> dota.CMsgRoadToTIAssignedQuest - 78, // 256: dota.CMsgClientToGCRoadToTIGetQuestsResponse.response:type_name -> dota.CMsgClientToGCRoadToTIGetQuestsResponse.EResponse - 429, // 257: dota.CMsgClientToGCRoadToTIGetQuestsResponse.quest_data:type_name -> dota.CMsgRoadToTIUserData - 79, // 258: dota.CMsgClientToGCRoadToTIGetActiveQuestResponse.response:type_name -> dota.CMsgClientToGCRoadToTIGetActiveQuestResponse.EResponse - 428, // 259: dota.CMsgClientToGCRoadToTIGetActiveQuestResponse.quest_data:type_name -> dota.CMsgRoadToTIAssignedQuest - 429, // 260: dota.CMsgGCToClientRoadToTIQuestDataUpdated.quest_data:type_name -> dota.CMsgRoadToTIUserData - 80, // 261: dota.CMsgClientToGCRoadToTIUseItemResponse.response:type_name -> dota.CMsgClientToGCRoadToTIUseItemResponse.EResponse - 428, // 262: dota.CMsgLobbyRoadToTIMatchQuestData.quest_data:type_name -> dota.CMsgRoadToTIAssignedQuest - 573, // 263: dota.CMsgClientToGCNewBloomGiftResponse.result:type_name -> dota.ENewBloomGiftingResponse - 536, // 264: dota.CMsgClientToGCUpdateComicBookStats.stats:type_name -> dota.CMsgClientToGCUpdateComicBookStats.SingleStat - 537, // 265: dota.CMsgClientToGCUpdateComicBookStats.language_stats:type_name -> dota.CMsgClientToGCUpdateComicBookStats.LanguageStats - 538, // 266: dota.CMsgDOTARequestMatchesResponse.Series.matches:type_name -> dota.CMsgDOTAMatch - 122, // 267: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.all_stats:type_name -> dota.CMatchPlayerTimedStatAverages - 122, // 268: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.winning_stats:type_name -> dota.CMatchPlayerTimedStatAverages - 122, // 269: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.losing_stats:type_name -> dota.CMatchPlayerTimedStatAverages - 123, // 270: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.winning_stddevs:type_name -> dota.CMatchPlayerTimedStatStdDeviations - 123, // 271: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.losing_stddevs:type_name -> dota.CMatchPlayerTimedStatStdDeviations - 448, // 272: dota.CMsgGCGetHeroTimedStatsResponse.RankChunkedStats.timed_stats:type_name -> dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer - 574, // 273: dota.CMsgClientToGCSetProfileCardSlots.CardSlot.slot_type:type_name -> dota.EProfileCardSlotType - 3, // 274: dota.CMsgDOTAPartyRichPresence.WeekendTourney.event:type_name -> dota.EWeekendTourneyRichPresenceEvent - 458, // 275: dota.CMsgClientToGCGetQuestProgressResponse.Quest.completed_challenges:type_name -> dota.CMsgClientToGCGetQuestProgressResponse.Challenge - 541, // 276: dota.CMsgEventGoals.EventGoal.event_id:type_name -> dota.EEvent - 461, // 277: dota.CMsgPredictionRankings.Prediction.prediction_lines:type_name -> dota.CMsgPredictionRankings.PredictionLine - 463, // 278: dota.CMsgPredictionResults.Result.result_breakdown:type_name -> dota.CMsgPredictionResults.ResultBreakdown - 555, // 279: dota.CMsgProfileResponse.FeaturedHero.equipped_econ_items:type_name -> dota.CSOEconItem - 555, // 280: dota.CMsgProfileResponse.FeaturedHero.plus_hero_relics_item:type_name -> dota.CSOEconItem - 286, // 281: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.talent_win_rates:type_name -> dota.CMsgTalentWinRates - 287, // 282: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.hero_averages:type_name -> dota.CMsgGlobalHeroAverages - 512, // 283: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.graph_data:type_name -> dota.CMsgHeroGlobalDataResponse.GraphData - 513, // 284: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.week_data:type_name -> dota.CMsgHeroGlobalDataResponse.WeekData - 515, // 285: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.RankedHeroData.hero_data:type_name -> dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.HeroData - 518, // 286: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant.swapped_challenge:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.SwappedChallenge - 520, // 287: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant.treasure_map:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.TreasureMap - 338, // 288: dota.CMsgGCToClientVerifyFavoritePlayersResponse.Result.player:type_name -> dota.CMsgPartySearchPlayer - 565, // 289: dota.CMsgClientToGCGetDPCFavoritesResponse.Favorite.favorite_type:type_name -> dota.EDPCFavoriteType - 575, // 290: dota.CMsgClientToGCPlaceStickersRequest.StickerItem.sticker:type_name -> dota.CMsgStickerbookSticker - 75, // 291: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote.vote_type:type_name -> dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote.EVoteType - 10, // 292: dota.CMsgClientToGCUpdateComicBookStats.SingleStat.stat_type:type_name -> dota.CMsgClientToGCUpdateComicBookStat_Type - 293, // [293:293] is the sub-list for method output_type - 293, // [293:293] is the sub-list for method input_type - 293, // [293:293] is the sub-list for extension type_name - 293, // [293:293] is the sub-list for extension extendee - 0, // [0:293] is the sub-list for field type_name + 546, // 25: dota.CMsgDOTAClaimEventAction.score_mode:type_name -> dota.EEventActionScoreMode + 547, // 26: dota.CMsgClientToGCClaimEventActionUsingItemResponse.action_results:type_name -> dota.CMsgDOTAClaimEventActionResponse + 547, // 27: dota.CMsgGCToClientClaimEventActionUsingItemCompleted.action_results:type_name -> dota.CMsgDOTAClaimEventActionResponse + 453, // 28: dota.CMsgDOTAGetEventPointsResponse.completed_actions:type_name -> dota.CMsgDOTAGetEventPointsResponse.Action + 141, // 29: dota.CMsgDOTAPeriodicResourceUpdated.periodic_resource_key:type_name -> dota.CMsgDOTAGetPeriodicResource + 142, // 30: dota.CMsgDOTAPeriodicResourceUpdated.periodic_resource_value:type_name -> dota.CMsgDOTAGetPeriodicResourceResponse + 144, // 31: dota.CMsgDOTACompendiumData.selections:type_name -> dota.CMsgDOTACompendiumSelection + 148, // 32: dota.CMsgDOTACompendiumDataResponse.compendium_data:type_name -> dota.CMsgDOTACompendiumData + 454, // 33: dota.CMsgDOTAGetPlayerMatchHistoryResponse.matches:type_name -> dota.CMsgDOTAGetPlayerMatchHistoryResponse.Match + 14, // 34: dota.CMsgGCNotificationsUpdate.result:type_name -> dota.CMsgGCNotificationsUpdate.EResult + 154, // 35: dota.CMsgGCNotificationsUpdate.notifications:type_name -> dota.CMsgGCNotifications_Notification + 155, // 36: dota.CMsgGCNotificationsResponse.update:type_name -> dota.CMsgGCNotificationsUpdate + 15, // 37: dota.CMsgGCPlayerInfoSubmitResponse.result:type_name -> dota.CMsgGCPlayerInfoSubmitResponse.EResult + 160, // 38: dota.CMsgGCToClientEmoticonData.emoticon_access:type_name -> dota.CMsgDOTAEmoticonAccessSDO + 455, // 39: dota.CMsgClientToGCGetTrophyListResponse.trophies:type_name -> dota.CMsgClientToGCGetTrophyListResponse.Trophy + 548, // 40: dota.CMsgClientToGCRankRequest.rank_type:type_name -> dota.ERankType + 16, // 41: dota.CMsgGCToClientRankResponse.result:type_name -> dota.CMsgGCToClientRankResponse.EResultCode + 548, // 42: dota.CMsgGCToClientRankUpdate.rank_type:type_name -> dota.ERankType + 172, // 43: dota.CMsgGCToClientRankUpdate.rank_info:type_name -> dota.CMsgGCToClientRankResponse + 456, // 44: dota.CMsgClientToGCSetProfileCardSlots.slots:type_name -> dota.CMsgClientToGCSetProfileCardSlots.CardSlot + 457, // 45: dota.CMsgGCToClientCustomGamesFriendsPlayedResponse.games:type_name -> dota.CMsgGCToClientCustomGamesFriendsPlayedResponse.CustomGame + 549, // 46: dota.CMsgDOTAPartyRichPresence.party_state:type_name -> dota.CSODOTAParty.State + 458, // 47: dota.CMsgDOTAPartyRichPresence.members:type_name -> dota.CMsgDOTAPartyRichPresence.Member + 459, // 48: dota.CMsgDOTAPartyRichPresence.weekend_tourney:type_name -> dota.CMsgDOTAPartyRichPresence.WeekendTourney + 550, // 49: dota.CMsgDOTALobbyRichPresence.lobby_state:type_name -> dota.CSODOTALobby.State + 551, // 50: dota.CMsgDOTALobbyRichPresence.game_mode:type_name -> dota.DOTA_GameMode + 461, // 51: dota.CMsgClientToGCGetQuestProgressResponse.quests:type_name -> dota.CMsgClientToGCGetQuestProgressResponse.Quest + 552, // 52: dota.CMsgGCGetHeroStatsHistoryResponse.records:type_name -> dota.CMsgDOTASDOHeroStatsHistory + 17, // 53: dota.CMsgPlayerConductScorecard.behavior_rating:type_name -> dota.CMsgPlayerConductScorecard.EBehaviorRating + 203, // 54: dota.CMsgGCToClientWageringUpdate.wagering_info:type_name -> dota.CMsgGCToClientWageringResponse + 222, // 55: dota.CMsgGCToClientArcanaVotesUpdate.arcana_votes:type_name -> dota.CMsgClientToGCRequestArcanaVotesRemainingResponse + 543, // 56: dota.CMsgClientToGCGetEventGoals.event_ids:type_name -> dota.EEvent + 462, // 57: dota.CMsgEventGoals.event_goals:type_name -> dota.CMsgEventGoals.EventGoal + 464, // 58: dota.CMsgPredictionRankings.predictions:type_name -> dota.CMsgPredictionRankings.Prediction + 466, // 59: dota.CMsgPredictionResults.results:type_name -> dota.CMsgPredictionResults.Result + 467, // 60: dota.CMsgClientToGCTeammateStatsResponse.teammate_stats:type_name -> dota.CMsgClientToGCTeammateStatsResponse.TeammateStat + 553, // 61: dota.CMsgClientToGCVoteForArcana.matches:type_name -> dota.CMsgArcanaVoteMatchVotes + 18, // 62: dota.CMsgClientToGCVoteForArcanaResponse.result:type_name -> dota.CMsgClientToGCVoteForArcanaResponse.Result + 553, // 63: dota.CMsgClientToGCRequestArcanaVotesRemainingResponse.matches_previously_voted_for:type_name -> dota.CMsgArcanaVoteMatchVotes + 543, // 64: dota.CMsgClientToGCRequestEventPointLogResponseV2.event_id:type_name -> dota.EEvent + 468, // 65: dota.CMsgClientToGCRequestEventPointLogResponseV2.log_entries:type_name -> dota.CMsgClientToGCRequestEventPointLogResponseV2.LogEntry + 543, // 66: dota.CMsgClientToGCRequestSlarkGameResult.event_id:type_name -> dota.EEvent + 469, // 67: dota.CMsgGCToClientQuestProgressUpdated.completed_challenges:type_name -> dota.CMsgGCToClientQuestProgressUpdated.Challenge + 19, // 68: dota.CMsgDOTARedeemItemResponse.response:type_name -> dota.CMsgDOTARedeemItemResponse.EResultCode + 470, // 69: dota.CMsgClientToGCSelectCompendiumInGamePrediction.predictions:type_name -> dota.CMsgClientToGCSelectCompendiumInGamePrediction.Prediction + 20, // 70: dota.CMsgClientToGCSelectCompendiumInGamePredictionResponse.result:type_name -> dota.CMsgClientToGCSelectCompendiumInGamePredictionResponse.EResult + 554, // 71: dota.CMsgClientToGCOpenPlayerCardPack.region:type_name -> dota.ELeagueRegion + 21, // 72: dota.CMsgClientToGCOpenPlayerCardPackResponse.result:type_name -> dota.CMsgClientToGCOpenPlayerCardPackResponse.Result + 22, // 73: dota.CMsgClientToGCRecyclePlayerCardResponse.result:type_name -> dota.CMsgClientToGCRecyclePlayerCardResponse.Result + 23, // 74: dota.CMsgClientToGCCreatePlayerCardPackResponse.result:type_name -> dota.CMsgClientToGCCreatePlayerCardPackResponse.Result + 24, // 75: dota.CMsgClientToGCCreateTeamPlayerCardPackResponse.result:type_name -> dota.CMsgClientToGCCreateTeamPlayerCardPackResponse.Result + 471, // 76: dota.CMsgGCToClientBattlePassRollup_International2016.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Questlines + 472, // 77: dota.CMsgGCToClientBattlePassRollup_International2016.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Wagering + 473, // 78: dota.CMsgGCToClientBattlePassRollup_International2016.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Achievements + 474, // 79: dota.CMsgGCToClientBattlePassRollup_International2016.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.BattleCup + 475, // 80: dota.CMsgGCToClientBattlePassRollup_International2016.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Predictions + 476, // 81: dota.CMsgGCToClientBattlePassRollup_International2016.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.Bracket + 477, // 82: dota.CMsgGCToClientBattlePassRollup_International2016.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.PlayerCard + 478, // 83: dota.CMsgGCToClientBattlePassRollup_International2016.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016.FantasyChallenge + 479, // 84: dota.CMsgGCToClientBattlePassRollup_Fall2016.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Questlines + 480, // 85: dota.CMsgGCToClientBattlePassRollup_Fall2016.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Wagering + 481, // 86: dota.CMsgGCToClientBattlePassRollup_Fall2016.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Achievements + 482, // 87: dota.CMsgGCToClientBattlePassRollup_Fall2016.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.BattleCup + 483, // 88: dota.CMsgGCToClientBattlePassRollup_Fall2016.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Predictions + 484, // 89: dota.CMsgGCToClientBattlePassRollup_Fall2016.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.Bracket + 485, // 90: dota.CMsgGCToClientBattlePassRollup_Fall2016.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.PlayerCard + 486, // 91: dota.CMsgGCToClientBattlePassRollup_Fall2016.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016.FantasyChallenge + 487, // 92: dota.CMsgGCToClientBattlePassRollup_Winter2017.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Questlines + 488, // 93: dota.CMsgGCToClientBattlePassRollup_Winter2017.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Wagering + 489, // 94: dota.CMsgGCToClientBattlePassRollup_Winter2017.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Achievements + 490, // 95: dota.CMsgGCToClientBattlePassRollup_Winter2017.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.BattleCup + 491, // 96: dota.CMsgGCToClientBattlePassRollup_Winter2017.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Predictions + 492, // 97: dota.CMsgGCToClientBattlePassRollup_Winter2017.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.Bracket + 493, // 98: dota.CMsgGCToClientBattlePassRollup_Winter2017.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.PlayerCard + 494, // 99: dota.CMsgGCToClientBattlePassRollup_Winter2017.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017.FantasyChallenge + 495, // 100: dota.CMsgGCToClientBattlePassRollup_TI7.questlines:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Questlines + 496, // 101: dota.CMsgGCToClientBattlePassRollup_TI7.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Wagering + 497, // 102: dota.CMsgGCToClientBattlePassRollup_TI7.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Achievements + 498, // 103: dota.CMsgGCToClientBattlePassRollup_TI7.battle_cup:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.BattleCup + 499, // 104: dota.CMsgGCToClientBattlePassRollup_TI7.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Predictions + 500, // 105: dota.CMsgGCToClientBattlePassRollup_TI7.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.Bracket + 501, // 106: dota.CMsgGCToClientBattlePassRollup_TI7.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.PlayerCard + 502, // 107: dota.CMsgGCToClientBattlePassRollup_TI7.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7.FantasyChallenge + 503, // 108: dota.CMsgGCToClientBattlePassRollup_TI8.cavern_crawl:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.CavernCrawl + 504, // 109: dota.CMsgGCToClientBattlePassRollup_TI8.wagering:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Wagering + 505, // 110: dota.CMsgGCToClientBattlePassRollup_TI8.achievements:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Achievements + 506, // 111: dota.CMsgGCToClientBattlePassRollup_TI8.predictions:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Predictions + 507, // 112: dota.CMsgGCToClientBattlePassRollup_TI8.bracket:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.Bracket + 508, // 113: dota.CMsgGCToClientBattlePassRollup_TI8.player_cards:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.PlayerCard + 509, // 114: dota.CMsgGCToClientBattlePassRollup_TI8.fantasy_challenge:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8.FantasyChallenge + 241, // 115: dota.CMsgGCToClientBattlePassRollupResponse.event_ti6:type_name -> dota.CMsgGCToClientBattlePassRollup_International2016 + 242, // 116: dota.CMsgGCToClientBattlePassRollupResponse.event_fall2016:type_name -> dota.CMsgGCToClientBattlePassRollup_Fall2016 + 243, // 117: dota.CMsgGCToClientBattlePassRollupResponse.event_winter2017:type_name -> dota.CMsgGCToClientBattlePassRollup_Winter2017 + 244, // 118: dota.CMsgGCToClientBattlePassRollupResponse.event_ti7:type_name -> dota.CMsgGCToClientBattlePassRollup_TI7 + 245, // 119: dota.CMsgGCToClientBattlePassRollupResponse.event_ti8:type_name -> dota.CMsgGCToClientBattlePassRollup_TI8 + 246, // 120: dota.CMsgGCToClientBattlePassRollupResponse.event_ti9:type_name -> dota.CMsgGCToClientBattlePassRollup_TI9 + 247, // 121: dota.CMsgGCToClientBattlePassRollupResponse.event_ti10:type_name -> dota.CMsgGCToClientBattlePassRollup_TI10 + 510, // 122: dota.CMsgGCToClientBattlePassRollupListResponse.event_info:type_name -> dota.CMsgGCToClientBattlePassRollupListResponse.EventInfo + 555, // 123: dota.CMsgDOTATriviaCurrentQuestions.questions:type_name -> dota.CMsgDOTATriviaQuestion + 4, // 124: dota.CMsgDOTASubmitTriviaQuestionAnswerResponse.result:type_name -> dota.EDOTATriviaAnswerResult + 25, // 125: dota.CMsgDOTAAnchorPhoneNumberResponse.result:type_name -> dota.CMsgDOTAAnchorPhoneNumberResponse.Result + 26, // 126: dota.CMsgDOTAUnanchorPhoneNumberResponse.result:type_name -> dota.CMsgDOTAUnanchorPhoneNumberResponse.Result + 268, // 127: dota.CMsgDOTAClientToGCQuickStatsResponse.original_request:type_name -> dota.CMsgDOTAClientToGCQuickStatsRequest + 511, // 128: dota.CMsgDOTAClientToGCQuickStatsResponse.hero_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats + 511, // 129: dota.CMsgDOTAClientToGCQuickStatsResponse.item_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats + 511, // 130: dota.CMsgDOTAClientToGCQuickStatsResponse.item_hero_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats + 511, // 131: dota.CMsgDOTAClientToGCQuickStatsResponse.item_player_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats + 511, // 132: dota.CMsgDOTAClientToGCQuickStatsResponse.hero_player_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats + 511, // 133: dota.CMsgDOTAClientToGCQuickStatsResponse.full_set_stats:type_name -> dota.CMsgDOTAClientToGCQuickStatsResponse.SimpleStats + 556, // 134: dota.CMsgDOTASelectionPriorityChoiceRequest.choice:type_name -> dota.DOTASelectionPriorityChoice + 27, // 135: dota.CMsgDOTASelectionPriorityChoiceResponse.result:type_name -> dota.CMsgDOTASelectionPriorityChoiceResponse.Result + 28, // 136: dota.CMsgDOTAGameAutographRewardResponse.result:type_name -> dota.CMsgDOTAGameAutographRewardResponse.Result + 29, // 137: dota.CMsgDOTADestroyLobbyResponse.result:type_name -> dota.CMsgDOTADestroyLobbyResponse.Result + 543, // 138: dota.CMsgPurchaseItemWithEventPoints.event_id:type_name -> dota.EEvent + 30, // 139: dota.CMsgPurchaseItemWithEventPointsResponse.result:type_name -> dota.CMsgPurchaseItemWithEventPointsResponse.Result + 557, // 140: dota.CMsgPurchaseHeroRandomRelic.relic_rarity:type_name -> dota.EHeroRelicRarity + 5, // 141: dota.CMsgPurchaseHeroRandomRelicResponse.result:type_name -> dota.EPurchaseHeroRelicResult + 543, // 142: dota.CMsgClientToGCRequestPlusWeeklyChallengeResult.event_id:type_name -> dota.EEvent + 558, // 143: dota.CMsgProfileResponse.background_item:type_name -> dota.CSOEconItem + 512, // 144: dota.CMsgProfileResponse.featured_heroes:type_name -> dota.CMsgProfileResponse.FeaturedHero + 513, // 145: dota.CMsgProfileResponse.recent_matches:type_name -> dota.CMsgProfileResponse.MatchInfo + 559, // 146: dota.CMsgProfileResponse.successful_heroes:type_name -> dota.CMsgSuccessfulHero + 560, // 147: dota.CMsgProfileResponse.recent_match_details:type_name -> dota.CMsgRecentMatchInfo + 31, // 148: dota.CMsgProfileResponse.result:type_name -> dota.CMsgProfileResponse.EResponse + 561, // 149: dota.CMsgProfileResponse.stickerbook_page:type_name -> dota.CMsgStickerbookPage + 32, // 150: dota.CMsgProfileUpdateResponse.result:type_name -> dota.CMsgProfileUpdateResponse.Result + 516, // 151: dota.CMsgHeroGlobalDataResponse.hero_data_per_chunk:type_name -> dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk + 291, // 152: dota.CMsgHeroGlobalDataAllHeroes.heroes:type_name -> dota.CMsgHeroGlobalDataResponse + 518, // 153: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.ranked_hero_data:type_name -> dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.RankedHeroData + 33, // 154: dota.CMsgActivatePlusFreeTrialResponse.result:type_name -> dota.CMsgActivatePlusFreeTrialResponse.Result + 519, // 155: dota.CMsgGCToClientCavernCrawlMapPathCompleted.completed_paths:type_name -> dota.CMsgGCToClientCavernCrawlMapPathCompleted.CompletedPathInfo + 34, // 156: dota.CMsgClientToGCCavernCrawlClaimRoomResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlClaimRoomResponse.Result + 35, // 157: dota.CMsgClientToGCCavernCrawlUseItemOnRoomResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlUseItemOnRoomResponse.Result + 36, // 158: dota.CMsgClientToGCCavernCrawlUseItemOnPathResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlUseItemOnPathResponse.Result + 37, // 159: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.Result + 521, // 160: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.inventory_item:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.InventoryItem + 523, // 161: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.map_variants:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant + 38, // 162: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.result:type_name -> dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.Result + 524, // 163: dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.map_variants:type_name -> dota.CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.MapVariant + 525, // 164: dota.CMsgDOTAMutationList.mutations:type_name -> dota.CMsgDOTAMutationList.Mutation + 543, // 165: dota.CMsgEventTipsSummaryRequest.event_id:type_name -> dota.EEvent + 526, // 166: dota.CMsgEventTipsSummaryResponse.tips_received:type_name -> dota.CMsgEventTipsSummaryResponse.Tipper + 39, // 167: dota.CMsgSocialFeedResponse.result:type_name -> dota.CMsgSocialFeedResponse.Result + 527, // 168: dota.CMsgSocialFeedResponse.feed_events:type_name -> dota.CMsgSocialFeedResponse.FeedEvent + 40, // 169: dota.CMsgSocialFeedCommentsResponse.result:type_name -> dota.CMsgSocialFeedCommentsResponse.Result + 528, // 170: dota.CMsgSocialFeedCommentsResponse.feed_comments:type_name -> dota.CMsgSocialFeedCommentsResponse.FeedComment + 41, // 171: dota.CMsgClientToGCPlayerCardSpecificPurchaseResponse.result:type_name -> dota.CMsgClientToGCPlayerCardSpecificPurchaseResponse.Result + 42, // 172: dota.CMsgClientToGCRequestContestVotesResponse.result:type_name -> dota.CMsgClientToGCRequestContestVotesResponse.EResponse + 529, // 173: dota.CMsgClientToGCRequestContestVotesResponse.votes:type_name -> dota.CMsgClientToGCRequestContestVotesResponse.ItemVote + 43, // 174: dota.CMsgGCToClientRecordContestVoteResponse.eresult:type_name -> dota.CMsgGCToClientRecordContestVoteResponse.EResult + 543, // 175: dota.CMsgDevGrantEventPoints.event_id:type_name -> dota.EEvent + 6, // 176: dota.CMsgDevGrantEventPointsResponse.result:type_name -> dota.EDevEventRequestResult + 543, // 177: dota.CMsgDevGrantEventAction.event_id:type_name -> dota.EEvent + 6, // 178: dota.CMsgDevGrantEventActionResponse.result:type_name -> dota.EDevEventRequestResult + 543, // 179: dota.CMsgDevDeleteEventActions.event_id:type_name -> dota.EEvent + 6, // 180: dota.CMsgDevDeleteEventActionsResponse.result:type_name -> dota.EDevEventRequestResult + 543, // 181: dota.CMsgDevResetEventState.event_id:type_name -> dota.EEvent + 6, // 182: dota.CMsgDevResetEventStateResponse.result:type_name -> dota.EDevEventRequestResult + 7, // 183: dota.CMsgConsumeEventSupportGrantItemResponse.result:type_name -> dota.ESupportEventRequestResult + 44, // 184: dota.CMsgGCToClientGetFilteredPlayersResponse.result:type_name -> dota.CMsgGCToClientGetFilteredPlayersResponse.Result + 530, // 185: dota.CMsgGCToClientGetFilteredPlayersResponse.filtered_players:type_name -> dota.CMsgGCToClientGetFilteredPlayersResponse.CFilterEntry + 45, // 186: dota.CMsgGCToClientRemoveFilteredPlayerResponse.result:type_name -> dota.CMsgGCToClientRemoveFilteredPlayerResponse.Result + 46, // 187: dota.CMsgGCToClientPurchaseFilteredPlayerSlotResponse.result:type_name -> dota.CMsgGCToClientPurchaseFilteredPlayerSlotResponse.Result + 47, // 188: dota.CMsgGCToClientUpdateFilteredPlayerNoteResponse.result:type_name -> dota.CMsgGCToClientUpdateFilteredPlayerNoteResponse.Result + 48, // 189: dota.CMsgClientToGCUpdatePartyBeacon.action:type_name -> dota.CMsgClientToGCUpdatePartyBeacon.Action + 49, // 190: dota.CMsgGCToClientRequestActiveBeaconPartiesResponse.response:type_name -> dota.CMsgGCToClientRequestActiveBeaconPartiesResponse.EResponse + 562, // 191: dota.CMsgGCToClientRequestActiveBeaconPartiesResponse.active_parties:type_name -> dota.CPartySearchClientParty + 50, // 192: dota.CMsgGCToClientJoinPartyFromBeaconResponse.response:type_name -> dota.CMsgGCToClientJoinPartyFromBeaconResponse.EResponse + 51, // 193: dota.CMsgClientToGCManageFavorites.action:type_name -> dota.CMsgClientToGCManageFavorites.Action + 52, // 194: dota.CMsgGCToClientManageFavoritesResponse.response:type_name -> dota.CMsgGCToClientManageFavoritesResponse.EResponse + 340, // 195: dota.CMsgGCToClientManageFavoritesResponse.player:type_name -> dota.CMsgPartySearchPlayer + 53, // 196: dota.CMsgGCToClientGetFavoritePlayersResponse.response:type_name -> dota.CMsgGCToClientGetFavoritePlayersResponse.EResponse + 340, // 197: dota.CMsgGCToClientGetFavoritePlayersResponse.players:type_name -> dota.CMsgPartySearchPlayer + 531, // 198: dota.CMsgGCToClientVerifyFavoritePlayersResponse.results:type_name -> dota.CMsgGCToClientVerifyFavoritePlayersResponse.Result + 54, // 199: dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.result:type_name -> dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.EResponse + 563, // 200: dota.CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.player_accomplishments:type_name -> dota.CMsgPlayerRecentAccomplishments + 55, // 201: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.result:type_name -> dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.EResponse + 564, // 202: dota.CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.hero_accomplishments:type_name -> dota.CMsgPlayerHeroRecentAccomplishments + 56, // 203: dota.CMsgClientToGCSubmitPlayerMatchSurveyResponse.eresult:type_name -> dota.CMsgClientToGCSubmitPlayerMatchSurveyResponse.EResponse + 8, // 204: dota.CMsgClientToGCUnderDraftResponse.result:type_name -> dota.EUnderDraftResponse + 565, // 205: dota.CMsgClientToGCUnderDraftResponse.draft_data:type_name -> dota.CMsgUnderDraftData + 8, // 206: dota.CMsgClientToGCUnderDraftRerollResponse.result:type_name -> dota.EUnderDraftResponse + 565, // 207: dota.CMsgClientToGCUnderDraftRerollResponse.draft_data:type_name -> dota.CMsgUnderDraftData + 8, // 208: dota.CMsgClientToGCUnderDraftBuyResponse.result:type_name -> dota.EUnderDraftResponse + 565, // 209: dota.CMsgClientToGCUnderDraftBuyResponse.draft_data:type_name -> dota.CMsgUnderDraftData + 8, // 210: dota.CMsgClientToGCUnderDraftRollBackBenchResponse.result:type_name -> dota.EUnderDraftResponse + 565, // 211: dota.CMsgClientToGCUnderDraftRollBackBenchResponse.draft_data:type_name -> dota.CMsgUnderDraftData + 8, // 212: dota.CMsgClientToGCUnderDraftSellResponse.result:type_name -> dota.EUnderDraftResponse + 565, // 213: dota.CMsgClientToGCUnderDraftSellResponse.draft_data:type_name -> dota.CMsgUnderDraftData + 8, // 214: dota.CMsgClientToGCUnderDraftRedeemRewardResponse.result:type_name -> dota.EUnderDraftResponse + 9, // 215: dota.CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse.result:type_name -> dota.EDOTADraftTriviaAnswerResult + 57, // 216: dota.CMsgClientToGCRequestReporterUpdatesResponse.enum_result:type_name -> dota.CMsgClientToGCRequestReporterUpdatesResponse.EResponse + 532, // 217: dota.CMsgClientToGCRequestReporterUpdatesResponse.updates:type_name -> dota.CMsgClientToGCRequestReporterUpdatesResponse.ReporterUpdate + 58, // 218: dota.CMsgClientToGCRecalibrateMMRResponse.result:type_name -> dota.CMsgClientToGCRecalibrateMMRResponse.EResponse + 59, // 219: dota.CMsgClientToGCGetOWMatchDetailsResponse.result:type_name -> dota.CMsgClientToGCGetOWMatchDetailsResponse.EResponse + 533, // 220: dota.CMsgClientToGCGetOWMatchDetailsResponse.markers:type_name -> dota.CMsgClientToGCGetOWMatchDetailsResponse.Marker + 566, // 221: dota.CMsgClientToGCGetOWMatchDetailsResponse.report_reason:type_name -> dota.EOverwatchReportReason + 567, // 222: dota.CMsgClientToGCSubmitOWConviction.cheating_conviction:type_name -> dota.EOverwatchConviction + 567, // 223: dota.CMsgClientToGCSubmitOWConviction.griefing_conviction:type_name -> dota.EOverwatchConviction + 60, // 224: dota.CMsgClientToGCSubmitOWConvictionResponse.result:type_name -> dota.CMsgClientToGCSubmitOWConvictionResponse.EResponse + 61, // 225: dota.CMsgClientToGCGetDPCFavoritesResponse.result:type_name -> dota.CMsgClientToGCGetDPCFavoritesResponse.EResponse + 534, // 226: dota.CMsgClientToGCGetDPCFavoritesResponse.favorites:type_name -> dota.CMsgClientToGCGetDPCFavoritesResponse.Favorite + 568, // 227: dota.CMsgClientToGCSetDPCFavoriteState.favorite_type:type_name -> dota.EDPCFavoriteType + 62, // 228: dota.CMsgClientToGCSetDPCFavoriteStateResponse.result:type_name -> dota.CMsgClientToGCSetDPCFavoriteStateResponse.EResponse + 63, // 229: dota.CMsgClientToGCSetEventActiveSeasonIDResponse.result:type_name -> dota.CMsgClientToGCSetEventActiveSeasonIDResponse.EResponse + 543, // 230: dota.CMsgClientToGCPurchaseLabyrinthBlessings.event_id:type_name -> dota.EEvent + 64, // 231: dota.CMsgClientToGCPurchaseLabyrinthBlessingsResponse.result:type_name -> dota.CMsgClientToGCPurchaseLabyrinthBlessingsResponse.EResponse + 65, // 232: dota.CMsgClientToGCGetStickerbookResponse.response:type_name -> dota.CMsgClientToGCGetStickerbookResponse.EResponse + 569, // 233: dota.CMsgClientToGCGetStickerbookResponse.stickerbook:type_name -> dota.CMsgStickerbook + 543, // 234: dota.CMsgClientToGCCreateStickerbookPageRequest.event_id:type_name -> dota.EEvent + 570, // 235: dota.CMsgClientToGCCreateStickerbookPageRequest.page_type:type_name -> dota.EStickerbookPageType + 66, // 236: dota.CMsgClientToGCCreateStickerbookPageResponse.response:type_name -> dota.CMsgClientToGCCreateStickerbookPageResponse.EResponse + 67, // 237: dota.CMsgClientToGCDeleteStickerbookPageResponse.response:type_name -> dota.CMsgClientToGCDeleteStickerbookPageResponse.EResponse + 535, // 238: dota.CMsgClientToGCPlaceStickersRequest.sticker_items:type_name -> dota.CMsgClientToGCPlaceStickersRequest.StickerItem + 68, // 239: dota.CMsgClientToGCPlaceStickersResponse.response:type_name -> dota.CMsgClientToGCPlaceStickersResponse.EResponse + 536, // 240: dota.CMsgClientToGCPlaceCollectionStickersRequest.slots:type_name -> dota.CMsgClientToGCPlaceCollectionStickersRequest.Slot + 69, // 241: dota.CMsgClientToGCPlaceCollectionStickersResponse.response:type_name -> dota.CMsgClientToGCPlaceCollectionStickersResponse.EResponse + 571, // 242: dota.CMsgClientToGCOrderStickerbookTeamPageRequest.page_order_sequence:type_name -> dota.CMsgStickerbookTeamPageOrderSequence + 70, // 243: dota.CMsgClientToGCOrderStickerbookTeamPageResponse.response:type_name -> dota.CMsgClientToGCOrderStickerbookTeamPageResponse.EResponse + 71, // 244: dota.CMsgClientToGCSetHeroStickerResponse.response:type_name -> dota.CMsgClientToGCSetHeroStickerResponse.EResponse + 72, // 245: dota.CMsgClientToGCGetHeroStickersResponse.response:type_name -> dota.CMsgClientToGCGetHeroStickersResponse.EResponse + 572, // 246: dota.CMsgClientToGCGetHeroStickersResponse.sticker_heroes:type_name -> dota.CMsgStickerHeroes + 73, // 247: dota.CMsgClientToGCSetFavoritePageResponse.response:type_name -> dota.CMsgClientToGCSetFavoritePageResponse.EResponse + 543, // 248: dota.CMsgClientToGCClaimSwag.event_id:type_name -> dota.EEvent + 74, // 249: dota.CMsgClientToGCClaimSwagResponse.response:type_name -> dota.CMsgClientToGCClaimSwagResponse.EResponse + 537, // 250: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.votes:type_name -> dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote + 573, // 251: dota.CMsgClientToGCUploadMatchClip.match_clip:type_name -> dota.CMatchClip + 76, // 252: dota.CMsgGCToClientUploadMatchClipResponse.response:type_name -> dota.CMsgGCToClientUploadMatchClipResponse.EResponse + 77, // 253: dota.CMsgGCToClientMapStatsResponse.response:type_name -> dota.CMsgGCToClientMapStatsResponse.EResponse + 574, // 254: dota.CMsgGCToClientMapStatsResponse.personal_stats:type_name -> dota.CMsgMapStatsSnapshot + 575, // 255: dota.CMsgGCToClientMapStatsResponse.global_stats:type_name -> dota.CMsgGlobalMapStats + 430, // 256: dota.CMsgRoadToTIUserData.quests:type_name -> dota.CMsgRoadToTIAssignedQuest + 78, // 257: dota.CMsgClientToGCRoadToTIGetQuestsResponse.response:type_name -> dota.CMsgClientToGCRoadToTIGetQuestsResponse.EResponse + 431, // 258: dota.CMsgClientToGCRoadToTIGetQuestsResponse.quest_data:type_name -> dota.CMsgRoadToTIUserData + 79, // 259: dota.CMsgClientToGCRoadToTIGetActiveQuestResponse.response:type_name -> dota.CMsgClientToGCRoadToTIGetActiveQuestResponse.EResponse + 430, // 260: dota.CMsgClientToGCRoadToTIGetActiveQuestResponse.quest_data:type_name -> dota.CMsgRoadToTIAssignedQuest + 431, // 261: dota.CMsgGCToClientRoadToTIQuestDataUpdated.quest_data:type_name -> dota.CMsgRoadToTIUserData + 80, // 262: dota.CMsgClientToGCRoadToTIUseItemResponse.response:type_name -> dota.CMsgClientToGCRoadToTIUseItemResponse.EResponse + 430, // 263: dota.CMsgLobbyRoadToTIMatchQuestData.quest_data:type_name -> dota.CMsgRoadToTIAssignedQuest + 576, // 264: dota.CMsgClientToGCNewBloomGiftResponse.result:type_name -> dota.ENewBloomGiftingResponse + 538, // 265: dota.CMsgClientToGCUpdateComicBookStats.stats:type_name -> dota.CMsgClientToGCUpdateComicBookStats.SingleStat + 539, // 266: dota.CMsgClientToGCUpdateComicBookStats.language_stats:type_name -> dota.CMsgClientToGCUpdateComicBookStats.LanguageStats + 540, // 267: dota.CMsgDOTARequestMatchesResponse.Series.matches:type_name -> dota.CMsgDOTAMatch + 122, // 268: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.all_stats:type_name -> dota.CMatchPlayerTimedStatAverages + 122, // 269: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.winning_stats:type_name -> dota.CMatchPlayerTimedStatAverages + 122, // 270: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.losing_stats:type_name -> dota.CMatchPlayerTimedStatAverages + 123, // 271: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.winning_stddevs:type_name -> dota.CMatchPlayerTimedStatStdDeviations + 123, // 272: dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer.losing_stddevs:type_name -> dota.CMatchPlayerTimedStatStdDeviations + 450, // 273: dota.CMsgGCGetHeroTimedStatsResponse.RankChunkedStats.timed_stats:type_name -> dota.CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer + 577, // 274: dota.CMsgClientToGCSetProfileCardSlots.CardSlot.slot_type:type_name -> dota.EProfileCardSlotType + 3, // 275: dota.CMsgDOTAPartyRichPresence.WeekendTourney.event:type_name -> dota.EWeekendTourneyRichPresenceEvent + 460, // 276: dota.CMsgClientToGCGetQuestProgressResponse.Quest.completed_challenges:type_name -> dota.CMsgClientToGCGetQuestProgressResponse.Challenge + 543, // 277: dota.CMsgEventGoals.EventGoal.event_id:type_name -> dota.EEvent + 463, // 278: dota.CMsgPredictionRankings.Prediction.prediction_lines:type_name -> dota.CMsgPredictionRankings.PredictionLine + 465, // 279: dota.CMsgPredictionResults.Result.result_breakdown:type_name -> dota.CMsgPredictionResults.ResultBreakdown + 558, // 280: dota.CMsgProfileResponse.FeaturedHero.equipped_econ_items:type_name -> dota.CSOEconItem + 558, // 281: dota.CMsgProfileResponse.FeaturedHero.plus_hero_relics_item:type_name -> dota.CSOEconItem + 288, // 282: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.talent_win_rates:type_name -> dota.CMsgTalentWinRates + 289, // 283: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.hero_averages:type_name -> dota.CMsgGlobalHeroAverages + 514, // 284: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.graph_data:type_name -> dota.CMsgHeroGlobalDataResponse.GraphData + 515, // 285: dota.CMsgHeroGlobalDataResponse.HeroDataPerRankChunk.week_data:type_name -> dota.CMsgHeroGlobalDataResponse.WeekData + 517, // 286: dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.RankedHeroData.hero_data:type_name -> dota.CMsgHeroGlobalDataHeroesAlliesAndEnemies.HeroData + 520, // 287: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant.swapped_challenge:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.SwappedChallenge + 522, // 288: dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant.treasure_map:type_name -> dota.CMsgClientToGCCavernCrawlRequestMapStateResponse.TreasureMap + 340, // 289: dota.CMsgGCToClientVerifyFavoritePlayersResponse.Result.player:type_name -> dota.CMsgPartySearchPlayer + 568, // 290: dota.CMsgClientToGCGetDPCFavoritesResponse.Favorite.favorite_type:type_name -> dota.EDPCFavoriteType + 578, // 291: dota.CMsgClientToGCPlaceStickersRequest.StickerItem.sticker:type_name -> dota.CMsgStickerbookSticker + 75, // 292: dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote.vote_type:type_name -> dota.CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote.EVoteType + 10, // 293: dota.CMsgClientToGCUpdateComicBookStats.SingleStat.stat_type:type_name -> dota.CMsgClientToGCUpdateComicBookStat_Type + 294, // [294:294] is the sub-list for method output_type + 294, // [294:294] is the sub-list for method input_type + 294, // [294:294] is the sub-list for extension type_name + 294, // [294:294] is the sub-list for extension extendee + 0, // [0:294] is the sub-list for field type_name } func init() { file_dota_gcmessages_client_proto_init() } @@ -39819,7 +39938,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTACompendiumData); i { + switch v := v.(*CMsgDOTACompendiumRemoveAllSelections); i { case 0: return &v.state case 1: @@ -39831,7 +39950,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTACompendiumDataRequest); i { + switch v := v.(*CMsgDOTACompendiumRemoveAllSelectionsResponse); i { case 0: return &v.state case 1: @@ -39843,7 +39962,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTACompendiumDataResponse); i { + switch v := v.(*CMsgDOTACompendiumData); i { case 0: return &v.state case 1: @@ -39855,7 +39974,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAGetPlayerMatchHistory); i { + switch v := v.(*CMsgDOTACompendiumDataRequest); i { case 0: return &v.state case 1: @@ -39867,7 +39986,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAGetPlayerMatchHistoryResponse); i { + switch v := v.(*CMsgDOTACompendiumDataResponse); i { case 0: return &v.state case 1: @@ -39879,7 +39998,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCNotificationsRequest); i { + switch v := v.(*CMsgDOTAGetPlayerMatchHistory); i { case 0: return &v.state case 1: @@ -39891,7 +40010,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCNotifications_Notification); i { + switch v := v.(*CMsgDOTAGetPlayerMatchHistoryResponse); i { case 0: return &v.state case 1: @@ -39903,7 +40022,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCNotificationsUpdate); i { + switch v := v.(*CMsgGCNotificationsRequest); i { case 0: return &v.state case 1: @@ -39915,7 +40034,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCNotificationsResponse); i { + switch v := v.(*CMsgGCNotifications_Notification); i { case 0: return &v.state case 1: @@ -39927,7 +40046,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCNotificationsMarkReadRequest); i { + switch v := v.(*CMsgGCNotificationsUpdate); i { case 0: return &v.state case 1: @@ -39939,7 +40058,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCPlayerInfoSubmit); i { + switch v := v.(*CMsgGCNotificationsResponse); i { case 0: return &v.state case 1: @@ -39951,7 +40070,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCPlayerInfoSubmitResponse); i { + switch v := v.(*CMsgGCNotificationsMarkReadRequest); i { case 0: return &v.state case 1: @@ -39963,7 +40082,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAEmoticonAccessSDO); i { + switch v := v.(*CMsgGCPlayerInfoSubmit); i { case 0: return &v.state case 1: @@ -39975,7 +40094,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCEmoticonDataRequest); i { + switch v := v.(*CMsgGCPlayerInfoSubmitResponse); i { case 0: return &v.state case 1: @@ -39987,7 +40106,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientEmoticonData); i { + switch v := v.(*CMsgDOTAEmoticonAccessSDO); i { case 0: return &v.state case 1: @@ -39999,7 +40118,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientTournamentItemDrop); i { + switch v := v.(*CMsgClientToGCEmoticonDataRequest); i { case 0: return &v.state case 1: @@ -40011,7 +40130,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetAllHeroOrder); i { + switch v := v.(*CMsgGCToClientEmoticonData); i { case 0: return &v.state case 1: @@ -40023,7 +40142,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetAllHeroOrderResponse); i { + switch v := v.(*CMsgGCToClientTournamentItemDrop); i { case 0: return &v.state case 1: @@ -40035,7 +40154,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetAllHeroProgress); i { + switch v := v.(*CMsgClientToGCGetAllHeroOrder); i { case 0: return &v.state case 1: @@ -40047,7 +40166,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetAllHeroProgressResponse); i { + switch v := v.(*CMsgClientToGCGetAllHeroOrderResponse); i { case 0: return &v.state case 1: @@ -40059,7 +40178,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetTrophyList); i { + switch v := v.(*CMsgClientToGCGetAllHeroProgress); i { case 0: return &v.state case 1: @@ -40071,7 +40190,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetTrophyListResponse); i { + switch v := v.(*CMsgClientToGCGetAllHeroProgressResponse); i { case 0: return &v.state case 1: @@ -40083,7 +40202,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientTrophyAwarded); i { + switch v := v.(*CMsgClientToGCGetTrophyList); i { case 0: return &v.state case 1: @@ -40095,7 +40214,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRankRequest); i { + switch v := v.(*CMsgClientToGCGetTrophyListResponse); i { case 0: return &v.state case 1: @@ -40107,7 +40226,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientRankResponse); i { + switch v := v.(*CMsgGCToClientTrophyAwarded); i { case 0: return &v.state case 1: @@ -40119,7 +40238,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientRankUpdate); i { + switch v := v.(*CMsgClientToGCRankRequest); i { case 0: return &v.state case 1: @@ -40131,7 +40250,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetProfileCard); i { + switch v := v.(*CMsgGCToClientRankResponse); i { case 0: return &v.state case 1: @@ -40143,7 +40262,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCSetProfileCardSlots); i { + switch v := v.(*CMsgGCToClientRankUpdate); i { case 0: return &v.state case 1: @@ -40155,7 +40274,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetProfileCardStats); i { + switch v := v.(*CMsgClientToGCGetProfileCard); i { case 0: return &v.state case 1: @@ -40167,7 +40286,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCCreateHeroStatue); i { + switch v := v.(*CMsgClientToGCSetProfileCardSlots); i { case 0: return &v.state case 1: @@ -40179,7 +40298,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientHeroStatueCreateResult); i { + switch v := v.(*CMsgClientToGCGetProfileCardStats); i { case 0: return &v.state case 1: @@ -40191,7 +40310,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCPlayerStatsRequest); i { + switch v := v.(*CMsgClientToGCCreateHeroStatue); i { case 0: return &v.state case 1: @@ -40203,7 +40322,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientPlayerStatsResponse); i { + switch v := v.(*CMsgGCToClientHeroStatueCreateResult); i { case 0: return &v.state case 1: @@ -40215,7 +40334,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCCustomGamesFriendsPlayedRequest); i { + switch v := v.(*CMsgClientToGCPlayerStatsRequest); i { case 0: return &v.state case 1: @@ -40227,7 +40346,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientCustomGamesFriendsPlayedResponse); i { + switch v := v.(*CMsgGCToClientPlayerStatsResponse); i { case 0: return &v.state case 1: @@ -40239,7 +40358,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCSocialFeedPostCommentRequest); i { + switch v := v.(*CMsgClientToGCCustomGamesFriendsPlayedRequest); i { case 0: return &v.state case 1: @@ -40251,7 +40370,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientSocialFeedPostCommentResponse); i { + switch v := v.(*CMsgGCToClientCustomGamesFriendsPlayedResponse); i { case 0: return &v.state case 1: @@ -40263,7 +40382,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCSocialFeedPostMessageRequest); i { + switch v := v.(*CMsgClientToGCSocialFeedPostCommentRequest); i { case 0: return &v.state case 1: @@ -40275,7 +40394,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientSocialFeedPostMessageResponse); i { + switch v := v.(*CMsgGCToClientSocialFeedPostCommentResponse); i { case 0: return &v.state case 1: @@ -40287,7 +40406,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCFriendsPlayedCustomGameRequest); i { + switch v := v.(*CMsgClientToGCSocialFeedPostMessageRequest); i { case 0: return &v.state case 1: @@ -40299,7 +40418,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientFriendsPlayedCustomGameResponse); i { + switch v := v.(*CMsgGCToClientSocialFeedPostMessageResponse); i { case 0: return &v.state case 1: @@ -40311,7 +40430,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAPartyRichPresence); i { + switch v := v.(*CMsgClientToGCFriendsPlayedCustomGameRequest); i { case 0: return &v.state case 1: @@ -40323,7 +40442,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTALobbyRichPresence); i { + switch v := v.(*CMsgGCToClientFriendsPlayedCustomGameResponse); i { case 0: return &v.state case 1: @@ -40335,7 +40454,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTACustomGameListenServerStartedLoading); i { + switch v := v.(*CMsgDOTAPartyRichPresence); i { case 0: return &v.state case 1: @@ -40347,7 +40466,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTACustomGameClientFinishedLoading); i { + switch v := v.(*CMsgDOTALobbyRichPresence); i { case 0: return &v.state case 1: @@ -40359,7 +40478,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCApplyGemCombiner); i { + switch v := v.(*CMsgDOTACustomGameListenServerStartedLoading); i { case 0: return &v.state case 1: @@ -40371,7 +40490,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCH264Unsupported); i { + switch v := v.(*CMsgDOTACustomGameClientFinishedLoading); i { case 0: return &v.state case 1: @@ -40383,7 +40502,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetQuestProgress); i { + switch v := v.(*CMsgClientToGCApplyGemCombiner); i { case 0: return &v.state case 1: @@ -40395,7 +40514,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetQuestProgressResponse); i { + switch v := v.(*CMsgClientToGCH264Unsupported); i { case 0: return &v.state case 1: @@ -40407,7 +40526,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientMatchSignedOut); i { + switch v := v.(*CMsgClientToGCGetQuestProgress); i { case 0: return &v.state case 1: @@ -40419,7 +40538,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetHeroStatsHistory); i { + switch v := v.(*CMsgClientToGCGetQuestProgressResponse); i { case 0: return &v.state case 1: @@ -40431,7 +40550,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetHeroStatsHistoryResponse); i { + switch v := v.(*CMsgGCToClientMatchSignedOut); i { case 0: return &v.state case 1: @@ -40443,7 +40562,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPlayerConductScorecardRequest); i { + switch v := v.(*CMsgGCGetHeroStatsHistory); i { case 0: return &v.state case 1: @@ -40455,7 +40574,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPlayerConductScorecard); i { + switch v := v.(*CMsgGCGetHeroStatsHistoryResponse); i { case 0: return &v.state case 1: @@ -40467,7 +40586,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCWageringRequest); i { + switch v := v.(*CMsgPlayerConductScorecardRequest); i { case 0: return &v.state case 1: @@ -40479,7 +40598,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientWageringResponse); i { + switch v := v.(*CMsgPlayerConductScorecard); i { case 0: return &v.state case 1: @@ -40491,7 +40610,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientWageringUpdate); i { + switch v := v.(*CMsgClientToGCWageringRequest); i { case 0: return &v.state case 1: @@ -40503,7 +40622,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientArcanaVotesUpdate); i { + switch v := v.(*CMsgGCToClientWageringResponse); i { case 0: return &v.state case 1: @@ -40515,7 +40634,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCGetEventGoals); i { + switch v := v.(*CMsgGCToClientWageringUpdate); i { case 0: return &v.state case 1: @@ -40527,7 +40646,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgEventGoals); i { + switch v := v.(*CMsgGCToClientArcanaVotesUpdate); i { case 0: return &v.state case 1: @@ -40539,7 +40658,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToGCLeaguePredictions); i { + switch v := v.(*CMsgClientToGCGetEventGoals); i { case 0: return &v.state case 1: @@ -40551,7 +40670,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPredictionRankings); i { + switch v := v.(*CMsgEventGoals); i { case 0: return &v.state case 1: @@ -40563,7 +40682,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPredictionResults); i { + switch v := v.(*CMsgGCToGCLeaguePredictions); i { case 0: return &v.state case 1: @@ -40575,7 +40694,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCHasPlayerVotedForMVP); i { + switch v := v.(*CMsgPredictionRankings); i { case 0: return &v.state case 1: @@ -40587,7 +40706,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCHasPlayerVotedForMVPResponse); i { + switch v := v.(*CMsgPredictionResults); i { case 0: return &v.state case 1: @@ -40599,7 +40718,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCVoteForMVP); i { + switch v := v.(*CMsgClientToGCHasPlayerVotedForMVP); i { case 0: return &v.state case 1: @@ -40611,7 +40730,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCVoteForMVPResponse); i { + switch v := v.(*CMsgClientToGCHasPlayerVotedForMVPResponse); i { case 0: return &v.state case 1: @@ -40623,7 +40742,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCMVPVoteTimeout); i { + switch v := v.(*CMsgClientToGCVoteForMVP); i { case 0: return &v.state case 1: @@ -40635,7 +40754,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCMVPVoteTimeoutResponse); i { + switch v := v.(*CMsgClientToGCVoteForMVPResponse); i { case 0: return &v.state case 1: @@ -40647,7 +40766,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCTeammateStatsRequest); i { + switch v := v.(*CMsgClientToGCMVPVoteTimeout); i { case 0: return &v.state case 1: @@ -40659,7 +40778,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCTeammateStatsResponse); i { + switch v := v.(*CMsgClientToGCMVPVoteTimeoutResponse); i { case 0: return &v.state case 1: @@ -40671,7 +40790,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCVoteForArcana); i { + switch v := v.(*CMsgClientToGCTeammateStatsRequest); i { case 0: return &v.state case 1: @@ -40683,7 +40802,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCVoteForArcanaResponse); i { + switch v := v.(*CMsgClientToGCTeammateStatsResponse); i { case 0: return &v.state case 1: @@ -40695,7 +40814,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRequestArcanaVotesRemaining); i { + switch v := v.(*CMsgClientToGCVoteForArcana); i { case 0: return &v.state case 1: @@ -40707,7 +40826,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRequestArcanaVotesRemainingResponse); i { + switch v := v.(*CMsgClientToGCVoteForArcanaResponse); i { case 0: return &v.state case 1: @@ -40719,7 +40838,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRequestEventPointLogV2); i { + switch v := v.(*CMsgClientToGCRequestArcanaVotesRemaining); i { case 0: return &v.state case 1: @@ -40731,7 +40850,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRequestEventPointLogResponseV2); i { + switch v := v.(*CMsgClientToGCRequestArcanaVotesRemainingResponse); i { case 0: return &v.state case 1: @@ -40743,7 +40862,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCPublishUserStat); i { + switch v := v.(*CMsgClientToGCRequestEventPointLogV2); i { case 0: return &v.state case 1: @@ -40755,7 +40874,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRequestSlarkGameResult); i { + switch v := v.(*CMsgClientToGCRequestEventPointLogResponseV2); i { case 0: return &v.state case 1: @@ -40767,7 +40886,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRequestSlarkGameResultResponse); i { + switch v := v.(*CMsgClientToGCPublishUserStat); i { case 0: return &v.state case 1: @@ -40779,7 +40898,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientQuestProgressUpdated); i { + switch v := v.(*CMsgClientToGCRequestSlarkGameResult); i { case 0: return &v.state case 1: @@ -40791,7 +40910,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTARedeemItem); i { + switch v := v.(*CMsgClientToGCRequestSlarkGameResultResponse); i { case 0: return &v.state case 1: @@ -40803,7 +40922,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTARedeemItemResponse); i { + switch v := v.(*CMsgGCToClientQuestProgressUpdated); i { case 0: return &v.state case 1: @@ -40815,7 +40934,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCSelectCompendiumInGamePrediction); i { + switch v := v.(*CMsgDOTARedeemItem); i { case 0: return &v.state case 1: @@ -40827,7 +40946,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCSelectCompendiumInGamePredictionResponse); i { + switch v := v.(*CMsgDOTARedeemItemResponse); i { case 0: return &v.state case 1: @@ -40839,7 +40958,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOpenPlayerCardPack); i { + switch v := v.(*CMsgClientToGCSelectCompendiumInGamePrediction); i { case 0: return &v.state case 1: @@ -40851,7 +40970,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOpenPlayerCardPackResponse); i { + switch v := v.(*CMsgClientToGCSelectCompendiumInGamePredictionResponse); i { case 0: return &v.state case 1: @@ -40863,7 +40982,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRecyclePlayerCard); i { + switch v := v.(*CMsgClientToGCOpenPlayerCardPack); i { case 0: return &v.state case 1: @@ -40875,7 +40994,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCRecyclePlayerCardResponse); i { + switch v := v.(*CMsgClientToGCOpenPlayerCardPackResponse); i { case 0: return &v.state case 1: @@ -40887,7 +41006,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCCreatePlayerCardPack); i { + switch v := v.(*CMsgClientToGCRecyclePlayerCard); i { case 0: return &v.state case 1: @@ -40899,7 +41018,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCCreatePlayerCardPackResponse); i { + switch v := v.(*CMsgClientToGCRecyclePlayerCardResponse); i { case 0: return &v.state case 1: @@ -40911,7 +41030,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCCreateTeamPlayerCardPack); i { + switch v := v.(*CMsgClientToGCCreatePlayerCardPack); i { case 0: return &v.state case 1: @@ -40923,7 +41042,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCCreateTeamPlayerCardPackResponse); i { + switch v := v.(*CMsgClientToGCCreatePlayerCardPackResponse); i { case 0: return &v.state case 1: @@ -40935,7 +41054,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollup_International2016); i { + switch v := v.(*CMsgClientToGCCreateTeamPlayerCardPack); i { case 0: return &v.state case 1: @@ -40947,7 +41066,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016); i { + switch v := v.(*CMsgClientToGCCreateTeamPlayerCardPackResponse); i { case 0: return &v.state case 1: @@ -40959,7 +41078,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017); i { + switch v := v.(*CMsgGCToClientBattlePassRollup_International2016); i { case 0: return &v.state case 1: @@ -40971,7 +41090,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollup_TI7); i { + switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016); i { case 0: return &v.state case 1: @@ -40983,7 +41102,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollup_TI8); i { + switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017); i { case 0: return &v.state case 1: @@ -40995,7 +41114,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollup_TI9); i { + switch v := v.(*CMsgGCToClientBattlePassRollup_TI7); i { case 0: return &v.state case 1: @@ -41007,7 +41126,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollup_TI10); i { + switch v := v.(*CMsgGCToClientBattlePassRollup_TI8); i { case 0: return &v.state case 1: @@ -41019,7 +41138,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollupRequest); i { + switch v := v.(*CMsgGCToClientBattlePassRollup_TI9); i { case 0: return &v.state case 1: @@ -41031,7 +41150,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollupResponse); i { + switch v := v.(*CMsgGCToClientBattlePassRollup_TI10); i { case 0: return &v.state case 1: @@ -41043,7 +41162,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollupListRequest); i { + switch v := v.(*CMsgGCToClientBattlePassRollupRequest); i { case 0: return &v.state case 1: @@ -41055,7 +41174,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBattlePassRollupListResponse); i { + switch v := v.(*CMsgGCToClientBattlePassRollupResponse); i { case 0: return &v.state case 1: @@ -41067,7 +41186,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCTransferSeasonalMMRRequest); i { + switch v := v.(*CMsgGCToClientBattlePassRollupListRequest); i { case 0: return &v.state case 1: @@ -41079,7 +41198,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCTransferSeasonalMMRResponse); i { + switch v := v.(*CMsgGCToClientBattlePassRollupListResponse); i { case 0: return &v.state case 1: @@ -41091,7 +41210,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientPlaytestStatus); i { + switch v := v.(*CMsgClientToGCTransferSeasonalMMRRequest); i { case 0: return &v.state case 1: @@ -41103,7 +41222,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCJoinPlaytest); i { + switch v := v.(*CMsgClientToGCTransferSeasonalMMRResponse); i { case 0: return &v.state case 1: @@ -41115,7 +41234,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCJoinPlaytestResponse); i { + switch v := v.(*CMsgGCToClientPlaytestStatus); i { case 0: return &v.state case 1: @@ -41127,7 +41246,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTASetFavoriteTeam); i { + switch v := v.(*CMsgClientToGCJoinPlaytest); i { case 0: return &v.state case 1: @@ -41139,7 +41258,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTATriviaCurrentQuestions); i { + switch v := v.(*CMsgClientToGCJoinPlaytestResponse); i { case 0: return &v.state case 1: @@ -41151,7 +41270,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTASubmitTriviaQuestionAnswer); i { + switch v := v.(*CMsgDOTASetFavoriteTeam); i { case 0: return &v.state case 1: @@ -41163,7 +41282,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTASubmitTriviaQuestionAnswerResponse); i { + switch v := v.(*CMsgDOTATriviaCurrentQuestions); i { case 0: return &v.state case 1: @@ -41175,7 +41294,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAStartTriviaSession); i { + switch v := v.(*CMsgDOTASubmitTriviaQuestionAnswer); i { case 0: return &v.state case 1: @@ -41187,7 +41306,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAStartTriviaSessionResponse); i { + switch v := v.(*CMsgDOTASubmitTriviaQuestionAnswerResponse); i { case 0: return &v.state case 1: @@ -41199,7 +41318,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAAnchorPhoneNumberRequest); i { + switch v := v.(*CMsgDOTAStartTriviaSession); i { case 0: return &v.state case 1: @@ -41211,7 +41330,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAAnchorPhoneNumberResponse); i { + switch v := v.(*CMsgDOTAStartTriviaSessionResponse); i { case 0: return &v.state case 1: @@ -41223,7 +41342,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAUnanchorPhoneNumberRequest); i { + switch v := v.(*CMsgDOTAAnchorPhoneNumberRequest); i { case 0: return &v.state case 1: @@ -41235,7 +41354,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAUnanchorPhoneNumberResponse); i { + switch v := v.(*CMsgDOTAAnchorPhoneNumberResponse); i { case 0: return &v.state case 1: @@ -41247,7 +41366,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientCommendNotification); i { + switch v := v.(*CMsgDOTAUnanchorPhoneNumberRequest); i { case 0: return &v.state case 1: @@ -41259,7 +41378,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClientToGCQuickStatsRequest); i { + switch v := v.(*CMsgDOTAUnanchorPhoneNumberResponse); i { case 0: return &v.state case 1: @@ -41271,7 +41390,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClientToGCQuickStatsResponse); i { + switch v := v.(*CMsgGCToClientCommendNotification); i { case 0: return &v.state case 1: @@ -41283,7 +41402,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTASelectionPriorityChoiceRequest); i { + switch v := v.(*CMsgDOTAClientToGCQuickStatsRequest); i { case 0: return &v.state case 1: @@ -41295,7 +41414,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTASelectionPriorityChoiceResponse); i { + switch v := v.(*CMsgDOTAClientToGCQuickStatsResponse); i { case 0: return &v.state case 1: @@ -41307,7 +41426,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAGameAutographReward); i { + switch v := v.(*CMsgDOTASelectionPriorityChoiceRequest); i { case 0: return &v.state case 1: @@ -41319,7 +41438,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAGameAutographRewardResponse); i { + switch v := v.(*CMsgDOTASelectionPriorityChoiceResponse); i { case 0: return &v.state case 1: @@ -41331,7 +41450,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTADestroyLobbyRequest); i { + switch v := v.(*CMsgDOTAGameAutographReward); i { case 0: return &v.state case 1: @@ -41343,7 +41462,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTADestroyLobbyResponse); i { + switch v := v.(*CMsgDOTAGameAutographRewardResponse); i { case 0: return &v.state case 1: @@ -41355,7 +41474,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAGetRecentPlayTimeFriendsRequest); i { + switch v := v.(*CMsgDOTADestroyLobbyRequest); i { case 0: return &v.state case 1: @@ -41367,7 +41486,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAGetRecentPlayTimeFriendsResponse); i { + switch v := v.(*CMsgDOTADestroyLobbyResponse); i { case 0: return &v.state case 1: @@ -41379,7 +41498,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPurchaseItemWithEventPoints); i { + switch v := v.(*CMsgDOTAGetRecentPlayTimeFriendsRequest); i { case 0: return &v.state case 1: @@ -41391,7 +41510,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPurchaseItemWithEventPointsResponse); i { + switch v := v.(*CMsgDOTAGetRecentPlayTimeFriendsResponse); i { case 0: return &v.state case 1: @@ -41403,7 +41522,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPurchaseHeroRandomRelic); i { + switch v := v.(*CMsgPurchaseItemWithEventPoints); i { case 0: return &v.state case 1: @@ -41415,7 +41534,7 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPurchaseHeroRandomRelicResponse); i { + switch v := v.(*CMsgPurchaseItemWithEventPointsResponse); i { case 0: return &v.state case 1: @@ -41427,6 +41546,30 @@ func file_dota_gcmessages_client_proto_init() { } } file_dota_gcmessages_client_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgPurchaseHeroRandomRelic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgPurchaseHeroRandomRelicResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestPlusWeeklyChallengeResult); i { case 0: return &v.state @@ -41438,7 +41581,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestPlusWeeklyChallengeResultResponse); i { case 0: return &v.state @@ -41450,7 +41593,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgProfileRequest); i { case 0: return &v.state @@ -41462,7 +41605,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgProfileResponse); i { case 0: return &v.state @@ -41474,7 +41617,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgProfileUpdate); i { case 0: return &v.state @@ -41486,7 +41629,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgProfileUpdateResponse); i { case 0: return &v.state @@ -41498,7 +41641,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgTalentWinRates); i { case 0: return &v.state @@ -41510,7 +41653,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGlobalHeroAverages); i { case 0: return &v.state @@ -41522,7 +41665,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataRequest); i { case 0: return &v.state @@ -41534,7 +41677,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataResponse); i { case 0: return &v.state @@ -41546,7 +41689,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataAllHeroes); i { case 0: return &v.state @@ -41558,7 +41701,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataHeroesAlliesAndEnemies); i { case 0: return &v.state @@ -41570,7 +41713,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPrivateMetadataKeyRequest); i { case 0: return &v.state @@ -41582,7 +41725,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPrivateMetadataKeyResponse); i { case 0: return &v.state @@ -41594,7 +41737,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgActivatePlusFreeTrialResponse); i { case 0: return &v.state @@ -41606,7 +41749,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientCavernCrawlMapPathCompleted); i { case 0: return &v.state @@ -41618,7 +41761,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientCavernCrawlMapUpdated); i { case 0: return &v.state @@ -41630,7 +41773,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlClaimRoom); i { case 0: return &v.state @@ -41642,7 +41785,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlClaimRoomResponse); i { case 0: return &v.state @@ -41654,7 +41797,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlUseItemOnRoom); i { case 0: return &v.state @@ -41666,7 +41809,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlUseItemOnRoomResponse); i { case 0: return &v.state @@ -41678,7 +41821,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlUseItemOnPath); i { case 0: return &v.state @@ -41690,7 +41833,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlUseItemOnPathResponse); i { case 0: return &v.state @@ -41702,7 +41845,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlRequestMapState); i { case 0: return &v.state @@ -41714,7 +41857,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlRequestMapStateResponse); i { case 0: return &v.state @@ -41726,7 +41869,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlGetClaimedRoomCount); i { case 0: return &v.state @@ -41738,7 +41881,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse); i { case 0: return &v.state @@ -41750,7 +41893,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAMutationList); i { case 0: return &v.state @@ -41762,7 +41905,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgEventTipsSummaryRequest); i { case 0: return &v.state @@ -41774,7 +41917,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgEventTipsSummaryResponse); i { case 0: return &v.state @@ -41786,7 +41929,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSocialFeedRequest); i { case 0: return &v.state @@ -41798,7 +41941,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSocialFeedResponse); i { case 0: return &v.state @@ -41810,7 +41953,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSocialFeedCommentsRequest); i { case 0: return &v.state @@ -41822,7 +41965,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSocialFeedCommentsResponse); i { case 0: return &v.state @@ -41834,7 +41977,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlayerCardSpecificPurchaseRequest); i { case 0: return &v.state @@ -41846,7 +41989,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlayerCardSpecificPurchaseResponse); i { case 0: return &v.state @@ -41858,7 +42001,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestContestVotes); i { case 0: return &v.state @@ -41870,7 +42013,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestContestVotesResponse); i { case 0: return &v.state @@ -41882,7 +42025,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRecordContestVote); i { case 0: return &v.state @@ -41894,7 +42037,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientRecordContestVoteResponse); i { case 0: return &v.state @@ -41906,7 +42049,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevGrantEventPoints); i { case 0: return &v.state @@ -41918,7 +42061,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevGrantEventPointsResponse); i { case 0: return &v.state @@ -41930,7 +42073,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevGrantEventAction); i { case 0: return &v.state @@ -41942,7 +42085,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevGrantEventActionResponse); i { case 0: return &v.state @@ -41954,7 +42097,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevDeleteEventActions); i { case 0: return &v.state @@ -41966,7 +42109,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevDeleteEventActionsResponse); i { case 0: return &v.state @@ -41978,7 +42121,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevResetEventState); i { case 0: return &v.state @@ -41990,7 +42133,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDevResetEventStateResponse); i { case 0: return &v.state @@ -42002,7 +42145,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgConsumeEventSupportGrantItem); i { case 0: return &v.state @@ -42014,7 +42157,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgConsumeEventSupportGrantItemResponse); i { case 0: return &v.state @@ -42026,7 +42169,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetFilteredPlayers); i { case 0: return &v.state @@ -42038,7 +42181,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientGetFilteredPlayersResponse); i { case 0: return &v.state @@ -42050,7 +42193,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRemoveFilteredPlayer); i { case 0: return &v.state @@ -42062,7 +42205,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientRemoveFilteredPlayerResponse); i { case 0: return &v.state @@ -42074,7 +42217,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPurchaseFilteredPlayerSlot); i { case 0: return &v.state @@ -42086,7 +42229,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientPurchaseFilteredPlayerSlotResponse); i { case 0: return &v.state @@ -42098,7 +42241,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUpdateFilteredPlayerNote); i { case 0: return &v.state @@ -42110,7 +42253,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientUpdateFilteredPlayerNoteResponse); i { case 0: return &v.state @@ -42122,7 +42265,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPartySearchPlayer); i { case 0: return &v.state @@ -42134,7 +42277,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientPlayerBeaconState); i { case 0: return &v.state @@ -42146,7 +42289,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientPartyBeaconUpdate); i { case 0: return &v.state @@ -42158,7 +42301,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUpdatePartyBeacon); i { case 0: return &v.state @@ -42170,7 +42313,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestActiveBeaconParties); i { case 0: return &v.state @@ -42182,7 +42325,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientRequestActiveBeaconPartiesResponse); i { case 0: return &v.state @@ -42194,7 +42337,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCJoinPartyFromBeacon); i { case 0: return &v.state @@ -42206,7 +42349,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientJoinPartyFromBeaconResponse); i { case 0: return &v.state @@ -42218,7 +42361,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCManageFavorites); i { case 0: return &v.state @@ -42230,7 +42373,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientManageFavoritesResponse); i { case 0: return &v.state @@ -42242,7 +42385,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetFavoritePlayers); i { case 0: return &v.state @@ -42254,7 +42397,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientGetFavoritePlayersResponse); i { case 0: return &v.state @@ -42266,7 +42409,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientPartySearchInvite); i { case 0: return &v.state @@ -42278,7 +42421,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCVerifyFavoritePlayers); i { case 0: return &v.state @@ -42290,7 +42433,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[273].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientVerifyFavoritePlayersResponse); i { case 0: return &v.state @@ -42302,7 +42445,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestPlayerRecentAccomplishments); i { case 0: return &v.state @@ -42314,7 +42457,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[273].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse); i { case 0: return &v.state @@ -42326,7 +42469,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[276].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestPlayerHeroRecentAccomplishments); i { case 0: return &v.state @@ -42338,7 +42481,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[277].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse); i { case 0: return &v.state @@ -42350,7 +42493,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[276].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[278].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSubmitPlayerMatchSurvey); i { case 0: return &v.state @@ -42362,7 +42505,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[277].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[279].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSubmitPlayerMatchSurveyResponse); i { case 0: return &v.state @@ -42374,7 +42517,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[278].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[280].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientVACReminder); i { case 0: return &v.state @@ -42386,7 +42529,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[279].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftRequest); i { case 0: return &v.state @@ -42398,7 +42541,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[280].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftResponse); i { case 0: return &v.state @@ -42410,7 +42553,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftReroll); i { case 0: return &v.state @@ -42422,7 +42565,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftRerollResponse); i { case 0: return &v.state @@ -42434,7 +42577,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftBuy); i { case 0: return &v.state @@ -42446,7 +42589,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientGuildUnderDraftGoldUpdated); i { case 0: return &v.state @@ -42458,7 +42601,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftBuyResponse); i { case 0: return &v.state @@ -42470,7 +42613,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftRollBackBench); i { case 0: return &v.state @@ -42482,7 +42625,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftRollBackBenchResponse); i { case 0: return &v.state @@ -42494,7 +42637,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftSell); i { case 0: return &v.state @@ -42506,7 +42649,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftSellResponse); i { case 0: return &v.state @@ -42518,7 +42661,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftRedeemReward); i { case 0: return &v.state @@ -42530,7 +42673,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUnderDraftRedeemRewardResponse); i { case 0: return &v.state @@ -42542,7 +42685,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSubmitDraftTriviaMatchAnswer); i { case 0: return &v.state @@ -42554,7 +42697,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse); i { case 0: return &v.state @@ -42566,7 +42709,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDraftTriviaVoteCount); i { case 0: return &v.state @@ -42578,7 +42721,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestReporterUpdates); i { case 0: return &v.state @@ -42590,7 +42733,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestReporterUpdatesResponse); i { case 0: return &v.state @@ -42602,7 +42745,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCAcknowledgeReporterUpdates); i { case 0: return &v.state @@ -42614,7 +42757,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRecalibrateMMR); i { case 0: return &v.state @@ -42626,7 +42769,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRecalibrateMMRResponse); i { case 0: return &v.state @@ -42638,7 +42781,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAPostGameItemAwardNotification); i { case 0: return &v.state @@ -42650,7 +42793,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetOWMatchDetails); i { case 0: return &v.state @@ -42662,7 +42805,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetOWMatchDetailsResponse); i { case 0: return &v.state @@ -42674,7 +42817,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSubmitOWConviction); i { case 0: return &v.state @@ -42686,7 +42829,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSubmitOWConvictionResponse); i { case 0: return &v.state @@ -42698,7 +42841,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCChinaSSAURLRequest); i { case 0: return &v.state @@ -42710,7 +42853,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCChinaSSAURLResponse); i { case 0: return &v.state @@ -42722,7 +42865,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCChinaSSAAcceptedRequest); i { case 0: return &v.state @@ -42734,7 +42877,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCChinaSSAAcceptedResponse); i { case 0: return &v.state @@ -42746,7 +42889,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientOverwatchCasesAvailable); i { case 0: return &v.state @@ -42758,7 +42901,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCStartWatchingOverwatch); i { case 0: return &v.state @@ -42770,7 +42913,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCStopWatchingOverwatch); i { case 0: return &v.state @@ -42782,7 +42925,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCOverwatchReplayError); i { case 0: return &v.state @@ -42794,7 +42937,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetDPCFavorites); i { case 0: return &v.state @@ -42806,7 +42949,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetDPCFavoritesResponse); i { case 0: return &v.state @@ -42818,7 +42961,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetDPCFavoriteState); i { case 0: return &v.state @@ -42830,7 +42973,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetDPCFavoriteStateResponse); i { case 0: return &v.state @@ -42842,7 +42985,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetEventActiveSeasonID); i { case 0: return &v.state @@ -42854,7 +42997,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetEventActiveSeasonIDResponse); i { case 0: return &v.state @@ -42866,7 +43009,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPurchaseLabyrinthBlessings); i { case 0: return &v.state @@ -42878,7 +43021,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPurchaseLabyrinthBlessingsResponse); i { case 0: return &v.state @@ -42890,7 +43033,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetStickerbookRequest); i { case 0: return &v.state @@ -42902,7 +43045,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetStickerbookResponse); i { case 0: return &v.state @@ -42914,7 +43057,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCreateStickerbookPageRequest); i { case 0: return &v.state @@ -42926,7 +43069,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCreateStickerbookPageResponse); i { case 0: return &v.state @@ -42938,7 +43081,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCDeleteStickerbookPageRequest); i { case 0: return &v.state @@ -42950,7 +43093,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCDeleteStickerbookPageResponse); i { case 0: return &v.state @@ -42962,7 +43105,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlaceStickersRequest); i { case 0: return &v.state @@ -42974,7 +43117,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[330].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlaceStickersResponse); i { case 0: return &v.state @@ -42986,7 +43129,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlaceCollectionStickersRequest); i { case 0: return &v.state @@ -42998,7 +43141,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[330].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[332].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlaceCollectionStickersResponse); i { case 0: return &v.state @@ -43010,7 +43153,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCOrderStickerbookTeamPageRequest); i { case 0: return &v.state @@ -43022,7 +43165,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[332].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[334].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCOrderStickerbookTeamPageResponse); i { case 0: return &v.state @@ -43034,7 +43177,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[335].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetHeroSticker); i { case 0: return &v.state @@ -43046,7 +43189,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[334].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetHeroStickerResponse); i { case 0: return &v.state @@ -43058,7 +43201,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[335].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[337].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetHeroStickers); i { case 0: return &v.state @@ -43070,7 +43213,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[338].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetHeroStickersResponse); i { case 0: return &v.state @@ -43082,7 +43225,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[337].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[339].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetFavoritePage); i { case 0: return &v.state @@ -43094,7 +43237,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[338].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetFavoritePageResponse); i { case 0: return &v.state @@ -43106,7 +43249,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[339].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCClaimSwag); i { case 0: return &v.state @@ -43118,7 +43261,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCClaimSwagResponse); i { case 0: return &v.state @@ -43130,7 +43273,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCollectorsCacheAvailableDataRequest); i { case 0: return &v.state @@ -43142,7 +43285,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientCollectorsCacheAvailableDataResponse); i { case 0: return &v.state @@ -43154,7 +43297,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUploadMatchClip); i { case 0: return &v.state @@ -43166,7 +43309,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientUploadMatchClipResponse); i { case 0: return &v.state @@ -43178,7 +43321,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCMapStatsRequest); i { case 0: return &v.state @@ -43190,7 +43333,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientMapStatsResponse); i { case 0: return &v.state @@ -43202,7 +43345,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgRoadToTIAssignedQuest); i { case 0: return &v.state @@ -43214,7 +43357,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgRoadToTIUserData); i { case 0: return &v.state @@ -43226,7 +43369,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRoadToTIGetQuests); i { case 0: return &v.state @@ -43238,7 +43381,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRoadToTIGetQuestsResponse); i { case 0: return &v.state @@ -43250,7 +43393,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRoadToTIGetActiveQuest); i { case 0: return &v.state @@ -43262,7 +43405,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRoadToTIGetActiveQuestResponse); i { case 0: return &v.state @@ -43274,7 +43417,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[355].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientRoadToTIQuestDataUpdated); i { case 0: return &v.state @@ -43286,7 +43429,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRoadToTIUseItem); i { case 0: return &v.state @@ -43298,7 +43441,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[355].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRoadToTIUseItemResponse); i { case 0: return &v.state @@ -43310,7 +43453,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRoadToTIDevForceQuest); i { case 0: return &v.state @@ -43322,7 +43465,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgLobbyRoadToTIMatchQuestData); i { case 0: return &v.state @@ -43334,7 +43477,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCNewBloomGift); i { case 0: return &v.state @@ -43346,7 +43489,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCNewBloomGiftResponse); i { case 0: return &v.state @@ -43358,7 +43501,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetBannedHeroes); i { case 0: return &v.state @@ -43370,7 +43513,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUpdateComicBookStats); i { case 0: return &v.state @@ -43382,7 +43525,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTARequestMatchesResponse_Series); i { case 0: return &v.state @@ -43394,7 +43537,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAProfileTickets_LeaguePass); i { case 0: return &v.state @@ -43406,7 +43549,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAWelcome_CExtraMsg); i { case 0: return &v.state @@ -43418,7 +43561,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[367].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAMatchVotes_PlayerVote); i { case 0: return &v.state @@ -43430,7 +43573,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCGetHeroStandingsResponse_Hero); i { case 0: return &v.state @@ -43442,7 +43585,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[367].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCGetHeroTimedStatsResponse_TimedStatsContainer); i { case 0: return &v.state @@ -43454,7 +43597,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCGetHeroTimedStatsResponse_RankChunkedStats); i { case 0: return &v.state @@ -43466,7 +43609,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[371].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAClaimEventActionData_GrantItemGiftData); i { case 0: return &v.state @@ -43478,7 +43621,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAGetEventPointsResponse_Action); i { case 0: return &v.state @@ -43490,7 +43633,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[371].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAGetPlayerMatchHistoryResponse_Match); i { case 0: return &v.state @@ -43502,7 +43645,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[374].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetTrophyListResponse_Trophy); i { case 0: return &v.state @@ -43514,7 +43657,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSetProfileCardSlots_CardSlot); i { case 0: return &v.state @@ -43526,7 +43669,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[374].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[376].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientCustomGamesFriendsPlayedResponse_CustomGame); i { case 0: return &v.state @@ -43538,7 +43681,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[377].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAPartyRichPresence_Member); i { case 0: return &v.state @@ -43550,7 +43693,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[376].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAPartyRichPresence_WeekendTourney); i { case 0: return &v.state @@ -43562,7 +43705,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[377].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[379].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetQuestProgressResponse_Challenge); i { case 0: return &v.state @@ -43574,7 +43717,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetQuestProgressResponse_Quest); i { case 0: return &v.state @@ -43586,7 +43729,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[379].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgEventGoals_EventGoal); i { case 0: return &v.state @@ -43598,7 +43741,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[382].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPredictionRankings_PredictionLine); i { case 0: return &v.state @@ -43610,7 +43753,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPredictionRankings_Prediction); i { case 0: return &v.state @@ -43622,7 +43765,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[382].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPredictionResults_ResultBreakdown); i { case 0: return &v.state @@ -43634,7 +43777,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPredictionResults_Result); i { case 0: return &v.state @@ -43646,7 +43789,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCTeammateStatsResponse_TeammateStat); i { case 0: return &v.state @@ -43658,7 +43801,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestEventPointLogResponseV2_LogEntry); i { case 0: return &v.state @@ -43670,7 +43813,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientQuestProgressUpdated_Challenge); i { case 0: return &v.state @@ -43682,7 +43825,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCSelectCompendiumInGamePrediction_Prediction); i { case 0: return &v.state @@ -43694,7 +43837,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[390].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_Questlines); i { case 0: return &v.state @@ -43706,7 +43849,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[391].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_Wagering); i { case 0: return &v.state @@ -43718,7 +43861,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[390].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[392].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_Achievements); i { case 0: return &v.state @@ -43730,7 +43873,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[391].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_BattleCup); i { case 0: return &v.state @@ -43742,7 +43885,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[392].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[394].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_Predictions); i { case 0: return &v.state @@ -43754,7 +43897,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_Bracket); i { case 0: return &v.state @@ -43766,7 +43909,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[394].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[396].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_PlayerCard); i { case 0: return &v.state @@ -43778,7 +43921,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_International2016_FantasyChallenge); i { case 0: return &v.state @@ -43790,7 +43933,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[396].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_Questlines); i { case 0: return &v.state @@ -43802,7 +43945,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_Wagering); i { case 0: return &v.state @@ -43814,7 +43957,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_Achievements); i { case 0: return &v.state @@ -43826,7 +43969,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_BattleCup); i { case 0: return &v.state @@ -43838,7 +43981,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_Predictions); i { case 0: return &v.state @@ -43850,7 +43993,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[403].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_Bracket); i { case 0: return &v.state @@ -43862,7 +44005,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_PlayerCard); i { case 0: return &v.state @@ -43874,7 +44017,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[403].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Fall2016_FantasyChallenge); i { case 0: return &v.state @@ -43886,7 +44029,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_Questlines); i { case 0: return &v.state @@ -43898,7 +44041,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_Wagering); i { case 0: return &v.state @@ -43910,7 +44053,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[408].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_Achievements); i { case 0: return &v.state @@ -43922,7 +44065,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_BattleCup); i { case 0: return &v.state @@ -43934,7 +44077,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[408].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_Predictions); i { case 0: return &v.state @@ -43946,7 +44089,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_Bracket); i { case 0: return &v.state @@ -43958,7 +44101,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_PlayerCard); i { case 0: return &v.state @@ -43970,7 +44113,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_Winter2017_FantasyChallenge); i { case 0: return &v.state @@ -43982,7 +44125,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_Questlines); i { case 0: return &v.state @@ -43994,7 +44137,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_Wagering); i { case 0: return &v.state @@ -44006,7 +44149,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_Achievements); i { case 0: return &v.state @@ -44018,7 +44161,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[417].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_BattleCup); i { case 0: return &v.state @@ -44030,7 +44173,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[418].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_Predictions); i { case 0: return &v.state @@ -44042,7 +44185,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[417].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[419].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_Bracket); i { case 0: return &v.state @@ -44054,7 +44197,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[418].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[420].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_PlayerCard); i { case 0: return &v.state @@ -44066,7 +44209,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[419].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[421].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI7_FantasyChallenge); i { case 0: return &v.state @@ -44078,7 +44221,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[420].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[422].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI8_CavernCrawl); i { case 0: return &v.state @@ -44090,7 +44233,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[421].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[423].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI8_Wagering); i { case 0: return &v.state @@ -44102,7 +44245,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[422].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[424].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI8_Achievements); i { case 0: return &v.state @@ -44114,7 +44257,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[423].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[425].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI8_Predictions); i { case 0: return &v.state @@ -44126,7 +44269,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[424].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[426].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI8_Bracket); i { case 0: return &v.state @@ -44138,7 +44281,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[425].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[427].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI8_PlayerCard); i { case 0: return &v.state @@ -44150,7 +44293,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[426].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[428].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollup_TI8_FantasyChallenge); i { case 0: return &v.state @@ -44162,7 +44305,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[427].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[429].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientBattlePassRollupListResponse_EventInfo); i { case 0: return &v.state @@ -44174,7 +44317,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[428].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[430].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAClientToGCQuickStatsResponse_SimpleStats); i { case 0: return &v.state @@ -44186,7 +44329,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[429].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[431].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgProfileResponse_FeaturedHero); i { case 0: return &v.state @@ -44198,7 +44341,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[430].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[432].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgProfileResponse_MatchInfo); i { case 0: return &v.state @@ -44210,7 +44353,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[431].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[433].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataResponse_GraphData); i { case 0: return &v.state @@ -44222,7 +44365,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[432].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[434].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataResponse_WeekData); i { case 0: return &v.state @@ -44234,7 +44377,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[433].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[435].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataResponse_HeroDataPerRankChunk); i { case 0: return &v.state @@ -44246,7 +44389,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[434].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[436].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataHeroesAlliesAndEnemies_HeroData); i { case 0: return &v.state @@ -44258,7 +44401,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[435].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[437].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgHeroGlobalDataHeroesAlliesAndEnemies_RankedHeroData); i { case 0: return &v.state @@ -44270,7 +44413,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[436].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[438].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientCavernCrawlMapPathCompleted_CompletedPathInfo); i { case 0: return &v.state @@ -44282,7 +44425,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[437].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[439].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlRequestMapStateResponse_SwappedChallenge); i { case 0: return &v.state @@ -44294,7 +44437,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[438].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[440].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlRequestMapStateResponse_InventoryItem); i { case 0: return &v.state @@ -44306,7 +44449,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[439].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[441].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlRequestMapStateResponse_TreasureMap); i { case 0: return &v.state @@ -44318,7 +44461,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[440].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[442].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlRequestMapStateResponse_MapVariant); i { case 0: return &v.state @@ -44330,7 +44473,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[441].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[443].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse_MapVariant); i { case 0: return &v.state @@ -44342,7 +44485,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[442].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[444].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgDOTAMutationList_Mutation); i { case 0: return &v.state @@ -44354,7 +44497,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[443].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[445].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgEventTipsSummaryResponse_Tipper); i { case 0: return &v.state @@ -44366,7 +44509,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[444].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[446].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSocialFeedResponse_FeedEvent); i { case 0: return &v.state @@ -44378,7 +44521,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[445].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[447].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSocialFeedCommentsResponse_FeedComment); i { case 0: return &v.state @@ -44390,7 +44533,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[446].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[448].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestContestVotesResponse_ItemVote); i { case 0: return &v.state @@ -44402,7 +44545,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[447].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[449].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientGetFilteredPlayersResponse_CFilterEntry); i { case 0: return &v.state @@ -44414,7 +44557,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[448].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[450].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientVerifyFavoritePlayersResponse_Result); i { case 0: return &v.state @@ -44426,7 +44569,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[449].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[451].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCRequestReporterUpdatesResponse_ReporterUpdate); i { case 0: return &v.state @@ -44438,7 +44581,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[450].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[452].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetOWMatchDetailsResponse_Marker); i { case 0: return &v.state @@ -44450,7 +44593,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[451].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[453].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCGetDPCFavoritesResponse_Favorite); i { case 0: return &v.state @@ -44462,7 +44605,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[452].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[454].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlaceStickersRequest_StickerItem); i { case 0: return &v.state @@ -44474,7 +44617,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[453].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[455].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCPlaceCollectionStickersRequest_Slot); i { case 0: return &v.state @@ -44486,7 +44629,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[454].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[456].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCToClientCollectorsCacheAvailableDataResponse_Vote); i { case 0: return &v.state @@ -44498,7 +44641,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[455].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[457].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUpdateComicBookStats_SingleStat); i { case 0: return &v.state @@ -44510,7 +44653,7 @@ func file_dota_gcmessages_client_proto_init() { return nil } } - file_dota_gcmessages_client_proto_msgTypes[456].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_proto_msgTypes[458].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCUpdateComicBookStats_LanguageStats); i { case 0: return &v.state @@ -44529,7 +44672,7 @@ func file_dota_gcmessages_client_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_gcmessages_client_proto_rawDesc, NumEnums: 81, - NumMessages: 457, + NumMessages: 459, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_gcmessages_client.proto b/dota/dota_gcmessages_client.proto index e0cd961a..452e7859 100644 --- a/dota/dota_gcmessages_client.proto +++ b/dota/dota_gcmessages_client.proto @@ -603,6 +603,7 @@ message CMsgDOTAClaimEventAction { optional uint32 action_id = 2; optional uint32 quantity = 3; optional CMsgDOTAClaimEventActionData data = 4; + optional EEventActionScoreMode score_mode = 5; } message CMsgClientToGCClaimEventActionUsingItem { @@ -670,6 +671,14 @@ message CMsgDOTACompendiumSelectionResponse { optional uint32 eresult = 1; } +message CMsgDOTACompendiumRemoveAllSelections { + optional uint32 leagueid = 1; +} + +message CMsgDOTACompendiumRemoveAllSelectionsResponse { + optional uint32 eresult = 1; +} + message CMsgDOTACompendiumData { repeated CMsgDOTACompendiumSelection selections = 1; } diff --git a/dota/dota_gcmessages_client_battle_report.pb.go b/dota/dota_gcmessages_client_battle_report.pb.go index fe204c1b..d78c551d 100644 --- a/dota/dota_gcmessages_client_battle_report.pb.go +++ b/dota/dota_gcmessages_client_battle_report.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_battle_report.proto package dota diff --git a/dota/dota_gcmessages_client_bingo.pb.go b/dota/dota_gcmessages_client_bingo.pb.go index aa44584e..18602f9f 100644 --- a/dota/dota_gcmessages_client_bingo.pb.go +++ b/dota/dota_gcmessages_client_bingo.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_bingo.proto package dota @@ -20,6 +20,89 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type EBingoAuditAction int32 + +const ( + EBingoAuditAction_k_eBingoAuditAction_Invalid EBingoAuditAction = 0 + EBingoAuditAction_k_eBingoAuditAction_DevModifyTokens EBingoAuditAction = 1 + EBingoAuditAction_k_eBingoAuditAction_DevClearInventory EBingoAuditAction = 2 + EBingoAuditAction_k_eBingoAuditAction_DevRerollCard EBingoAuditAction = 3 + EBingoAuditAction_k_eBingoAuditAction_ShuffleCard EBingoAuditAction = 4 + EBingoAuditAction_k_eBingoAuditAction_RerollSquare EBingoAuditAction = 5 + EBingoAuditAction_k_eBingoAuditAction_UpgradeSquare EBingoAuditAction = 6 + EBingoAuditAction_k_eBingoAuditAction_ClaimRow EBingoAuditAction = 7 + EBingoAuditAction_k_eBingoAuditAction_EventActionTokenGrant EBingoAuditAction = 8 + EBingoAuditAction_k_eBingoAuditAction_SupportGrantTokens EBingoAuditAction = 9 + EBingoAuditAction_k_eBingoAuditAction_SupportStatThresholdFixup EBingoAuditAction = 10 +) + +// Enum value maps for EBingoAuditAction. +var ( + EBingoAuditAction_name = map[int32]string{ + 0: "k_eBingoAuditAction_Invalid", + 1: "k_eBingoAuditAction_DevModifyTokens", + 2: "k_eBingoAuditAction_DevClearInventory", + 3: "k_eBingoAuditAction_DevRerollCard", + 4: "k_eBingoAuditAction_ShuffleCard", + 5: "k_eBingoAuditAction_RerollSquare", + 6: "k_eBingoAuditAction_UpgradeSquare", + 7: "k_eBingoAuditAction_ClaimRow", + 8: "k_eBingoAuditAction_EventActionTokenGrant", + 9: "k_eBingoAuditAction_SupportGrantTokens", + 10: "k_eBingoAuditAction_SupportStatThresholdFixup", + } + EBingoAuditAction_value = map[string]int32{ + "k_eBingoAuditAction_Invalid": 0, + "k_eBingoAuditAction_DevModifyTokens": 1, + "k_eBingoAuditAction_DevClearInventory": 2, + "k_eBingoAuditAction_DevRerollCard": 3, + "k_eBingoAuditAction_ShuffleCard": 4, + "k_eBingoAuditAction_RerollSquare": 5, + "k_eBingoAuditAction_UpgradeSquare": 6, + "k_eBingoAuditAction_ClaimRow": 7, + "k_eBingoAuditAction_EventActionTokenGrant": 8, + "k_eBingoAuditAction_SupportGrantTokens": 9, + "k_eBingoAuditAction_SupportStatThresholdFixup": 10, + } +) + +func (x EBingoAuditAction) Enum() *EBingoAuditAction { + p := new(EBingoAuditAction) + *p = x + return p +} + +func (x EBingoAuditAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EBingoAuditAction) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_bingo_proto_enumTypes[0].Descriptor() +} + +func (EBingoAuditAction) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_bingo_proto_enumTypes[0] +} + +func (x EBingoAuditAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EBingoAuditAction) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EBingoAuditAction(num) + return nil +} + +// Deprecated: Use EBingoAuditAction.Descriptor instead. +func (EBingoAuditAction) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{0} +} + type CMsgClientToGCBingoGetUserDataResponse_EResponse int32 const ( @@ -59,11 +142,11 @@ func (x CMsgClientToGCBingoGetUserDataResponse_EResponse) String() string { } func (CMsgClientToGCBingoGetUserDataResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_client_bingo_proto_enumTypes[0].Descriptor() + return file_dota_gcmessages_client_bingo_proto_enumTypes[1].Descriptor() } func (CMsgClientToGCBingoGetUserDataResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_client_bingo_proto_enumTypes[0] + return &file_dota_gcmessages_client_bingo_proto_enumTypes[1] } func (x CMsgClientToGCBingoGetUserDataResponse_EResponse) Number() protoreflect.EnumNumber { @@ -82,7 +165,7 @@ func (x *CMsgClientToGCBingoGetUserDataResponse_EResponse) UnmarshalJSON(b []byt // Deprecated: Use CMsgClientToGCBingoGetUserDataResponse_EResponse.Descriptor instead. func (CMsgClientToGCBingoGetUserDataResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{3, 0} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{5, 0} } type CMsgClientToGCBingoGetStatsDataResponse_EResponse int32 @@ -124,11 +207,11 @@ func (x CMsgClientToGCBingoGetStatsDataResponse_EResponse) String() string { } func (CMsgClientToGCBingoGetStatsDataResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_client_bingo_proto_enumTypes[1].Descriptor() + return file_dota_gcmessages_client_bingo_proto_enumTypes[2].Descriptor() } func (CMsgClientToGCBingoGetStatsDataResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_client_bingo_proto_enumTypes[1] + return &file_dota_gcmessages_client_bingo_proto_enumTypes[2] } func (x CMsgClientToGCBingoGetStatsDataResponse_EResponse) Number() protoreflect.EnumNumber { @@ -147,7 +230,7 @@ func (x *CMsgClientToGCBingoGetStatsDataResponse_EResponse) UnmarshalJSON(b []by // Deprecated: Use CMsgClientToGCBingoGetStatsDataResponse_EResponse.Descriptor instead. func (CMsgClientToGCBingoGetStatsDataResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{7, 0} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{9, 0} } type CMsgClientToGCBingoClaimRowResponse_EResponse int32 @@ -195,11 +278,11 @@ func (x CMsgClientToGCBingoClaimRowResponse_EResponse) String() string { } func (CMsgClientToGCBingoClaimRowResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_client_bingo_proto_enumTypes[2].Descriptor() + return file_dota_gcmessages_client_bingo_proto_enumTypes[3].Descriptor() } func (CMsgClientToGCBingoClaimRowResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_client_bingo_proto_enumTypes[2] + return &file_dota_gcmessages_client_bingo_proto_enumTypes[3] } func (x CMsgClientToGCBingoClaimRowResponse_EResponse) Number() protoreflect.EnumNumber { @@ -218,7 +301,220 @@ func (x *CMsgClientToGCBingoClaimRowResponse_EResponse) UnmarshalJSON(b []byte) // Deprecated: Use CMsgClientToGCBingoClaimRowResponse_EResponse.Descriptor instead. func (CMsgClientToGCBingoClaimRowResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{10, 0} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{12, 0} +} + +type CMsgClientToGCBingoShuffleCardResponse_EResponse int32 + +const ( + CMsgClientToGCBingoShuffleCardResponse_k_eInternalError CMsgClientToGCBingoShuffleCardResponse_EResponse = 0 + CMsgClientToGCBingoShuffleCardResponse_k_eSuccess CMsgClientToGCBingoShuffleCardResponse_EResponse = 1 + CMsgClientToGCBingoShuffleCardResponse_k_eTooBusy CMsgClientToGCBingoShuffleCardResponse_EResponse = 2 + CMsgClientToGCBingoShuffleCardResponse_k_eDisabled CMsgClientToGCBingoShuffleCardResponse_EResponse = 3 + CMsgClientToGCBingoShuffleCardResponse_k_eTimeout CMsgClientToGCBingoShuffleCardResponse_EResponse = 4 + CMsgClientToGCBingoShuffleCardResponse_k_eExpiredCard CMsgClientToGCBingoShuffleCardResponse_EResponse = 6 + CMsgClientToGCBingoShuffleCardResponse_k_eNotAllowed CMsgClientToGCBingoShuffleCardResponse_EResponse = 7 + CMsgClientToGCBingoShuffleCardResponse_k_eInsufficientTokens CMsgClientToGCBingoShuffleCardResponse_EResponse = 8 +) + +// Enum value maps for CMsgClientToGCBingoShuffleCardResponse_EResponse. +var ( + CMsgClientToGCBingoShuffleCardResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 6: "k_eExpiredCard", + 7: "k_eNotAllowed", + 8: "k_eInsufficientTokens", + } + CMsgClientToGCBingoShuffleCardResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eExpiredCard": 6, + "k_eNotAllowed": 7, + "k_eInsufficientTokens": 8, + } +) + +func (x CMsgClientToGCBingoShuffleCardResponse_EResponse) Enum() *CMsgClientToGCBingoShuffleCardResponse_EResponse { + p := new(CMsgClientToGCBingoShuffleCardResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCBingoShuffleCardResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCBingoShuffleCardResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_bingo_proto_enumTypes[4].Descriptor() +} + +func (CMsgClientToGCBingoShuffleCardResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_bingo_proto_enumTypes[4] +} + +func (x CMsgClientToGCBingoShuffleCardResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCBingoShuffleCardResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCBingoShuffleCardResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCBingoShuffleCardResponse_EResponse.Descriptor instead. +func (CMsgClientToGCBingoShuffleCardResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{14, 0} +} + +type CMsgClientToGCBingoModifySquare_EModifyAction int32 + +const ( + CMsgClientToGCBingoModifySquare_k_eRerollStat CMsgClientToGCBingoModifySquare_EModifyAction = 0 + CMsgClientToGCBingoModifySquare_k_eUpgrade CMsgClientToGCBingoModifySquare_EModifyAction = 1 +) + +// Enum value maps for CMsgClientToGCBingoModifySquare_EModifyAction. +var ( + CMsgClientToGCBingoModifySquare_EModifyAction_name = map[int32]string{ + 0: "k_eRerollStat", + 1: "k_eUpgrade", + } + CMsgClientToGCBingoModifySquare_EModifyAction_value = map[string]int32{ + "k_eRerollStat": 0, + "k_eUpgrade": 1, + } +) + +func (x CMsgClientToGCBingoModifySquare_EModifyAction) Enum() *CMsgClientToGCBingoModifySquare_EModifyAction { + p := new(CMsgClientToGCBingoModifySquare_EModifyAction) + *p = x + return p +} + +func (x CMsgClientToGCBingoModifySquare_EModifyAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCBingoModifySquare_EModifyAction) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_bingo_proto_enumTypes[5].Descriptor() +} + +func (CMsgClientToGCBingoModifySquare_EModifyAction) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_bingo_proto_enumTypes[5] +} + +func (x CMsgClientToGCBingoModifySquare_EModifyAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCBingoModifySquare_EModifyAction) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCBingoModifySquare_EModifyAction(num) + return nil +} + +// Deprecated: Use CMsgClientToGCBingoModifySquare_EModifyAction.Descriptor instead. +func (CMsgClientToGCBingoModifySquare_EModifyAction) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{15, 0} +} + +type CMsgClientToGCBingoModifySquareResponse_EResponse int32 + +const ( + CMsgClientToGCBingoModifySquareResponse_k_eInternalError CMsgClientToGCBingoModifySquareResponse_EResponse = 0 + CMsgClientToGCBingoModifySquareResponse_k_eSuccess CMsgClientToGCBingoModifySquareResponse_EResponse = 1 + CMsgClientToGCBingoModifySquareResponse_k_eTooBusy CMsgClientToGCBingoModifySquareResponse_EResponse = 2 + CMsgClientToGCBingoModifySquareResponse_k_eDisabled CMsgClientToGCBingoModifySquareResponse_EResponse = 3 + CMsgClientToGCBingoModifySquareResponse_k_eTimeout CMsgClientToGCBingoModifySquareResponse_EResponse = 4 + CMsgClientToGCBingoModifySquareResponse_k_eExpiredCard CMsgClientToGCBingoModifySquareResponse_EResponse = 6 + CMsgClientToGCBingoModifySquareResponse_k_eNotAllowed CMsgClientToGCBingoModifySquareResponse_EResponse = 7 + CMsgClientToGCBingoModifySquareResponse_k_eInsufficientTokens CMsgClientToGCBingoModifySquareResponse_EResponse = 8 + CMsgClientToGCBingoModifySquareResponse_k_eCantUpgrade CMsgClientToGCBingoModifySquareResponse_EResponse = 9 + CMsgClientToGCBingoModifySquareResponse_k_eCantReroll CMsgClientToGCBingoModifySquareResponse_EResponse = 10 + CMsgClientToGCBingoModifySquareResponse_k_eInvalidSquare CMsgClientToGCBingoModifySquareResponse_EResponse = 11 +) + +// Enum value maps for CMsgClientToGCBingoModifySquareResponse_EResponse. +var ( + CMsgClientToGCBingoModifySquareResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 6: "k_eExpiredCard", + 7: "k_eNotAllowed", + 8: "k_eInsufficientTokens", + 9: "k_eCantUpgrade", + 10: "k_eCantReroll", + 11: "k_eInvalidSquare", + } + CMsgClientToGCBingoModifySquareResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eExpiredCard": 6, + "k_eNotAllowed": 7, + "k_eInsufficientTokens": 8, + "k_eCantUpgrade": 9, + "k_eCantReroll": 10, + "k_eInvalidSquare": 11, + } +) + +func (x CMsgClientToGCBingoModifySquareResponse_EResponse) Enum() *CMsgClientToGCBingoModifySquareResponse_EResponse { + p := new(CMsgClientToGCBingoModifySquareResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCBingoModifySquareResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCBingoModifySquareResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_bingo_proto_enumTypes[6].Descriptor() +} + +func (CMsgClientToGCBingoModifySquareResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_bingo_proto_enumTypes[6] +} + +func (x CMsgClientToGCBingoModifySquareResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCBingoModifySquareResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCBingoModifySquareResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCBingoModifySquareResponse_EResponse.Descriptor instead. +func (CMsgClientToGCBingoModifySquareResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{16, 0} } type CMsgClientToGCBingoDevRerollCardResponse_EResponse int32 @@ -266,11 +562,11 @@ func (x CMsgClientToGCBingoDevRerollCardResponse_EResponse) String() string { } func (CMsgClientToGCBingoDevRerollCardResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_client_bingo_proto_enumTypes[3].Descriptor() + return file_dota_gcmessages_client_bingo_proto_enumTypes[7].Descriptor() } func (CMsgClientToGCBingoDevRerollCardResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_client_bingo_proto_enumTypes[3] + return &file_dota_gcmessages_client_bingo_proto_enumTypes[7] } func (x CMsgClientToGCBingoDevRerollCardResponse_EResponse) Number() protoreflect.EnumNumber { @@ -289,7 +585,149 @@ func (x *CMsgClientToGCBingoDevRerollCardResponse_EResponse) UnmarshalJSON(b []b // Deprecated: Use CMsgClientToGCBingoDevRerollCardResponse_EResponse.Descriptor instead. func (CMsgClientToGCBingoDevRerollCardResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{12, 0} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{18, 0} +} + +type CMsgClientToGCBingoDevAddTokensResponse_EResponse int32 + +const ( + CMsgClientToGCBingoDevAddTokensResponse_k_eInternalError CMsgClientToGCBingoDevAddTokensResponse_EResponse = 0 + CMsgClientToGCBingoDevAddTokensResponse_k_eSuccess CMsgClientToGCBingoDevAddTokensResponse_EResponse = 1 + CMsgClientToGCBingoDevAddTokensResponse_k_eTooBusy CMsgClientToGCBingoDevAddTokensResponse_EResponse = 2 + CMsgClientToGCBingoDevAddTokensResponse_k_eDisabled CMsgClientToGCBingoDevAddTokensResponse_EResponse = 3 + CMsgClientToGCBingoDevAddTokensResponse_k_eTimeout CMsgClientToGCBingoDevAddTokensResponse_EResponse = 4 + CMsgClientToGCBingoDevAddTokensResponse_k_eExpiredCard CMsgClientToGCBingoDevAddTokensResponse_EResponse = 6 + CMsgClientToGCBingoDevAddTokensResponse_k_eNotAllowed CMsgClientToGCBingoDevAddTokensResponse_EResponse = 7 +) + +// Enum value maps for CMsgClientToGCBingoDevAddTokensResponse_EResponse. +var ( + CMsgClientToGCBingoDevAddTokensResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 6: "k_eExpiredCard", + 7: "k_eNotAllowed", + } + CMsgClientToGCBingoDevAddTokensResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eExpiredCard": 6, + "k_eNotAllowed": 7, + } +) + +func (x CMsgClientToGCBingoDevAddTokensResponse_EResponse) Enum() *CMsgClientToGCBingoDevAddTokensResponse_EResponse { + p := new(CMsgClientToGCBingoDevAddTokensResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCBingoDevAddTokensResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCBingoDevAddTokensResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_bingo_proto_enumTypes[8].Descriptor() +} + +func (CMsgClientToGCBingoDevAddTokensResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_bingo_proto_enumTypes[8] +} + +func (x CMsgClientToGCBingoDevAddTokensResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCBingoDevAddTokensResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCBingoDevAddTokensResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCBingoDevAddTokensResponse_EResponse.Descriptor instead. +func (CMsgClientToGCBingoDevAddTokensResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{20, 0} +} + +type CMsgClientToGCBingoDevClearInventoryResponse_EResponse int32 + +const ( + CMsgClientToGCBingoDevClearInventoryResponse_k_eInternalError CMsgClientToGCBingoDevClearInventoryResponse_EResponse = 0 + CMsgClientToGCBingoDevClearInventoryResponse_k_eSuccess CMsgClientToGCBingoDevClearInventoryResponse_EResponse = 1 + CMsgClientToGCBingoDevClearInventoryResponse_k_eTooBusy CMsgClientToGCBingoDevClearInventoryResponse_EResponse = 2 + CMsgClientToGCBingoDevClearInventoryResponse_k_eDisabled CMsgClientToGCBingoDevClearInventoryResponse_EResponse = 3 + CMsgClientToGCBingoDevClearInventoryResponse_k_eTimeout CMsgClientToGCBingoDevClearInventoryResponse_EResponse = 4 + CMsgClientToGCBingoDevClearInventoryResponse_k_eExpiredCard CMsgClientToGCBingoDevClearInventoryResponse_EResponse = 6 + CMsgClientToGCBingoDevClearInventoryResponse_k_eNotAllowed CMsgClientToGCBingoDevClearInventoryResponse_EResponse = 7 +) + +// Enum value maps for CMsgClientToGCBingoDevClearInventoryResponse_EResponse. +var ( + CMsgClientToGCBingoDevClearInventoryResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 6: "k_eExpiredCard", + 7: "k_eNotAllowed", + } + CMsgClientToGCBingoDevClearInventoryResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eExpiredCard": 6, + "k_eNotAllowed": 7, + } +) + +func (x CMsgClientToGCBingoDevClearInventoryResponse_EResponse) Enum() *CMsgClientToGCBingoDevClearInventoryResponse_EResponse { + p := new(CMsgClientToGCBingoDevClearInventoryResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCBingoDevClearInventoryResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCBingoDevClearInventoryResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_bingo_proto_enumTypes[9].Descriptor() +} + +func (CMsgClientToGCBingoDevClearInventoryResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_bingo_proto_enumTypes[9] +} + +func (x CMsgClientToGCBingoDevClearInventoryResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCBingoDevClearInventoryResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCBingoDevClearInventoryResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCBingoDevClearInventoryResponse_EResponse.Descriptor instead. +func (CMsgClientToGCBingoDevClearInventoryResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{22, 0} } type CMsgBingoSquare struct { @@ -299,6 +737,7 @@ type CMsgBingoSquare struct { StatId *uint32 `protobuf:"varint,1,opt,name=stat_id,json=statId" json:"stat_id,omitempty"` StatThreshold *int32 `protobuf:"varint,2,opt,name=stat_threshold,json=statThreshold" json:"stat_threshold,omitempty"` + UpgradeLevel *uint32 `protobuf:"varint,3,opt,name=upgrade_level,json=upgradeLevel" json:"upgrade_level,omitempty"` } func (x *CMsgBingoSquare) Reset() { @@ -347,18 +786,120 @@ func (x *CMsgBingoSquare) GetStatThreshold() int32 { return 0 } -type CMsgBingoUserData struct { +func (x *CMsgBingoSquare) GetUpgradeLevel() uint32 { + if x != nil && x.UpgradeLevel != nil { + return *x.UpgradeLevel + } + return 0 +} + +type CMsgBingoTokens struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Squares []*CMsgBingoSquare `protobuf:"bytes,1,rep,name=squares" json:"squares,omitempty"` + TokenCount *uint32 `protobuf:"varint,1,opt,name=token_count,json=tokenCount" json:"token_count,omitempty"` +} + +func (x *CMsgBingoTokens) Reset() { + *x = CMsgBingoTokens{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgBingoTokens) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgBingoTokens) ProtoMessage() {} + +func (x *CMsgBingoTokens) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgBingoTokens.ProtoReflect.Descriptor instead. +func (*CMsgBingoTokens) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{1} +} + +func (x *CMsgBingoTokens) GetTokenCount() uint32 { + if x != nil && x.TokenCount != nil { + return *x.TokenCount + } + return 0 +} + +type CMsgBingoCard struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Squares []*CMsgBingoSquare `protobuf:"bytes,1,rep,name=squares" json:"squares,omitempty"` +} + +func (x *CMsgBingoCard) Reset() { + *x = CMsgBingoCard{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgBingoCard) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgBingoCard) ProtoMessage() {} + +func (x *CMsgBingoCard) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgBingoCard.ProtoReflect.Descriptor instead. +func (*CMsgBingoCard) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{2} +} + +func (x *CMsgBingoCard) GetSquares() []*CMsgBingoSquare { + if x != nil { + return x.Squares + } + return nil +} + +type CMsgBingoUserData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BingoCards []*CMsgBingoUserData_BingoCardsEntry `protobuf:"bytes,1,rep,name=bingo_cards,json=bingoCards" json:"bingo_cards,omitempty"` + BingoTokens []*CMsgBingoUserData_BingoTokensEntry `protobuf:"bytes,2,rep,name=bingo_tokens,json=bingoTokens" json:"bingo_tokens,omitempty"` } func (x *CMsgBingoUserData) Reset() { *x = CMsgBingoUserData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[1] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -371,7 +912,7 @@ func (x *CMsgBingoUserData) String() string { func (*CMsgBingoUserData) ProtoMessage() {} func (x *CMsgBingoUserData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[1] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -384,12 +925,19 @@ func (x *CMsgBingoUserData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgBingoUserData.ProtoReflect.Descriptor instead. func (*CMsgBingoUserData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{1} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{3} } -func (x *CMsgBingoUserData) GetSquares() []*CMsgBingoSquare { +func (x *CMsgBingoUserData) GetBingoCards() []*CMsgBingoUserData_BingoCardsEntry { if x != nil { - return x.Squares + return x.BingoCards + } + return nil +} + +func (x *CMsgBingoUserData) GetBingoTokens() []*CMsgBingoUserData_BingoTokensEntry { + if x != nil { + return x.BingoTokens } return nil } @@ -399,14 +947,13 @@ type CMsgClientToGCBingoGetUserData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` - LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` } func (x *CMsgClientToGCBingoGetUserData) Reset() { *x = CMsgClientToGCBingoGetUserData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[2] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -419,7 +966,7 @@ func (x *CMsgClientToGCBingoGetUserData) String() string { func (*CMsgClientToGCBingoGetUserData) ProtoMessage() {} func (x *CMsgClientToGCBingoGetUserData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[2] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -432,7 +979,7 @@ func (x *CMsgClientToGCBingoGetUserData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCBingoGetUserData.ProtoReflect.Descriptor instead. func (*CMsgClientToGCBingoGetUserData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{2} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{4} } func (x *CMsgClientToGCBingoGetUserData) GetLeagueId() uint32 { @@ -442,13 +989,6 @@ func (x *CMsgClientToGCBingoGetUserData) GetLeagueId() uint32 { return 0 } -func (x *CMsgClientToGCBingoGetUserData) GetLeaguePhase() uint32 { - if x != nil && x.LeaguePhase != nil { - return *x.LeaguePhase - } - return 0 -} - type CMsgClientToGCBingoGetUserDataResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -461,7 +1001,7 @@ type CMsgClientToGCBingoGetUserDataResponse struct { func (x *CMsgClientToGCBingoGetUserDataResponse) Reset() { *x = CMsgClientToGCBingoGetUserDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[3] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -474,7 +1014,7 @@ func (x *CMsgClientToGCBingoGetUserDataResponse) String() string { func (*CMsgClientToGCBingoGetUserDataResponse) ProtoMessage() {} func (x *CMsgClientToGCBingoGetUserDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[3] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -487,7 +1027,7 @@ func (x *CMsgClientToGCBingoGetUserDataResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCBingoGetUserDataResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCBingoGetUserDataResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{3} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{5} } func (x *CMsgClientToGCBingoGetUserDataResponse) GetResponse() CMsgClientToGCBingoGetUserDataResponse_EResponse { @@ -516,7 +1056,7 @@ type CMsgBingoIndividualStatData struct { func (x *CMsgBingoIndividualStatData) Reset() { *x = CMsgBingoIndividualStatData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[4] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -529,7 +1069,7 @@ func (x *CMsgBingoIndividualStatData) String() string { func (*CMsgBingoIndividualStatData) ProtoMessage() {} func (x *CMsgBingoIndividualStatData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[4] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -542,7 +1082,7 @@ func (x *CMsgBingoIndividualStatData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgBingoIndividualStatData.ProtoReflect.Descriptor instead. func (*CMsgBingoIndividualStatData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{4} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{6} } func (x *CMsgBingoIndividualStatData) GetStatId() uint32 { @@ -570,7 +1110,7 @@ type CMsgBingoStatsData struct { func (x *CMsgBingoStatsData) Reset() { *x = CMsgBingoStatsData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[5] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -583,7 +1123,7 @@ func (x *CMsgBingoStatsData) String() string { func (*CMsgBingoStatsData) ProtoMessage() {} func (x *CMsgBingoStatsData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[5] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -596,7 +1136,7 @@ func (x *CMsgBingoStatsData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgBingoStatsData.ProtoReflect.Descriptor instead. func (*CMsgBingoStatsData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{5} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{7} } func (x *CMsgBingoStatsData) GetStatsData() []*CMsgBingoIndividualStatData { @@ -618,7 +1158,7 @@ type CMsgClientToGCBingoGetStatsData struct { func (x *CMsgClientToGCBingoGetStatsData) Reset() { *x = CMsgClientToGCBingoGetStatsData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[6] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -631,7 +1171,7 @@ func (x *CMsgClientToGCBingoGetStatsData) String() string { func (*CMsgClientToGCBingoGetStatsData) ProtoMessage() {} func (x *CMsgClientToGCBingoGetStatsData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[6] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -644,7 +1184,7 @@ func (x *CMsgClientToGCBingoGetStatsData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCBingoGetStatsData.ProtoReflect.Descriptor instead. func (*CMsgClientToGCBingoGetStatsData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{6} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{8} } func (x *CMsgClientToGCBingoGetStatsData) GetLeagueId() uint32 { @@ -673,7 +1213,7 @@ type CMsgClientToGCBingoGetStatsDataResponse struct { func (x *CMsgClientToGCBingoGetStatsDataResponse) Reset() { *x = CMsgClientToGCBingoGetStatsDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[7] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -686,7 +1226,7 @@ func (x *CMsgClientToGCBingoGetStatsDataResponse) String() string { func (*CMsgClientToGCBingoGetStatsDataResponse) ProtoMessage() {} func (x *CMsgClientToGCBingoGetStatsDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[7] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -699,7 +1239,7 @@ func (x *CMsgClientToGCBingoGetStatsDataResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgClientToGCBingoGetStatsDataResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCBingoGetStatsDataResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{7} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{9} } func (x *CMsgClientToGCBingoGetStatsDataResponse) GetResponse() CMsgClientToGCBingoGetStatsDataResponse_EResponse { @@ -721,15 +1261,14 @@ type CMsgGCToClientBingoUserDataUpdated struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` - LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` - UserData *CMsgBingoUserData `protobuf:"bytes,3,opt,name=user_data,json=userData" json:"user_data,omitempty"` + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` + UserData *CMsgBingoUserData `protobuf:"bytes,2,opt,name=user_data,json=userData" json:"user_data,omitempty"` } func (x *CMsgGCToClientBingoUserDataUpdated) Reset() { *x = CMsgGCToClientBingoUserDataUpdated{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[8] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -742,7 +1281,7 @@ func (x *CMsgGCToClientBingoUserDataUpdated) String() string { func (*CMsgGCToClientBingoUserDataUpdated) ProtoMessage() {} func (x *CMsgGCToClientBingoUserDataUpdated) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[8] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -755,7 +1294,7 @@ func (x *CMsgGCToClientBingoUserDataUpdated) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientBingoUserDataUpdated.ProtoReflect.Descriptor instead. func (*CMsgGCToClientBingoUserDataUpdated) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{8} + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{10} } func (x *CMsgGCToClientBingoUserDataUpdated) GetLeagueId() uint32 { @@ -765,47 +1304,580 @@ func (x *CMsgGCToClientBingoUserDataUpdated) GetLeagueId() uint32 { return 0 } -func (x *CMsgGCToClientBingoUserDataUpdated) GetLeaguePhase() uint32 { - if x != nil && x.LeaguePhase != nil { - return *x.LeaguePhase +func (x *CMsgGCToClientBingoUserDataUpdated) GetUserData() *CMsgBingoUserData { + if x != nil { + return x.UserData + } + return nil +} + +type CMsgClientToGCBingoClaimRow struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` + LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` + RowIndex *uint32 `protobuf:"varint,3,opt,name=row_index,json=rowIndex" json:"row_index,omitempty"` +} + +func (x *CMsgClientToGCBingoClaimRow) Reset() { + *x = CMsgClientToGCBingoClaimRow{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoClaimRow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoClaimRow) ProtoMessage() {} + +func (x *CMsgClientToGCBingoClaimRow) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoClaimRow.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoClaimRow) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{11} +} + +func (x *CMsgClientToGCBingoClaimRow) GetLeagueId() uint32 { + if x != nil && x.LeagueId != nil { + return *x.LeagueId + } + return 0 +} + +func (x *CMsgClientToGCBingoClaimRow) GetLeaguePhase() uint32 { + if x != nil && x.LeaguePhase != nil { + return *x.LeaguePhase + } + return 0 +} + +func (x *CMsgClientToGCBingoClaimRow) GetRowIndex() uint32 { + if x != nil && x.RowIndex != nil { + return *x.RowIndex + } + return 0 +} + +type CMsgClientToGCBingoClaimRowResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCBingoClaimRowResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoClaimRowResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCBingoClaimRowResponse) Reset() { + *x = CMsgClientToGCBingoClaimRowResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoClaimRowResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoClaimRowResponse) ProtoMessage() {} + +func (x *CMsgClientToGCBingoClaimRowResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoClaimRowResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoClaimRowResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{12} +} + +func (x *CMsgClientToGCBingoClaimRowResponse) GetResponse() CMsgClientToGCBingoClaimRowResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCBingoClaimRowResponse_k_eInternalError +} + +type CMsgClientToGCBingoShuffleCard struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` + LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` +} + +func (x *CMsgClientToGCBingoShuffleCard) Reset() { + *x = CMsgClientToGCBingoShuffleCard{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoShuffleCard) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoShuffleCard) ProtoMessage() {} + +func (x *CMsgClientToGCBingoShuffleCard) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoShuffleCard.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoShuffleCard) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{13} +} + +func (x *CMsgClientToGCBingoShuffleCard) GetLeagueId() uint32 { + if x != nil && x.LeagueId != nil { + return *x.LeagueId + } + return 0 +} + +func (x *CMsgClientToGCBingoShuffleCard) GetLeaguePhase() uint32 { + if x != nil && x.LeaguePhase != nil { + return *x.LeaguePhase + } + return 0 +} + +type CMsgClientToGCBingoShuffleCardResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCBingoShuffleCardResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoShuffleCardResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCBingoShuffleCardResponse) Reset() { + *x = CMsgClientToGCBingoShuffleCardResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoShuffleCardResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoShuffleCardResponse) ProtoMessage() {} + +func (x *CMsgClientToGCBingoShuffleCardResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoShuffleCardResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoShuffleCardResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{14} +} + +func (x *CMsgClientToGCBingoShuffleCardResponse) GetResponse() CMsgClientToGCBingoShuffleCardResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCBingoShuffleCardResponse_k_eInternalError +} + +type CMsgClientToGCBingoModifySquare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` + LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` + SquareIndex *uint32 `protobuf:"varint,3,opt,name=square_index,json=squareIndex" json:"square_index,omitempty"` + Action *CMsgClientToGCBingoModifySquare_EModifyAction `protobuf:"varint,4,opt,name=action,enum=dota.CMsgClientToGCBingoModifySquare_EModifyAction" json:"action,omitempty"` +} + +func (x *CMsgClientToGCBingoModifySquare) Reset() { + *x = CMsgClientToGCBingoModifySquare{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoModifySquare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoModifySquare) ProtoMessage() {} + +func (x *CMsgClientToGCBingoModifySquare) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoModifySquare.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoModifySquare) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{15} +} + +func (x *CMsgClientToGCBingoModifySquare) GetLeagueId() uint32 { + if x != nil && x.LeagueId != nil { + return *x.LeagueId + } + return 0 +} + +func (x *CMsgClientToGCBingoModifySquare) GetLeaguePhase() uint32 { + if x != nil && x.LeaguePhase != nil { + return *x.LeaguePhase + } + return 0 +} + +func (x *CMsgClientToGCBingoModifySquare) GetSquareIndex() uint32 { + if x != nil && x.SquareIndex != nil { + return *x.SquareIndex + } + return 0 +} + +func (x *CMsgClientToGCBingoModifySquare) GetAction() CMsgClientToGCBingoModifySquare_EModifyAction { + if x != nil && x.Action != nil { + return *x.Action + } + return CMsgClientToGCBingoModifySquare_k_eRerollStat +} + +type CMsgClientToGCBingoModifySquareResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCBingoModifySquareResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoModifySquareResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCBingoModifySquareResponse) Reset() { + *x = CMsgClientToGCBingoModifySquareResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoModifySquareResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoModifySquareResponse) ProtoMessage() {} + +func (x *CMsgClientToGCBingoModifySquareResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoModifySquareResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoModifySquareResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{16} +} + +func (x *CMsgClientToGCBingoModifySquareResponse) GetResponse() CMsgClientToGCBingoModifySquareResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCBingoModifySquareResponse_k_eInternalError +} + +type CMsgClientToGCBingoDevRerollCard struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` + LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` +} + +func (x *CMsgClientToGCBingoDevRerollCard) Reset() { + *x = CMsgClientToGCBingoDevRerollCard{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoDevRerollCard) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoDevRerollCard) ProtoMessage() {} + +func (x *CMsgClientToGCBingoDevRerollCard) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoDevRerollCard.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoDevRerollCard) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{17} +} + +func (x *CMsgClientToGCBingoDevRerollCard) GetLeagueId() uint32 { + if x != nil && x.LeagueId != nil { + return *x.LeagueId + } + return 0 +} + +func (x *CMsgClientToGCBingoDevRerollCard) GetLeaguePhase() uint32 { + if x != nil && x.LeaguePhase != nil { + return *x.LeaguePhase + } + return 0 +} + +type CMsgClientToGCBingoDevRerollCardResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCBingoDevRerollCardResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoDevRerollCardResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCBingoDevRerollCardResponse) Reset() { + *x = CMsgClientToGCBingoDevRerollCardResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoDevRerollCardResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoDevRerollCardResponse) ProtoMessage() {} + +func (x *CMsgClientToGCBingoDevRerollCardResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoDevRerollCardResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoDevRerollCardResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{18} +} + +func (x *CMsgClientToGCBingoDevRerollCardResponse) GetResponse() CMsgClientToGCBingoDevRerollCardResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCBingoDevRerollCardResponse_k_eInternalError +} + +type CMsgClientToGCBingoDevAddTokens struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` + LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` + TokenCount *int32 `protobuf:"varint,3,opt,name=token_count,json=tokenCount" json:"token_count,omitempty"` +} + +func (x *CMsgClientToGCBingoDevAddTokens) Reset() { + *x = CMsgClientToGCBingoDevAddTokens{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoDevAddTokens) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoDevAddTokens) ProtoMessage() {} + +func (x *CMsgClientToGCBingoDevAddTokens) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCBingoDevAddTokens.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoDevAddTokens) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{19} +} + +func (x *CMsgClientToGCBingoDevAddTokens) GetLeagueId() uint32 { + if x != nil && x.LeagueId != nil { + return *x.LeagueId + } + return 0 +} + +func (x *CMsgClientToGCBingoDevAddTokens) GetLeaguePhase() uint32 { + if x != nil && x.LeaguePhase != nil { + return *x.LeaguePhase + } + return 0 +} + +func (x *CMsgClientToGCBingoDevAddTokens) GetTokenCount() int32 { + if x != nil && x.TokenCount != nil { + return *x.TokenCount + } + return 0 +} + +type CMsgClientToGCBingoDevAddTokensResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCBingoDevAddTokensResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoDevAddTokensResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCBingoDevAddTokensResponse) Reset() { + *x = CMsgClientToGCBingoDevAddTokensResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCBingoDevAddTokensResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCBingoDevAddTokensResponse) ProtoMessage() {} + +func (x *CMsgClientToGCBingoDevAddTokensResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CMsgGCToClientBingoUserDataUpdated) GetUserData() *CMsgBingoUserData { - if x != nil { - return x.UserData +// Deprecated: Use CMsgClientToGCBingoDevAddTokensResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoDevAddTokensResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{20} +} + +func (x *CMsgClientToGCBingoDevAddTokensResponse) GetResponse() CMsgClientToGCBingoDevAddTokensResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response } - return nil + return CMsgClientToGCBingoDevAddTokensResponse_k_eInternalError } -type CMsgClientToGCBingoClaimRow struct { +type CMsgClientToGCBingoDevClearInventory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` - LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` - RowIndex *uint32 `protobuf:"varint,3,opt,name=row_index,json=rowIndex" json:"row_index,omitempty"` + LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` } -func (x *CMsgClientToGCBingoClaimRow) Reset() { - *x = CMsgClientToGCBingoClaimRow{} +func (x *CMsgClientToGCBingoDevClearInventory) Reset() { + *x = CMsgClientToGCBingoDevClearInventory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[9] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgClientToGCBingoClaimRow) String() string { +func (x *CMsgClientToGCBingoDevClearInventory) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgClientToGCBingoClaimRow) ProtoMessage() {} +func (*CMsgClientToGCBingoDevClearInventory) ProtoMessage() {} -func (x *CMsgClientToGCBingoClaimRow) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[9] +func (x *CMsgClientToGCBingoDevClearInventory) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -816,57 +1888,43 @@ func (x *CMsgClientToGCBingoClaimRow) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgClientToGCBingoClaimRow.ProtoReflect.Descriptor instead. -func (*CMsgClientToGCBingoClaimRow) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{9} +// Deprecated: Use CMsgClientToGCBingoDevClearInventory.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoDevClearInventory) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{21} } -func (x *CMsgClientToGCBingoClaimRow) GetLeagueId() uint32 { +func (x *CMsgClientToGCBingoDevClearInventory) GetLeagueId() uint32 { if x != nil && x.LeagueId != nil { return *x.LeagueId } return 0 } -func (x *CMsgClientToGCBingoClaimRow) GetLeaguePhase() uint32 { - if x != nil && x.LeaguePhase != nil { - return *x.LeaguePhase - } - return 0 -} - -func (x *CMsgClientToGCBingoClaimRow) GetRowIndex() uint32 { - if x != nil && x.RowIndex != nil { - return *x.RowIndex - } - return 0 -} - -type CMsgClientToGCBingoClaimRowResponse struct { +type CMsgClientToGCBingoDevClearInventoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Response *CMsgClientToGCBingoClaimRowResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoClaimRowResponse_EResponse" json:"response,omitempty"` + Response *CMsgClientToGCBingoDevClearInventoryResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoDevClearInventoryResponse_EResponse" json:"response,omitempty"` } -func (x *CMsgClientToGCBingoClaimRowResponse) Reset() { - *x = CMsgClientToGCBingoClaimRowResponse{} +func (x *CMsgClientToGCBingoDevClearInventoryResponse) Reset() { + *x = CMsgClientToGCBingoDevClearInventoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[10] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgClientToGCBingoClaimRowResponse) String() string { +func (x *CMsgClientToGCBingoDevClearInventoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgClientToGCBingoClaimRowResponse) ProtoMessage() {} +func (*CMsgClientToGCBingoDevClearInventoryResponse) ProtoMessage() {} -func (x *CMsgClientToGCBingoClaimRowResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[10] +func (x *CMsgClientToGCBingoDevClearInventoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -877,44 +1935,44 @@ func (x *CMsgClientToGCBingoClaimRowResponse) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use CMsgClientToGCBingoClaimRowResponse.ProtoReflect.Descriptor instead. -func (*CMsgClientToGCBingoClaimRowResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{10} +// Deprecated: Use CMsgClientToGCBingoDevClearInventoryResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCBingoDevClearInventoryResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{22} } -func (x *CMsgClientToGCBingoClaimRowResponse) GetResponse() CMsgClientToGCBingoClaimRowResponse_EResponse { +func (x *CMsgClientToGCBingoDevClearInventoryResponse) GetResponse() CMsgClientToGCBingoDevClearInventoryResponse_EResponse { if x != nil && x.Response != nil { return *x.Response } - return CMsgClientToGCBingoClaimRowResponse_k_eInternalError + return CMsgClientToGCBingoDevClearInventoryResponse_k_eInternalError } -type CMsgClientToGCBingoDevRerollCard struct { +type CMsgBingoUserData_BingoCardsEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LeagueId *uint32 `protobuf:"varint,1,opt,name=league_id,json=leagueId" json:"league_id,omitempty"` - LeaguePhase *uint32 `protobuf:"varint,2,opt,name=league_phase,json=leaguePhase" json:"league_phase,omitempty"` + Key *uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value *CMsgBingoCard `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` } -func (x *CMsgClientToGCBingoDevRerollCard) Reset() { - *x = CMsgClientToGCBingoDevRerollCard{} +func (x *CMsgBingoUserData_BingoCardsEntry) Reset() { + *x = CMsgBingoUserData_BingoCardsEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[11] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgClientToGCBingoDevRerollCard) String() string { +func (x *CMsgBingoUserData_BingoCardsEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgClientToGCBingoDevRerollCard) ProtoMessage() {} +func (*CMsgBingoUserData_BingoCardsEntry) ProtoMessage() {} -func (x *CMsgClientToGCBingoDevRerollCard) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[11] +func (x *CMsgBingoUserData_BingoCardsEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -925,50 +1983,51 @@ func (x *CMsgClientToGCBingoDevRerollCard) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgClientToGCBingoDevRerollCard.ProtoReflect.Descriptor instead. -func (*CMsgClientToGCBingoDevRerollCard) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{11} +// Deprecated: Use CMsgBingoUserData_BingoCardsEntry.ProtoReflect.Descriptor instead. +func (*CMsgBingoUserData_BingoCardsEntry) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{3, 0} } -func (x *CMsgClientToGCBingoDevRerollCard) GetLeagueId() uint32 { - if x != nil && x.LeagueId != nil { - return *x.LeagueId +func (x *CMsgBingoUserData_BingoCardsEntry) GetKey() uint32 { + if x != nil && x.Key != nil { + return *x.Key } return 0 } -func (x *CMsgClientToGCBingoDevRerollCard) GetLeaguePhase() uint32 { - if x != nil && x.LeaguePhase != nil { - return *x.LeaguePhase +func (x *CMsgBingoUserData_BingoCardsEntry) GetValue() *CMsgBingoCard { + if x != nil { + return x.Value } - return 0 + return nil } -type CMsgClientToGCBingoDevRerollCardResponse struct { +type CMsgBingoUserData_BingoTokensEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Response *CMsgClientToGCBingoDevRerollCardResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCBingoDevRerollCardResponse_EResponse" json:"response,omitempty"` + Key *uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value *CMsgBingoTokens `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` } -func (x *CMsgClientToGCBingoDevRerollCardResponse) Reset() { - *x = CMsgClientToGCBingoDevRerollCardResponse{} +func (x *CMsgBingoUserData_BingoTokensEntry) Reset() { + *x = CMsgBingoUserData_BingoTokensEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[12] + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgClientToGCBingoDevRerollCardResponse) String() string { +func (x *CMsgBingoUserData_BingoTokensEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgClientToGCBingoDevRerollCardResponse) ProtoMessage() {} +func (*CMsgBingoUserData_BingoTokensEntry) ProtoMessage() {} -func (x *CMsgClientToGCBingoDevRerollCardResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[12] +func (x *CMsgBingoUserData_BingoTokensEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_bingo_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -979,16 +2038,23 @@ func (x *CMsgClientToGCBingoDevRerollCardResponse) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use CMsgClientToGCBingoDevRerollCardResponse.ProtoReflect.Descriptor instead. -func (*CMsgClientToGCBingoDevRerollCardResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{12} +// Deprecated: Use CMsgBingoUserData_BingoTokensEntry.ProtoReflect.Descriptor instead. +func (*CMsgBingoUserData_BingoTokensEntry) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_bingo_proto_rawDescGZIP(), []int{3, 1} } -func (x *CMsgClientToGCBingoDevRerollCardResponse) GetResponse() CMsgClientToGCBingoDevRerollCardResponse_EResponse { - if x != nil && x.Response != nil { - return *x.Response +func (x *CMsgBingoUserData_BingoTokensEntry) GetKey() uint32 { + if x != nil && x.Key != nil { + return *x.Key } - return CMsgClientToGCBingoDevRerollCardResponse_k_eInternalError + return 0 +} + +func (x *CMsgBingoUserData_BingoTokensEntry) GetValue() *CMsgBingoTokens { + if x != nil { + return x.Value + } + return nil } var File_dota_gcmessages_client_bingo_proto protoreflect.FileDescriptor @@ -1011,134 +2077,295 @@ var file_dota_gcmessages_client_bingo_proto_rawDesc = []byte{ 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x51, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x71, 0x75, 0x61, + 0x76, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, - 0x6c, 0x64, 0x22, 0x44, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, - 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x71, 0x75, 0x61, 0x72, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x52, - 0x07, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, + 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x32, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x42, + 0x69, 0x6e, 0x67, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x0d, 0x43, + 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07, + 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x71, + 0x75, 0x61, 0x72, 0x65, 0x52, 0x07, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x73, 0x22, 0xcd, 0x02, + 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x67, 0x6f, 0x5f, 0x63, 0x61, 0x72, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x4b, 0x0a, + 0x0c, 0x62, 0x69, 0x6e, 0x67, 0x6f, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, + 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, + 0x67, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x62, + 0x69, 0x6e, 0x67, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x4e, 0x0a, 0x0f, 0x42, 0x69, + 0x6e, 0x67, 0x6f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x51, 0x0a, 0x10, 0x42, 0x69, + 0x6e, 0x67, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3d, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, + 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0x96, 0x02, 0x0a, + 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, + 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, + 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, + 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x22, 0x62, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, + 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x10, 0x04, 0x22, 0x55, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, + 0x67, 0x6f, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x56, 0x0a, 0x12, + 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x61, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, + 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, - 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x96, 0x02, 0x0a, 0x26, 0x43, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x22, 0x62, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, + 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x10, 0x04, 0x22, 0x77, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, + 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x7a, + 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x12, 0x1b, 0x0a, + 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, + 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x72, 0x6f, 0x77, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x82, 0x02, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, - 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x67, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, + 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x77, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, + 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x10, 0x06, 0x22, + 0x60, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, + 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xa4, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, + 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, + 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, + 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x08, 0x22, 0x85, 0x02, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, + 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4b, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x53, + 0x71, 0x75, 0x61, 0x72, 0x65, 0x2e, 0x45, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x0d, 0x45, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x0a, 0x0d, + 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x10, 0x01, 0x22, + 0xe2, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x53, 0x71, 0x75, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x53, 0x71, + 0x75, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xe1, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, + 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, + 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, + 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x43, 0x61, + 0x6e, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x6b, + 0x5f, 0x65, 0x43, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x10, 0x0a, 0x12, 0x14, + 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x71, 0x75, 0x61, + 0x72, 0x65, 0x10, 0x0b, 0x22, 0x62, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x52, 0x65, + 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x28, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, + 0x44, 0x65, 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, - 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, - 0x62, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x10, 0x04, 0x22, 0x55, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, - 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x56, 0x0a, 0x12, 0x43, 0x4d, - 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x40, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, - 0x74, 0x61, 0x22, 0x61, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, - 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, - 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x22, - 0x62, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x10, 0x04, 0x22, 0x9a, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, - 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x7a, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x12, - 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x82, 0x02, 0x0a, - 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, - 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, - 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, - 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x77, 0x10, 0x05, 0x12, 0x12, 0x0a, - 0x0e, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x10, - 0x06, 0x22, 0x62, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, - 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, - 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, - 0x50, 0x68, 0x61, 0x73, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, - 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x67, 0x6f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, + 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, + 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, + 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, + 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x07, 0x22, 0x82, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, - 0x65, 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, - 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, - 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, - 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x12, 0x0a, - 0x0e, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x10, - 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x10, 0x07, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, - 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x65, 0x76, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, + 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8a, 0x02, 0x0a, + 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, + 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, + 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, + 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, + 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x07, 0x22, 0x43, 0x0a, 0x24, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, + 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0x94, + 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x58, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x43, + 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, + 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x12, + 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x10, 0x07, 0x2a, 0xd1, 0x03, 0x0a, 0x11, 0x45, 0x42, 0x69, 0x6e, 0x67, 0x6f, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, + 0x5f, 0x65, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, + 0x6b, 0x5f, 0x65, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x65, 0x42, 0x69, 0x6e, 0x67, + 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, + 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x02, + 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x65, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, + 0x6c, 0x43, 0x61, 0x72, 0x64, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x65, 0x42, 0x69, + 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x53, + 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, + 0x6b, 0x5f, 0x65, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, + 0x10, 0x05, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x65, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x65, + 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x10, 0x07, 0x12, 0x2d, 0x0a, 0x29, 0x6b, + 0x5f, 0x65, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x10, 0x08, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, + 0x65, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x09, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x65, 0x42, 0x69, 0x6e, + 0x67, 0x6f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x46, 0x69, 0x78, 0x75, 0x70, 0x10, 0x0a, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, + 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -1153,42 +2380,69 @@ func file_dota_gcmessages_client_bingo_proto_rawDescGZIP() []byte { return file_dota_gcmessages_client_bingo_proto_rawDescData } -var file_dota_gcmessages_client_bingo_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_dota_gcmessages_client_bingo_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_dota_gcmessages_client_bingo_proto_enumTypes = make([]protoimpl.EnumInfo, 10) +var file_dota_gcmessages_client_bingo_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_dota_gcmessages_client_bingo_proto_goTypes = []interface{}{ - (CMsgClientToGCBingoGetUserDataResponse_EResponse)(0), // 0: dota.CMsgClientToGCBingoGetUserDataResponse.EResponse - (CMsgClientToGCBingoGetStatsDataResponse_EResponse)(0), // 1: dota.CMsgClientToGCBingoGetStatsDataResponse.EResponse - (CMsgClientToGCBingoClaimRowResponse_EResponse)(0), // 2: dota.CMsgClientToGCBingoClaimRowResponse.EResponse - (CMsgClientToGCBingoDevRerollCardResponse_EResponse)(0), // 3: dota.CMsgClientToGCBingoDevRerollCardResponse.EResponse - (*CMsgBingoSquare)(nil), // 4: dota.CMsgBingoSquare - (*CMsgBingoUserData)(nil), // 5: dota.CMsgBingoUserData - (*CMsgClientToGCBingoGetUserData)(nil), // 6: dota.CMsgClientToGCBingoGetUserData - (*CMsgClientToGCBingoGetUserDataResponse)(nil), // 7: dota.CMsgClientToGCBingoGetUserDataResponse - (*CMsgBingoIndividualStatData)(nil), // 8: dota.CMsgBingoIndividualStatData - (*CMsgBingoStatsData)(nil), // 9: dota.CMsgBingoStatsData - (*CMsgClientToGCBingoGetStatsData)(nil), // 10: dota.CMsgClientToGCBingoGetStatsData - (*CMsgClientToGCBingoGetStatsDataResponse)(nil), // 11: dota.CMsgClientToGCBingoGetStatsDataResponse - (*CMsgGCToClientBingoUserDataUpdated)(nil), // 12: dota.CMsgGCToClientBingoUserDataUpdated - (*CMsgClientToGCBingoClaimRow)(nil), // 13: dota.CMsgClientToGCBingoClaimRow - (*CMsgClientToGCBingoClaimRowResponse)(nil), // 14: dota.CMsgClientToGCBingoClaimRowResponse - (*CMsgClientToGCBingoDevRerollCard)(nil), // 15: dota.CMsgClientToGCBingoDevRerollCard - (*CMsgClientToGCBingoDevRerollCardResponse)(nil), // 16: dota.CMsgClientToGCBingoDevRerollCardResponse + (EBingoAuditAction)(0), // 0: dota.EBingoAuditAction + (CMsgClientToGCBingoGetUserDataResponse_EResponse)(0), // 1: dota.CMsgClientToGCBingoGetUserDataResponse.EResponse + (CMsgClientToGCBingoGetStatsDataResponse_EResponse)(0), // 2: dota.CMsgClientToGCBingoGetStatsDataResponse.EResponse + (CMsgClientToGCBingoClaimRowResponse_EResponse)(0), // 3: dota.CMsgClientToGCBingoClaimRowResponse.EResponse + (CMsgClientToGCBingoShuffleCardResponse_EResponse)(0), // 4: dota.CMsgClientToGCBingoShuffleCardResponse.EResponse + (CMsgClientToGCBingoModifySquare_EModifyAction)(0), // 5: dota.CMsgClientToGCBingoModifySquare.EModifyAction + (CMsgClientToGCBingoModifySquareResponse_EResponse)(0), // 6: dota.CMsgClientToGCBingoModifySquareResponse.EResponse + (CMsgClientToGCBingoDevRerollCardResponse_EResponse)(0), // 7: dota.CMsgClientToGCBingoDevRerollCardResponse.EResponse + (CMsgClientToGCBingoDevAddTokensResponse_EResponse)(0), // 8: dota.CMsgClientToGCBingoDevAddTokensResponse.EResponse + (CMsgClientToGCBingoDevClearInventoryResponse_EResponse)(0), // 9: dota.CMsgClientToGCBingoDevClearInventoryResponse.EResponse + (*CMsgBingoSquare)(nil), // 10: dota.CMsgBingoSquare + (*CMsgBingoTokens)(nil), // 11: dota.CMsgBingoTokens + (*CMsgBingoCard)(nil), // 12: dota.CMsgBingoCard + (*CMsgBingoUserData)(nil), // 13: dota.CMsgBingoUserData + (*CMsgClientToGCBingoGetUserData)(nil), // 14: dota.CMsgClientToGCBingoGetUserData + (*CMsgClientToGCBingoGetUserDataResponse)(nil), // 15: dota.CMsgClientToGCBingoGetUserDataResponse + (*CMsgBingoIndividualStatData)(nil), // 16: dota.CMsgBingoIndividualStatData + (*CMsgBingoStatsData)(nil), // 17: dota.CMsgBingoStatsData + (*CMsgClientToGCBingoGetStatsData)(nil), // 18: dota.CMsgClientToGCBingoGetStatsData + (*CMsgClientToGCBingoGetStatsDataResponse)(nil), // 19: dota.CMsgClientToGCBingoGetStatsDataResponse + (*CMsgGCToClientBingoUserDataUpdated)(nil), // 20: dota.CMsgGCToClientBingoUserDataUpdated + (*CMsgClientToGCBingoClaimRow)(nil), // 21: dota.CMsgClientToGCBingoClaimRow + (*CMsgClientToGCBingoClaimRowResponse)(nil), // 22: dota.CMsgClientToGCBingoClaimRowResponse + (*CMsgClientToGCBingoShuffleCard)(nil), // 23: dota.CMsgClientToGCBingoShuffleCard + (*CMsgClientToGCBingoShuffleCardResponse)(nil), // 24: dota.CMsgClientToGCBingoShuffleCardResponse + (*CMsgClientToGCBingoModifySquare)(nil), // 25: dota.CMsgClientToGCBingoModifySquare + (*CMsgClientToGCBingoModifySquareResponse)(nil), // 26: dota.CMsgClientToGCBingoModifySquareResponse + (*CMsgClientToGCBingoDevRerollCard)(nil), // 27: dota.CMsgClientToGCBingoDevRerollCard + (*CMsgClientToGCBingoDevRerollCardResponse)(nil), // 28: dota.CMsgClientToGCBingoDevRerollCardResponse + (*CMsgClientToGCBingoDevAddTokens)(nil), // 29: dota.CMsgClientToGCBingoDevAddTokens + (*CMsgClientToGCBingoDevAddTokensResponse)(nil), // 30: dota.CMsgClientToGCBingoDevAddTokensResponse + (*CMsgClientToGCBingoDevClearInventory)(nil), // 31: dota.CMsgClientToGCBingoDevClearInventory + (*CMsgClientToGCBingoDevClearInventoryResponse)(nil), // 32: dota.CMsgClientToGCBingoDevClearInventoryResponse + (*CMsgBingoUserData_BingoCardsEntry)(nil), // 33: dota.CMsgBingoUserData.BingoCardsEntry + (*CMsgBingoUserData_BingoTokensEntry)(nil), // 34: dota.CMsgBingoUserData.BingoTokensEntry } var file_dota_gcmessages_client_bingo_proto_depIdxs = []int32{ - 4, // 0: dota.CMsgBingoUserData.squares:type_name -> dota.CMsgBingoSquare - 0, // 1: dota.CMsgClientToGCBingoGetUserDataResponse.response:type_name -> dota.CMsgClientToGCBingoGetUserDataResponse.EResponse - 5, // 2: dota.CMsgClientToGCBingoGetUserDataResponse.user_data:type_name -> dota.CMsgBingoUserData - 8, // 3: dota.CMsgBingoStatsData.stats_data:type_name -> dota.CMsgBingoIndividualStatData - 1, // 4: dota.CMsgClientToGCBingoGetStatsDataResponse.response:type_name -> dota.CMsgClientToGCBingoGetStatsDataResponse.EResponse - 9, // 5: dota.CMsgClientToGCBingoGetStatsDataResponse.stats_data:type_name -> dota.CMsgBingoStatsData - 5, // 6: dota.CMsgGCToClientBingoUserDataUpdated.user_data:type_name -> dota.CMsgBingoUserData - 2, // 7: dota.CMsgClientToGCBingoClaimRowResponse.response:type_name -> dota.CMsgClientToGCBingoClaimRowResponse.EResponse - 3, // 8: dota.CMsgClientToGCBingoDevRerollCardResponse.response:type_name -> dota.CMsgClientToGCBingoDevRerollCardResponse.EResponse - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 10, // 0: dota.CMsgBingoCard.squares:type_name -> dota.CMsgBingoSquare + 33, // 1: dota.CMsgBingoUserData.bingo_cards:type_name -> dota.CMsgBingoUserData.BingoCardsEntry + 34, // 2: dota.CMsgBingoUserData.bingo_tokens:type_name -> dota.CMsgBingoUserData.BingoTokensEntry + 1, // 3: dota.CMsgClientToGCBingoGetUserDataResponse.response:type_name -> dota.CMsgClientToGCBingoGetUserDataResponse.EResponse + 13, // 4: dota.CMsgClientToGCBingoGetUserDataResponse.user_data:type_name -> dota.CMsgBingoUserData + 16, // 5: dota.CMsgBingoStatsData.stats_data:type_name -> dota.CMsgBingoIndividualStatData + 2, // 6: dota.CMsgClientToGCBingoGetStatsDataResponse.response:type_name -> dota.CMsgClientToGCBingoGetStatsDataResponse.EResponse + 17, // 7: dota.CMsgClientToGCBingoGetStatsDataResponse.stats_data:type_name -> dota.CMsgBingoStatsData + 13, // 8: dota.CMsgGCToClientBingoUserDataUpdated.user_data:type_name -> dota.CMsgBingoUserData + 3, // 9: dota.CMsgClientToGCBingoClaimRowResponse.response:type_name -> dota.CMsgClientToGCBingoClaimRowResponse.EResponse + 4, // 10: dota.CMsgClientToGCBingoShuffleCardResponse.response:type_name -> dota.CMsgClientToGCBingoShuffleCardResponse.EResponse + 5, // 11: dota.CMsgClientToGCBingoModifySquare.action:type_name -> dota.CMsgClientToGCBingoModifySquare.EModifyAction + 6, // 12: dota.CMsgClientToGCBingoModifySquareResponse.response:type_name -> dota.CMsgClientToGCBingoModifySquareResponse.EResponse + 7, // 13: dota.CMsgClientToGCBingoDevRerollCardResponse.response:type_name -> dota.CMsgClientToGCBingoDevRerollCardResponse.EResponse + 8, // 14: dota.CMsgClientToGCBingoDevAddTokensResponse.response:type_name -> dota.CMsgClientToGCBingoDevAddTokensResponse.EResponse + 9, // 15: dota.CMsgClientToGCBingoDevClearInventoryResponse.response:type_name -> dota.CMsgClientToGCBingoDevClearInventoryResponse.EResponse + 12, // 16: dota.CMsgBingoUserData.BingoCardsEntry.value:type_name -> dota.CMsgBingoCard + 11, // 17: dota.CMsgBingoUserData.BingoTokensEntry.value:type_name -> dota.CMsgBingoTokens + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_dota_gcmessages_client_bingo_proto_init() } @@ -1219,7 +2473,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgBingoUserData); i { + switch v := v.(*CMsgBingoTokens); i { case 0: return &v.state case 1: @@ -1231,7 +2485,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCBingoGetUserData); i { + switch v := v.(*CMsgBingoCard); i { case 0: return &v.state case 1: @@ -1243,7 +2497,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCBingoGetUserDataResponse); i { + switch v := v.(*CMsgBingoUserData); i { case 0: return &v.state case 1: @@ -1255,7 +2509,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgBingoIndividualStatData); i { + switch v := v.(*CMsgClientToGCBingoGetUserData); i { case 0: return &v.state case 1: @@ -1267,7 +2521,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgBingoStatsData); i { + switch v := v.(*CMsgClientToGCBingoGetUserDataResponse); i { case 0: return &v.state case 1: @@ -1279,7 +2533,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCBingoGetStatsData); i { + switch v := v.(*CMsgBingoIndividualStatData); i { case 0: return &v.state case 1: @@ -1291,7 +2545,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCBingoGetStatsDataResponse); i { + switch v := v.(*CMsgBingoStatsData); i { case 0: return &v.state case 1: @@ -1303,7 +2557,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientBingoUserDataUpdated); i { + switch v := v.(*CMsgClientToGCBingoGetStatsData); i { case 0: return &v.state case 1: @@ -1315,7 +2569,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCBingoClaimRow); i { + switch v := v.(*CMsgClientToGCBingoGetStatsDataResponse); i { case 0: return &v.state case 1: @@ -1327,7 +2581,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCBingoClaimRowResponse); i { + switch v := v.(*CMsgGCToClientBingoUserDataUpdated); i { case 0: return &v.state case 1: @@ -1339,7 +2593,7 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCBingoDevRerollCard); i { + switch v := v.(*CMsgClientToGCBingoClaimRow); i { case 0: return &v.state case 1: @@ -1351,6 +2605,78 @@ func file_dota_gcmessages_client_bingo_proto_init() { } } file_dota_gcmessages_client_bingo_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoClaimRowResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoShuffleCard); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoShuffleCardResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoModifySquare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoModifySquareResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoDevRerollCard); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCBingoDevRerollCardResponse); i { case 0: return &v.state @@ -1362,14 +2688,86 @@ func file_dota_gcmessages_client_bingo_proto_init() { return nil } } + file_dota_gcmessages_client_bingo_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoDevAddTokens); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoDevAddTokensResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoDevClearInventory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCBingoDevClearInventoryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgBingoUserData_BingoCardsEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_bingo_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgBingoUserData_BingoTokensEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_gcmessages_client_bingo_proto_rawDesc, - NumEnums: 4, - NumMessages: 13, + NumEnums: 10, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_gcmessages_client_bingo.proto b/dota/dota_gcmessages_client_bingo.proto index e45108c9..7d9f876b 100644 --- a/dota/dota_gcmessages_client_bingo.proto +++ b/dota/dota_gcmessages_client_bingo.proto @@ -13,18 +13,51 @@ import "econ_gcmessages.proto"; import "dota_gcmessages_client.proto"; import "valveextensions.proto"; +enum EBingoAuditAction { + k_eBingoAuditAction_Invalid = 0; + k_eBingoAuditAction_DevModifyTokens = 1; + k_eBingoAuditAction_DevClearInventory = 2; + k_eBingoAuditAction_DevRerollCard = 3; + k_eBingoAuditAction_ShuffleCard = 4; + k_eBingoAuditAction_RerollSquare = 5; + k_eBingoAuditAction_UpgradeSquare = 6; + k_eBingoAuditAction_ClaimRow = 7; + k_eBingoAuditAction_EventActionTokenGrant = 8; + k_eBingoAuditAction_SupportGrantTokens = 9; + k_eBingoAuditAction_SupportStatThresholdFixup = 10; +} + message CMsgBingoSquare { optional uint32 stat_id = 1; optional int32 stat_threshold = 2; + optional uint32 upgrade_level = 3; } -message CMsgBingoUserData { +message CMsgBingoTokens { + optional uint32 token_count = 1; +} + +message CMsgBingoCard { repeated CMsgBingoSquare squares = 1; } +message CMsgBingoUserData { + message BingoCardsEntry { + optional uint32 key = 1; + optional CMsgBingoCard value = 2; + } + + message BingoTokensEntry { + optional uint32 key = 1; + optional CMsgBingoTokens value = 2; + } + + repeated CMsgBingoUserData.BingoCardsEntry bingo_cards = 1; + repeated CMsgBingoUserData.BingoTokensEntry bingo_tokens = 2; +} + message CMsgClientToGCBingoGetUserData { optional uint32 league_id = 1; - optional uint32 league_phase = 2; } message CMsgClientToGCBingoGetUserDataResponse { @@ -69,8 +102,7 @@ message CMsgClientToGCBingoGetStatsDataResponse { message CMsgGCToClientBingoUserDataUpdated { optional uint32 league_id = 1; - optional uint32 league_phase = 2; - optional CMsgBingoUserData user_data = 3; + optional CMsgBingoUserData user_data = 2; } message CMsgClientToGCBingoClaimRow { @@ -93,6 +125,56 @@ message CMsgClientToGCBingoClaimRowResponse { optional CMsgClientToGCBingoClaimRowResponse.EResponse response = 1; } +message CMsgClientToGCBingoShuffleCard { + optional uint32 league_id = 1; + optional uint32 league_phase = 2; +} + +message CMsgClientToGCBingoShuffleCardResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eExpiredCard = 6; + k_eNotAllowed = 7; + k_eInsufficientTokens = 8; + } + + optional CMsgClientToGCBingoShuffleCardResponse.EResponse response = 1; +} + +message CMsgClientToGCBingoModifySquare { + enum EModifyAction { + k_eRerollStat = 0; + k_eUpgrade = 1; + } + + optional uint32 league_id = 1; + optional uint32 league_phase = 2; + optional uint32 square_index = 3; + optional CMsgClientToGCBingoModifySquare.EModifyAction action = 4; +} + +message CMsgClientToGCBingoModifySquareResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eExpiredCard = 6; + k_eNotAllowed = 7; + k_eInsufficientTokens = 8; + k_eCantUpgrade = 9; + k_eCantReroll = 10; + k_eInvalidSquare = 11; + } + + optional CMsgClientToGCBingoModifySquareResponse.EResponse response = 1; +} + message CMsgClientToGCBingoDevRerollCard { optional uint32 league_id = 1; optional uint32 league_phase = 2; @@ -111,3 +193,41 @@ message CMsgClientToGCBingoDevRerollCardResponse { optional CMsgClientToGCBingoDevRerollCardResponse.EResponse response = 1; } + +message CMsgClientToGCBingoDevAddTokens { + optional uint32 league_id = 1; + optional uint32 league_phase = 2; + optional int32 token_count = 3; +} + +message CMsgClientToGCBingoDevAddTokensResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eExpiredCard = 6; + k_eNotAllowed = 7; + } + + optional CMsgClientToGCBingoDevAddTokensResponse.EResponse response = 1; +} + +message CMsgClientToGCBingoDevClearInventory { + optional uint32 league_id = 1; +} + +message CMsgClientToGCBingoDevClearInventoryResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eExpiredCard = 6; + k_eNotAllowed = 7; + } + + optional CMsgClientToGCBingoDevClearInventoryResponse.EResponse response = 1; +} diff --git a/dota/dota_gcmessages_client_candy_shop.pb.go b/dota/dota_gcmessages_client_candy_shop.pb.go index ee5004cc..23ce3d64 100644 --- a/dota/dota_gcmessages_client_candy_shop.pb.go +++ b/dota/dota_gcmessages_client_candy_shop.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_candy_shop.proto package dota diff --git a/dota/dota_gcmessages_client_chat.pb.go b/dota/dota_gcmessages_client_chat.pb.go index 4696c380..d2cf5ecb 100644 --- a/dota/dota_gcmessages_client_chat.pb.go +++ b/dota/dota_gcmessages_client_chat.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_chat.proto package dota @@ -778,6 +778,7 @@ type CMsgDOTAChatMessage struct { ChatWheelMessage *CMsgDOTAChatMessage_ChatWheelMessage `protobuf:"bytes,41,opt,name=chat_wheel_message,json=chatWheelMessage" json:"chat_wheel_message,omitempty"` EventLevel *uint32 `protobuf:"varint,42,opt,name=event_level,json=eventLevel" json:"event_level,omitempty"` SuggestPickHeroFacet *uint32 `protobuf:"varint,43,opt,name=suggest_pick_hero_facet,json=suggestPickHeroFacet" json:"suggest_pick_hero_facet,omitempty"` + RequestedHeroId *int32 `protobuf:"varint,44,opt,name=requested_hero_id,json=requestedHeroId" json:"requested_hero_id,omitempty"` } func (x *CMsgDOTAChatMessage) Reset() { @@ -1092,6 +1093,13 @@ func (x *CMsgDOTAChatMessage) GetSuggestPickHeroFacet() uint32 { return 0 } +func (x *CMsgDOTAChatMessage) GetRequestedHeroId() int32 { + if x != nil && x.RequestedHeroId != nil { + return *x.RequestedHeroId + } + return 0 +} + type CMsgDOTAChatMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2326,7 +2334,7 @@ var file_dota_gcmessages_client_chat_proto_rawDesc = []byte{ 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x13, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x13, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, @@ -2446,216 +2454,219 @@ var file_dota_gcmessages_client_chat_proto_rawDesc = []byte{ 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, - 0x50, 0x69, 0x63, 0x6b, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x1a, 0x58, 0x0a, - 0x08, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, - 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x6c, - 0x6c, 0x4d, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xf2, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x69, 0x76, - 0x69, 0x61, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x36, - 0x0a, 0x17, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x15, 0x70, 0x61, 0x72, 0x74, 0x79, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, - 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, 0x79, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, - 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x76, 0x69, 0x61, 0x5f, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x79, - 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x42, 0x0a, 0x0f, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, - 0x1a, 0x9d, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6d, 0x6f, 0x74, 0x69, - 0x63, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x65, 0x72, 0x6f, - 0x5f, 0x62, 0x61, 0x64, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x69, 0x65, 0x72, - 0x22, 0x92, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa6, 0x08, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, - 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0c, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, - 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x52, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, - 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x63, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x67, - 0x63, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x26, - 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x4b, 0x0a, 0x12, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x22, 0xff, 0x03, 0x0a, - 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x43, - 0x48, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, - 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x43, - 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x41, 0x54, - 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, - 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x55, - 0x4c, 0x4c, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, - 0x07, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x41, - 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, - 0x45, 0x44, 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x0a, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x49, - 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, - 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, - 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x0e, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x53, 0x55, - 0x52, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x49, - 0x4c, 0x45, 0x47, 0x45, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x20, - 0x0a, 0x1c, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, - 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x10, - 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x49, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x11, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, - 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x12, 0x22, 0xbd, - 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x80, - 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x4c, 0x65, 0x66, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x92, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, - 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, - 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x91, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, - 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, + 0x50, 0x69, 0x63, 0x6b, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x2a, 0x0a, + 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x1a, 0x58, 0x0a, 0x08, 0x44, 0x69, 0x63, + 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x69, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x1a, 0xf2, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x61, + 0x72, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, 0x61, 0x72, + 0x74, 0x79, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x72, 0x72, 0x65, + 0x63, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, 0x79, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x76, 0x69, 0x61, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x79, 0x54, 0x72, 0x69, 0x76, + 0x69, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x42, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x1a, 0x9d, 0x01, 0x0a, + 0x10, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x54, 0x65, 0x78, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x61, 0x64, + 0x67, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, + 0x65, 0x72, 0x6f, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x69, 0x65, 0x72, 0x22, 0x92, 0x01, 0x0a, + 0x12, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0xa6, 0x08, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4a, 0x6f, + 0x69, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x52, 0x0b, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x1f, 0x43, 0x4d, 0x73, - 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, + 0x0a, 0x11, 0x67, 0x63, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6a, + 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x67, 0x63, 0x49, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x65, 0x6c, + 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x22, 0xff, 0x03, 0x0a, 0x06, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x43, 0x48, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, + 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, + 0x45, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, + 0x4d, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x05, 0x12, 0x10, + 0x0a, 0x0c, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x06, + 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x55, 0x4c, 0x4c, + 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x07, 0x12, 0x16, 0x0a, + 0x12, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x55, + 0x53, 0x45, 0x52, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x09, + 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0a, + 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0b, + 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, + 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x14, + 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, + 0x45, 0x44, 0x10, 0x0e, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, + 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, + 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x10, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x49, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x11, 0x12, 0x1a, + 0x0a, 0x16, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x12, 0x22, 0xbd, 0x01, 0x0a, 0x1e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x4a, 0x6f, 0x69, 0x6e, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x1c, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x66, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x20, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x92, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x1a, 0x91, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x1a, + 0x86, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7f, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x52, 0x0b, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x22, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb7, 0x02, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x1a, 0x86, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, - 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, - 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7f, 0x0a, 0x1a, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, - 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, - 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0xaa, 0x01, - 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb7, 0x02, 0x0a, 0x1a, 0x43, - 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x98, 0x01, 0x0a, 0x06, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4c, - 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6c, - 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, - 0x61, 0x78, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, - 0x6e, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x6e, 0x67, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, - 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x98, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4c, 0x61, 0x74, 0x69, 0x74, + 0x75, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, + 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4c, 0x61, + 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x6f, + 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, + 0x69, 0x6e, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, + 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, + 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, + 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, + 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/dota_gcmessages_client_chat.proto b/dota/dota_gcmessages_client_chat.proto index 4c5a0ea2..df86e8b5 100644 --- a/dota/dota_gcmessages_client_chat.proto +++ b/dota/dota_gcmessages_client_chat.proto @@ -137,6 +137,7 @@ message CMsgDOTAChatMessage { optional CMsgDOTAChatMessage.ChatWheelMessage chat_wheel_message = 41; optional uint32 event_level = 42; optional uint32 suggest_pick_hero_facet = 43; + optional int32 requested_hero_id = 44; } message CMsgDOTAChatMember { diff --git a/dota/dota_gcmessages_client_coaching.pb.go b/dota/dota_gcmessages_client_coaching.pb.go index 327629d5..73e57560 100644 --- a/dota/dota_gcmessages_client_coaching.pb.go +++ b/dota/dota_gcmessages_client_coaching.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_coaching.proto package dota diff --git a/dota/dota_gcmessages_client_craftworks.pb.go b/dota/dota_gcmessages_client_craftworks.pb.go new file mode 100644 index 00000000..13a3744e --- /dev/null +++ b/dota/dota_gcmessages_client_craftworks.pb.go @@ -0,0 +1,1051 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v3.21.12 +// source: dota_gcmessages_client_craftworks.proto + +package dota + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CMsgClientToGCCraftworksGetUserDataResponse_EResponse int32 + +const ( + CMsgClientToGCCraftworksGetUserDataResponse_k_eInternalError CMsgClientToGCCraftworksGetUserDataResponse_EResponse = 0 + CMsgClientToGCCraftworksGetUserDataResponse_k_eSuccess CMsgClientToGCCraftworksGetUserDataResponse_EResponse = 1 + CMsgClientToGCCraftworksGetUserDataResponse_k_eTooBusy CMsgClientToGCCraftworksGetUserDataResponse_EResponse = 2 + CMsgClientToGCCraftworksGetUserDataResponse_k_eDisabled CMsgClientToGCCraftworksGetUserDataResponse_EResponse = 3 + CMsgClientToGCCraftworksGetUserDataResponse_k_eTimeout CMsgClientToGCCraftworksGetUserDataResponse_EResponse = 4 + CMsgClientToGCCraftworksGetUserDataResponse_k_eInvalidCraftworks CMsgClientToGCCraftworksGetUserDataResponse_EResponse = 5 + CMsgClientToGCCraftworksGetUserDataResponse_k_eExpiredCraftworks CMsgClientToGCCraftworksGetUserDataResponse_EResponse = 6 +) + +// Enum value maps for CMsgClientToGCCraftworksGetUserDataResponse_EResponse. +var ( + CMsgClientToGCCraftworksGetUserDataResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 5: "k_eInvalidCraftworks", + 6: "k_eExpiredCraftworks", + } + CMsgClientToGCCraftworksGetUserDataResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eInvalidCraftworks": 5, + "k_eExpiredCraftworks": 6, + } +) + +func (x CMsgClientToGCCraftworksGetUserDataResponse_EResponse) Enum() *CMsgClientToGCCraftworksGetUserDataResponse_EResponse { + p := new(CMsgClientToGCCraftworksGetUserDataResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCCraftworksGetUserDataResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCCraftworksGetUserDataResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_craftworks_proto_enumTypes[0].Descriptor() +} + +func (CMsgClientToGCCraftworksGetUserDataResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_craftworks_proto_enumTypes[0] +} + +func (x CMsgClientToGCCraftworksGetUserDataResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCCraftworksGetUserDataResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCCraftworksGetUserDataResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCCraftworksGetUserDataResponse_EResponse.Descriptor instead. +func (CMsgClientToGCCraftworksGetUserDataResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{2, 0} +} + +type CMsgClientToGCCraftworksCraftRecipeResponse_EResponse int32 + +const ( + CMsgClientToGCCraftworksCraftRecipeResponse_k_eInternalError CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 0 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eSuccess CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 1 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eTooBusy CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 2 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eDisabled CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 3 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eTimeout CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 4 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eInvalidCraftworks CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 5 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eExpiredCraftworks CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 6 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eNotEnoughComponents CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 7 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eInvalidRecipe CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 8 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eRecipeTierLocked CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 9 + CMsgClientToGCCraftworksCraftRecipeResponse_k_eAlreadyCraftedMaxAmount CMsgClientToGCCraftworksCraftRecipeResponse_EResponse = 10 +) + +// Enum value maps for CMsgClientToGCCraftworksCraftRecipeResponse_EResponse. +var ( + CMsgClientToGCCraftworksCraftRecipeResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 5: "k_eInvalidCraftworks", + 6: "k_eExpiredCraftworks", + 7: "k_eNotEnoughComponents", + 8: "k_eInvalidRecipe", + 9: "k_eRecipeTierLocked", + 10: "k_eAlreadyCraftedMaxAmount", + } + CMsgClientToGCCraftworksCraftRecipeResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eInvalidCraftworks": 5, + "k_eExpiredCraftworks": 6, + "k_eNotEnoughComponents": 7, + "k_eInvalidRecipe": 8, + "k_eRecipeTierLocked": 9, + "k_eAlreadyCraftedMaxAmount": 10, + } +) + +func (x CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) Enum() *CMsgClientToGCCraftworksCraftRecipeResponse_EResponse { + p := new(CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_craftworks_proto_enumTypes[1].Descriptor() +} + +func (CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_craftworks_proto_enumTypes[1] +} + +func (x CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCCraftworksCraftRecipeResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCCraftworksCraftRecipeResponse_EResponse.Descriptor instead. +func (CMsgClientToGCCraftworksCraftRecipeResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{5, 0} +} + +type CMsgClientToGCCraftworksDevModifyComponents_EOperation int32 + +const ( + CMsgClientToGCCraftworksDevModifyComponents_k_eAddComponents CMsgClientToGCCraftworksDevModifyComponents_EOperation = 1 + CMsgClientToGCCraftworksDevModifyComponents_k_eSubtractComponents CMsgClientToGCCraftworksDevModifyComponents_EOperation = 2 +) + +// Enum value maps for CMsgClientToGCCraftworksDevModifyComponents_EOperation. +var ( + CMsgClientToGCCraftworksDevModifyComponents_EOperation_name = map[int32]string{ + 1: "k_eAddComponents", + 2: "k_eSubtractComponents", + } + CMsgClientToGCCraftworksDevModifyComponents_EOperation_value = map[string]int32{ + "k_eAddComponents": 1, + "k_eSubtractComponents": 2, + } +) + +func (x CMsgClientToGCCraftworksDevModifyComponents_EOperation) Enum() *CMsgClientToGCCraftworksDevModifyComponents_EOperation { + p := new(CMsgClientToGCCraftworksDevModifyComponents_EOperation) + *p = x + return p +} + +func (x CMsgClientToGCCraftworksDevModifyComponents_EOperation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCCraftworksDevModifyComponents_EOperation) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_craftworks_proto_enumTypes[2].Descriptor() +} + +func (CMsgClientToGCCraftworksDevModifyComponents_EOperation) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_craftworks_proto_enumTypes[2] +} + +func (x CMsgClientToGCCraftworksDevModifyComponents_EOperation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCCraftworksDevModifyComponents_EOperation) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCCraftworksDevModifyComponents_EOperation(num) + return nil +} + +// Deprecated: Use CMsgClientToGCCraftworksDevModifyComponents_EOperation.Descriptor instead. +func (CMsgClientToGCCraftworksDevModifyComponents_EOperation) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{6, 0} +} + +type CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse int32 + +const ( + CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eInternalError CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse = 0 + CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eSuccess CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse = 1 + CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eTooBusy CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse = 2 + CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eDisabled CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse = 3 + CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eTimeout CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse = 4 + CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eInvalidCraftworks CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse = 5 + CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eNotAllowed CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse = 6 +) + +// Enum value maps for CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse. +var ( + CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 5: "k_eInvalidCraftworks", + 6: "k_eNotAllowed", + } + CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eInvalidCraftworks": 5, + "k_eNotAllowed": 6, + } +) + +func (x CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) Enum() *CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse { + p := new(CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_client_craftworks_proto_enumTypes[3].Descriptor() +} + +func (CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_client_craftworks_proto_enumTypes[3] +} + +func (x CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse.Descriptor instead. +func (CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{7, 0} +} + +type CMsgCraftworksUserData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ComponentInventory *CMsgCraftworksComponents `protobuf:"bytes,1,opt,name=component_inventory,json=componentInventory" json:"component_inventory,omitempty"` +} + +func (x *CMsgCraftworksUserData) Reset() { + *x = CMsgCraftworksUserData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgCraftworksUserData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgCraftworksUserData) ProtoMessage() {} + +func (x *CMsgCraftworksUserData) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgCraftworksUserData.ProtoReflect.Descriptor instead. +func (*CMsgCraftworksUserData) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{0} +} + +func (x *CMsgCraftworksUserData) GetComponentInventory() *CMsgCraftworksComponents { + if x != nil { + return x.ComponentInventory + } + return nil +} + +type CMsgClientToGCCraftworksGetUserData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CraftworksId *uint32 `protobuf:"varint,1,opt,name=craftworks_id,json=craftworksId" json:"craftworks_id,omitempty"` +} + +func (x *CMsgClientToGCCraftworksGetUserData) Reset() { + *x = CMsgClientToGCCraftworksGetUserData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCCraftworksGetUserData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCCraftworksGetUserData) ProtoMessage() {} + +func (x *CMsgClientToGCCraftworksGetUserData) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCCraftworksGetUserData.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCCraftworksGetUserData) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{1} +} + +func (x *CMsgClientToGCCraftworksGetUserData) GetCraftworksId() uint32 { + if x != nil && x.CraftworksId != nil { + return *x.CraftworksId + } + return 0 +} + +type CMsgClientToGCCraftworksGetUserDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCCraftworksGetUserDataResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCCraftworksGetUserDataResponse_EResponse" json:"response,omitempty"` + UserData *CMsgCraftworksUserData `protobuf:"bytes,2,opt,name=user_data,json=userData" json:"user_data,omitempty"` +} + +func (x *CMsgClientToGCCraftworksGetUserDataResponse) Reset() { + *x = CMsgClientToGCCraftworksGetUserDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCCraftworksGetUserDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCCraftworksGetUserDataResponse) ProtoMessage() {} + +func (x *CMsgClientToGCCraftworksGetUserDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCCraftworksGetUserDataResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCCraftworksGetUserDataResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{2} +} + +func (x *CMsgClientToGCCraftworksGetUserDataResponse) GetResponse() CMsgClientToGCCraftworksGetUserDataResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCCraftworksGetUserDataResponse_k_eInternalError +} + +func (x *CMsgClientToGCCraftworksGetUserDataResponse) GetUserData() *CMsgCraftworksUserData { + if x != nil { + return x.UserData + } + return nil +} + +type CMsgGCToClientCraftworksUserDataUpdated struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CraftworksId *uint32 `protobuf:"varint,1,opt,name=craftworks_id,json=craftworksId" json:"craftworks_id,omitempty"` + UserData *CMsgCraftworksUserData `protobuf:"bytes,2,opt,name=user_data,json=userData" json:"user_data,omitempty"` +} + +func (x *CMsgGCToClientCraftworksUserDataUpdated) Reset() { + *x = CMsgGCToClientCraftworksUserDataUpdated{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgGCToClientCraftworksUserDataUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgGCToClientCraftworksUserDataUpdated) ProtoMessage() {} + +func (x *CMsgGCToClientCraftworksUserDataUpdated) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgGCToClientCraftworksUserDataUpdated.ProtoReflect.Descriptor instead. +func (*CMsgGCToClientCraftworksUserDataUpdated) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{3} +} + +func (x *CMsgGCToClientCraftworksUserDataUpdated) GetCraftworksId() uint32 { + if x != nil && x.CraftworksId != nil { + return *x.CraftworksId + } + return 0 +} + +func (x *CMsgGCToClientCraftworksUserDataUpdated) GetUserData() *CMsgCraftworksUserData { + if x != nil { + return x.UserData + } + return nil +} + +type CMsgClientToGCCraftworksCraftRecipe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CraftworksId *uint32 `protobuf:"varint,1,opt,name=craftworks_id,json=craftworksId" json:"craftworks_id,omitempty"` + RecipeId *uint64 `protobuf:"varint,2,opt,name=recipe_id,json=recipeId" json:"recipe_id,omitempty"` +} + +func (x *CMsgClientToGCCraftworksCraftRecipe) Reset() { + *x = CMsgClientToGCCraftworksCraftRecipe{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCCraftworksCraftRecipe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCCraftworksCraftRecipe) ProtoMessage() {} + +func (x *CMsgClientToGCCraftworksCraftRecipe) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCCraftworksCraftRecipe.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCCraftworksCraftRecipe) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{4} +} + +func (x *CMsgClientToGCCraftworksCraftRecipe) GetCraftworksId() uint32 { + if x != nil && x.CraftworksId != nil { + return *x.CraftworksId + } + return 0 +} + +func (x *CMsgClientToGCCraftworksCraftRecipe) GetRecipeId() uint64 { + if x != nil && x.RecipeId != nil { + return *x.RecipeId + } + return 0 +} + +type CMsgClientToGCCraftworksCraftRecipeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCCraftworksCraftRecipeResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCCraftworksCraftRecipeResponse_EResponse" json:"response,omitempty"` + ClaimResponse *CMsgDOTAClaimEventActionResponse `protobuf:"bytes,2,opt,name=claim_response,json=claimResponse" json:"claim_response,omitempty"` +} + +func (x *CMsgClientToGCCraftworksCraftRecipeResponse) Reset() { + *x = CMsgClientToGCCraftworksCraftRecipeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCCraftworksCraftRecipeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCCraftworksCraftRecipeResponse) ProtoMessage() {} + +func (x *CMsgClientToGCCraftworksCraftRecipeResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCCraftworksCraftRecipeResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCCraftworksCraftRecipeResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{5} +} + +func (x *CMsgClientToGCCraftworksCraftRecipeResponse) GetResponse() CMsgClientToGCCraftworksCraftRecipeResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCCraftworksCraftRecipeResponse_k_eInternalError +} + +func (x *CMsgClientToGCCraftworksCraftRecipeResponse) GetClaimResponse() *CMsgDOTAClaimEventActionResponse { + if x != nil { + return x.ClaimResponse + } + return nil +} + +type CMsgClientToGCCraftworksDevModifyComponents struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CraftworksId *uint32 `protobuf:"varint,1,opt,name=craftworks_id,json=craftworksId" json:"craftworks_id,omitempty"` + Components *CMsgCraftworksComponents `protobuf:"bytes,2,opt,name=components" json:"components,omitempty"` + Operation *CMsgClientToGCCraftworksDevModifyComponents_EOperation `protobuf:"varint,3,opt,name=operation,enum=dota.CMsgClientToGCCraftworksDevModifyComponents_EOperation" json:"operation,omitempty"` +} + +func (x *CMsgClientToGCCraftworksDevModifyComponents) Reset() { + *x = CMsgClientToGCCraftworksDevModifyComponents{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCCraftworksDevModifyComponents) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCCraftworksDevModifyComponents) ProtoMessage() {} + +func (x *CMsgClientToGCCraftworksDevModifyComponents) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCCraftworksDevModifyComponents.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCCraftworksDevModifyComponents) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{6} +} + +func (x *CMsgClientToGCCraftworksDevModifyComponents) GetCraftworksId() uint32 { + if x != nil && x.CraftworksId != nil { + return *x.CraftworksId + } + return 0 +} + +func (x *CMsgClientToGCCraftworksDevModifyComponents) GetComponents() *CMsgCraftworksComponents { + if x != nil { + return x.Components + } + return nil +} + +func (x *CMsgClientToGCCraftworksDevModifyComponents) GetOperation() CMsgClientToGCCraftworksDevModifyComponents_EOperation { + if x != nil && x.Operation != nil { + return *x.Operation + } + return CMsgClientToGCCraftworksDevModifyComponents_k_eAddComponents +} + +type CMsgClientToGCCraftworksDevModifyComponentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCCraftworksDevModifyComponentsResponse) Reset() { + *x = CMsgClientToGCCraftworksDevModifyComponentsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCCraftworksDevModifyComponentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCCraftworksDevModifyComponentsResponse) ProtoMessage() {} + +func (x *CMsgClientToGCCraftworksDevModifyComponentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_client_craftworks_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCCraftworksDevModifyComponentsResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCCraftworksDevModifyComponentsResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_client_craftworks_proto_rawDescGZIP(), []int{7} +} + +func (x *CMsgClientToGCCraftworksDevModifyComponentsResponse) GetResponse() CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCCraftworksDevModifyComponentsResponse_k_eInternalError +} + +var File_dota_gcmessages_client_craftworks_proto protoreflect.FileDescriptor + +var file_dota_gcmessages_client_craftworks_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, + 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x64, + 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x64, 0x6f, 0x74, + 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, 0x6b, + 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x65, 0x63, 0x6f, 0x6e, 0x5f, 0x67, + 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x76, + 0x61, 0x6c, 0x76, 0x65, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x61, + 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, + 0x16, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, + 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x4a, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x49, 0x64, 0x22, 0xda, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, + 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, + 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x18, 0x0a, + 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x72, 0x61, 0x66, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x45, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x10, + 0x06, 0x22, 0x89, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x73, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x67, 0x0a, + 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, + 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, + 0x63, 0x69, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x72, 0x61, + 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, + 0x63, 0x69, 0x70, 0x65, 0x49, 0x64, 0x22, 0xd9, 0x03, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x43, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, + 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x63, + 0x69, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4d, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, + 0x02, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, + 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, + 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x10, 0x05, 0x12, 0x18, 0x0a, + 0x14, 0x6b, 0x5f, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x43, 0x72, 0x61, 0x66, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, + 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x73, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x54, 0x69, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, + 0x43, 0x72, 0x61, 0x66, 0x74, 0x65, 0x64, 0x4d, 0x61, 0x78, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x10, 0x0a, 0x22, 0xad, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x44, + 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x72, 0x61, 0x66, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x44, 0x65, 0x76, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x45, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x3d, 0x0a, 0x0a, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x53, 0x75, + 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, + 0x10, 0x02, 0x22, 0xa8, 0x02, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x44, + 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x44, 0x65, 0x76, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x09, + 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, + 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, + 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, + 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x72, + 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, + 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x06, 0x42, 0x25, 0x5a, + 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, + 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, + 0x64, 0x6f, 0x74, 0x61, +} + +var ( + file_dota_gcmessages_client_craftworks_proto_rawDescOnce sync.Once + file_dota_gcmessages_client_craftworks_proto_rawDescData = file_dota_gcmessages_client_craftworks_proto_rawDesc +) + +func file_dota_gcmessages_client_craftworks_proto_rawDescGZIP() []byte { + file_dota_gcmessages_client_craftworks_proto_rawDescOnce.Do(func() { + file_dota_gcmessages_client_craftworks_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_gcmessages_client_craftworks_proto_rawDescData) + }) + return file_dota_gcmessages_client_craftworks_proto_rawDescData +} + +var file_dota_gcmessages_client_craftworks_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_dota_gcmessages_client_craftworks_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_dota_gcmessages_client_craftworks_proto_goTypes = []interface{}{ + (CMsgClientToGCCraftworksGetUserDataResponse_EResponse)(0), // 0: dota.CMsgClientToGCCraftworksGetUserDataResponse.EResponse + (CMsgClientToGCCraftworksCraftRecipeResponse_EResponse)(0), // 1: dota.CMsgClientToGCCraftworksCraftRecipeResponse.EResponse + (CMsgClientToGCCraftworksDevModifyComponents_EOperation)(0), // 2: dota.CMsgClientToGCCraftworksDevModifyComponents.EOperation + (CMsgClientToGCCraftworksDevModifyComponentsResponse_EResponse)(0), // 3: dota.CMsgClientToGCCraftworksDevModifyComponentsResponse.EResponse + (*CMsgCraftworksUserData)(nil), // 4: dota.CMsgCraftworksUserData + (*CMsgClientToGCCraftworksGetUserData)(nil), // 5: dota.CMsgClientToGCCraftworksGetUserData + (*CMsgClientToGCCraftworksGetUserDataResponse)(nil), // 6: dota.CMsgClientToGCCraftworksGetUserDataResponse + (*CMsgGCToClientCraftworksUserDataUpdated)(nil), // 7: dota.CMsgGCToClientCraftworksUserDataUpdated + (*CMsgClientToGCCraftworksCraftRecipe)(nil), // 8: dota.CMsgClientToGCCraftworksCraftRecipe + (*CMsgClientToGCCraftworksCraftRecipeResponse)(nil), // 9: dota.CMsgClientToGCCraftworksCraftRecipeResponse + (*CMsgClientToGCCraftworksDevModifyComponents)(nil), // 10: dota.CMsgClientToGCCraftworksDevModifyComponents + (*CMsgClientToGCCraftworksDevModifyComponentsResponse)(nil), // 11: dota.CMsgClientToGCCraftworksDevModifyComponentsResponse + (*CMsgCraftworksComponents)(nil), // 12: dota.CMsgCraftworksComponents + (*CMsgDOTAClaimEventActionResponse)(nil), // 13: dota.CMsgDOTAClaimEventActionResponse +} +var file_dota_gcmessages_client_craftworks_proto_depIdxs = []int32{ + 12, // 0: dota.CMsgCraftworksUserData.component_inventory:type_name -> dota.CMsgCraftworksComponents + 0, // 1: dota.CMsgClientToGCCraftworksGetUserDataResponse.response:type_name -> dota.CMsgClientToGCCraftworksGetUserDataResponse.EResponse + 4, // 2: dota.CMsgClientToGCCraftworksGetUserDataResponse.user_data:type_name -> dota.CMsgCraftworksUserData + 4, // 3: dota.CMsgGCToClientCraftworksUserDataUpdated.user_data:type_name -> dota.CMsgCraftworksUserData + 1, // 4: dota.CMsgClientToGCCraftworksCraftRecipeResponse.response:type_name -> dota.CMsgClientToGCCraftworksCraftRecipeResponse.EResponse + 13, // 5: dota.CMsgClientToGCCraftworksCraftRecipeResponse.claim_response:type_name -> dota.CMsgDOTAClaimEventActionResponse + 12, // 6: dota.CMsgClientToGCCraftworksDevModifyComponents.components:type_name -> dota.CMsgCraftworksComponents + 2, // 7: dota.CMsgClientToGCCraftworksDevModifyComponents.operation:type_name -> dota.CMsgClientToGCCraftworksDevModifyComponents.EOperation + 3, // 8: dota.CMsgClientToGCCraftworksDevModifyComponentsResponse.response:type_name -> dota.CMsgClientToGCCraftworksDevModifyComponentsResponse.EResponse + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_dota_gcmessages_client_craftworks_proto_init() } +func file_dota_gcmessages_client_craftworks_proto_init() { + if File_dota_gcmessages_client_craftworks_proto != nil { + return + } + file_steammessages_proto_init() + file_dota_shared_enums_proto_init() + file_dota_gcmessages_common_proto_init() + file_dota_gcmessages_webapi_proto_init() + file_gcsdk_gcmessages_proto_init() + file_base_gcmessages_proto_init() + file_econ_gcmessages_proto_init() + file_dota_gcmessages_client_proto_init() + file_valveextensions_proto_init() + file_dota_gcmessages_common_craftworks_proto_init() + if !protoimpl.UnsafeEnabled { + file_dota_gcmessages_client_craftworks_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgCraftworksUserData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_craftworks_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCCraftworksGetUserData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_craftworks_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCCraftworksGetUserDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_craftworks_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCToClientCraftworksUserDataUpdated); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_craftworks_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCCraftworksCraftRecipe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_craftworks_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCCraftworksCraftRecipeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_craftworks_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCCraftworksDevModifyComponents); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_client_craftworks_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCCraftworksDevModifyComponentsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_dota_gcmessages_client_craftworks_proto_rawDesc, + NumEnums: 4, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_dota_gcmessages_client_craftworks_proto_goTypes, + DependencyIndexes: file_dota_gcmessages_client_craftworks_proto_depIdxs, + EnumInfos: file_dota_gcmessages_client_craftworks_proto_enumTypes, + MessageInfos: file_dota_gcmessages_client_craftworks_proto_msgTypes, + }.Build() + File_dota_gcmessages_client_craftworks_proto = out.File + file_dota_gcmessages_client_craftworks_proto_rawDesc = nil + file_dota_gcmessages_client_craftworks_proto_goTypes = nil + file_dota_gcmessages_client_craftworks_proto_depIdxs = nil +} diff --git a/dota/dota_gcmessages_client_craftworks.proto b/dota/dota_gcmessages_client_craftworks.proto new file mode 100644 index 00000000..4b090ddb --- /dev/null +++ b/dota/dota_gcmessages_client_craftworks.proto @@ -0,0 +1,92 @@ +syntax = "proto2"; + +package dota; +option go_package = "github.com/dotabuff/manta/dota;dota"; + +import "steammessages.proto"; +import "dota_shared_enums.proto"; +import "dota_gcmessages_common.proto"; +import "dota_gcmessages_webapi.proto"; +import "gcsdk_gcmessages.proto"; +import "base_gcmessages.proto"; +import "econ_gcmessages.proto"; +import "dota_gcmessages_client.proto"; +import "valveextensions.proto"; +import "dota_gcmessages_common_craftworks.proto"; + +message CMsgCraftworksUserData { + optional CMsgCraftworksComponents component_inventory = 1; +} + +message CMsgClientToGCCraftworksGetUserData { + optional uint32 craftworks_id = 1; +} + +message CMsgClientToGCCraftworksGetUserDataResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidCraftworks = 5; + k_eExpiredCraftworks = 6; + } + + optional CMsgClientToGCCraftworksGetUserDataResponse.EResponse response = 1; + optional CMsgCraftworksUserData user_data = 2; +} + +message CMsgGCToClientCraftworksUserDataUpdated { + optional uint32 craftworks_id = 1; + optional CMsgCraftworksUserData user_data = 2; +} + +message CMsgClientToGCCraftworksCraftRecipe { + optional uint32 craftworks_id = 1; + optional uint64 recipe_id = 2; +} + +message CMsgClientToGCCraftworksCraftRecipeResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidCraftworks = 5; + k_eExpiredCraftworks = 6; + k_eNotEnoughComponents = 7; + k_eInvalidRecipe = 8; + k_eRecipeTierLocked = 9; + k_eAlreadyCraftedMaxAmount = 10; + } + + optional CMsgClientToGCCraftworksCraftRecipeResponse.EResponse response = 1; + optional CMsgDOTAClaimEventActionResponse claim_response = 2; +} + +message CMsgClientToGCCraftworksDevModifyComponents { + enum EOperation { + k_eAddComponents = 1; + k_eSubtractComponents = 2; + } + + optional uint32 craftworks_id = 1; + optional CMsgCraftworksComponents components = 2; + optional CMsgClientToGCCraftworksDevModifyComponents.EOperation operation = 3; +} + +message CMsgClientToGCCraftworksDevModifyComponentsResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidCraftworks = 5; + k_eNotAllowed = 6; + } + + optional CMsgClientToGCCraftworksDevModifyComponentsResponse.EResponse response = 1; +} diff --git a/dota/dota_gcmessages_client_fantasy.pb.go b/dota/dota_gcmessages_client_fantasy.pb.go index c6983a22..3cfb2a86 100644 --- a/dota/dota_gcmessages_client_fantasy.pb.go +++ b/dota/dota_gcmessages_client_fantasy.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_fantasy.proto package dota diff --git a/dota/dota_gcmessages_client_guild.pb.go b/dota/dota_gcmessages_client_guild.pb.go index 90375fa0..dfd2b961 100644 --- a/dota/dota_gcmessages_client_guild.pb.go +++ b/dota/dota_gcmessages_client_guild.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_guild.proto package dota diff --git a/dota/dota_gcmessages_client_guild_events.pb.go b/dota/dota_gcmessages_client_guild_events.pb.go index ea065a05..3499691a 100644 --- a/dota/dota_gcmessages_client_guild_events.pb.go +++ b/dota/dota_gcmessages_client_guild_events.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_guild_events.proto package dota diff --git a/dota/dota_gcmessages_client_match_management.pb.go b/dota/dota_gcmessages_client_match_management.pb.go index 53e851a7..36b2879f 100644 --- a/dota/dota_gcmessages_client_match_management.pb.go +++ b/dota/dota_gcmessages_client_match_management.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_match_management.proto package dota @@ -856,13 +856,11 @@ type CMsgPracticeLobbySetDetails struct { BotDifficultyRadiant *DOTABotDifficulty `protobuf:"varint,9,opt,name=bot_difficulty_radiant,json=botDifficultyRadiant,enum=dota.DOTABotDifficulty" json:"bot_difficulty_radiant,omitempty"` AllowCheats *bool `protobuf:"varint,10,opt,name=allow_cheats,json=allowCheats" json:"allow_cheats,omitempty"` FillWithBots *bool `protobuf:"varint,11,opt,name=fill_with_bots,json=fillWithBots" json:"fill_with_bots,omitempty"` - IntroMode *bool `protobuf:"varint,12,opt,name=intro_mode,json=introMode" json:"intro_mode,omitempty"` AllowSpectating *bool `protobuf:"varint,13,opt,name=allow_spectating,json=allowSpectating" json:"allow_spectating,omitempty"` PassKey *string `protobuf:"bytes,15,opt,name=pass_key,json=passKey" json:"pass_key,omitempty"` Leagueid *uint32 `protobuf:"varint,16,opt,name=leagueid" json:"leagueid,omitempty"` PenaltyLevelRadiant *uint32 `protobuf:"varint,17,opt,name=penalty_level_radiant,json=penaltyLevelRadiant" json:"penalty_level_radiant,omitempty"` PenaltyLevelDire *uint32 `protobuf:"varint,18,opt,name=penalty_level_dire,json=penaltyLevelDire" json:"penalty_level_dire,omitempty"` - LoadGameId *uint32 `protobuf:"varint,19,opt,name=load_game_id,json=loadGameId" json:"load_game_id,omitempty"` SeriesType *uint32 `protobuf:"varint,20,opt,name=series_type,json=seriesType" json:"series_type,omitempty"` RadiantSeriesWins *uint32 `protobuf:"varint,21,opt,name=radiant_series_wins,json=radiantSeriesWins" json:"radiant_series_wins,omitempty"` DireSeriesWins *uint32 `protobuf:"varint,22,opt,name=dire_series_wins,json=direSeriesWins" json:"dire_series_wins,omitempty"` @@ -891,6 +889,7 @@ type CMsgPracticeLobbySetDetails struct { ScenarioSave *CMsgLobbyScenarioSave `protobuf:"bytes,51,opt,name=scenario_save,json=scenarioSave" json:"scenario_save,omitempty"` AbilityDraftSpecificDetails *CMsgPracticeLobbySetDetails_AbilityDraftSpecificDetails `protobuf:"bytes,52,opt,name=ability_draft_specific_details,json=abilityDraftSpecificDetails" json:"ability_draft_specific_details,omitempty"` DoPlayerDraft *bool `protobuf:"varint,53,opt,name=do_player_draft,json=doPlayerDraft" json:"do_player_draft,omitempty"` + RequestedHeroTeams []int32 `protobuf:"varint,54,rep,name=requested_hero_teams,json=requestedHeroTeams" json:"requested_hero_teams,omitempty"` } func (x *CMsgPracticeLobbySetDetails) Reset() { @@ -988,13 +987,6 @@ func (x *CMsgPracticeLobbySetDetails) GetFillWithBots() bool { return false } -func (x *CMsgPracticeLobbySetDetails) GetIntroMode() bool { - if x != nil && x.IntroMode != nil { - return *x.IntroMode - } - return false -} - func (x *CMsgPracticeLobbySetDetails) GetAllowSpectating() bool { if x != nil && x.AllowSpectating != nil { return *x.AllowSpectating @@ -1030,13 +1022,6 @@ func (x *CMsgPracticeLobbySetDetails) GetPenaltyLevelDire() uint32 { return 0 } -func (x *CMsgPracticeLobbySetDetails) GetLoadGameId() uint32 { - if x != nil && x.LoadGameId != nil { - return *x.LoadGameId - } - return 0 -} - func (x *CMsgPracticeLobbySetDetails) GetSeriesType() uint32 { if x != nil && x.SeriesType != nil { return *x.SeriesType @@ -1233,16 +1218,22 @@ func (x *CMsgPracticeLobbySetDetails) GetDoPlayerDraft() bool { return false } +func (x *CMsgPracticeLobbySetDetails) GetRequestedHeroTeams() []int32 { + if x != nil { + return x.RequestedHeroTeams + } + return nil +} + type CMsgPracticeLobbyCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SearchKey *string `protobuf:"bytes,1,opt,name=search_key,json=searchKey" json:"search_key,omitempty"` - PassKey *string `protobuf:"bytes,5,opt,name=pass_key,json=passKey" json:"pass_key,omitempty"` - ClientVersion *uint32 `protobuf:"varint,6,opt,name=client_version,json=clientVersion" json:"client_version,omitempty"` - LobbyDetails *CMsgPracticeLobbySetDetails `protobuf:"bytes,7,opt,name=lobby_details,json=lobbyDetails" json:"lobby_details,omitempty"` - SaveGame *CMsgPracticeLobbyCreate_SaveGame `protobuf:"bytes,8,opt,name=save_game,json=saveGame" json:"save_game,omitempty"` + SearchKey *string `protobuf:"bytes,1,opt,name=search_key,json=searchKey" json:"search_key,omitempty"` + PassKey *string `protobuf:"bytes,5,opt,name=pass_key,json=passKey" json:"pass_key,omitempty"` + ClientVersion *uint32 `protobuf:"varint,6,opt,name=client_version,json=clientVersion" json:"client_version,omitempty"` + LobbyDetails *CMsgPracticeLobbySetDetails `protobuf:"bytes,7,opt,name=lobby_details,json=lobbyDetails" json:"lobby_details,omitempty"` } func (x *CMsgPracticeLobbyCreate) Reset() { @@ -1305,13 +1296,6 @@ func (x *CMsgPracticeLobbyCreate) GetLobbyDetails() *CMsgPracticeLobbySetDetails return nil } -func (x *CMsgPracticeLobbyCreate) GetSaveGame() *CMsgPracticeLobbyCreate_SaveGame { - if x != nil { - return x.SaveGame - } - return nil -} - type CMsgPracticeLobbySetTeamSlot struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4179,77 +4163,6 @@ func (x *CMsgPracticeLobbySetDetails_AbilityDraftSpecificDetails) GetShuffleDraf return false } -type CMsgPracticeLobbyCreate_SaveGame struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` - Version *int32 `protobuf:"varint,2,opt,name=version" json:"version,omitempty"` - SteamId *uint64 `protobuf:"fixed64,3,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` - Signature *uint64 `protobuf:"fixed64,4,opt,name=signature" json:"signature,omitempty"` -} - -func (x *CMsgPracticeLobbyCreate_SaveGame) Reset() { - *x = CMsgPracticeLobbyCreate_SaveGame{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgPracticeLobbyCreate_SaveGame) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgPracticeLobbyCreate_SaveGame) ProtoMessage() {} - -func (x *CMsgPracticeLobbyCreate_SaveGame) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgPracticeLobbyCreate_SaveGame.ProtoReflect.Descriptor instead. -func (*CMsgPracticeLobbyCreate_SaveGame) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_client_match_management_proto_rawDescGZIP(), []int{9, 0} -} - -func (x *CMsgPracticeLobbyCreate_SaveGame) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -func (x *CMsgPracticeLobbyCreate_SaveGame) GetVersion() int32 { - if x != nil && x.Version != nil { - return *x.Version - } - return 0 -} - -func (x *CMsgPracticeLobbyCreate_SaveGame) GetSteamId() uint64 { - if x != nil && x.SteamId != nil { - return *x.SteamId - } - return 0 -} - -func (x *CMsgPracticeLobbyCreate_SaveGame) GetSignature() uint64 { - if x != nil && x.Signature != nil { - return *x.Signature - } - return 0 -} - type CMsgPracticeLobbyListResponseEntry_CLobbyMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4262,7 +4175,7 @@ type CMsgPracticeLobbyListResponseEntry_CLobbyMember struct { func (x *CMsgPracticeLobbyListResponseEntry_CLobbyMember) Reset() { *x = CMsgPracticeLobbyListResponseEntry_CLobbyMember{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[59] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4275,7 +4188,7 @@ func (x *CMsgPracticeLobbyListResponseEntry_CLobbyMember) String() string { func (*CMsgPracticeLobbyListResponseEntry_CLobbyMember) ProtoMessage() {} func (x *CMsgPracticeLobbyListResponseEntry_CLobbyMember) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[59] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4318,7 +4231,7 @@ type CMsgQuickJoinCustomLobby_LegacyRegionPing struct { func (x *CMsgQuickJoinCustomLobby_LegacyRegionPing) Reset() { *x = CMsgQuickJoinCustomLobby_LegacyRegionPing{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[60] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4331,7 +4244,7 @@ func (x *CMsgQuickJoinCustomLobby_LegacyRegionPing) String() string { func (*CMsgQuickJoinCustomLobby_LegacyRegionPing) ProtoMessage() {} func (x *CMsgQuickJoinCustomLobby_LegacyRegionPing) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[60] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4381,7 +4294,7 @@ type CMsgSpectatorLobbyGameDetails_Team struct { func (x *CMsgSpectatorLobbyGameDetails_Team) Reset() { *x = CMsgSpectatorLobbyGameDetails_Team{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[61] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4394,7 +4307,7 @@ func (x *CMsgSpectatorLobbyGameDetails_Team) String() string { func (*CMsgSpectatorLobbyGameDetails_Team) ProtoMessage() {} func (x *CMsgSpectatorLobbyGameDetails_Team) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[61] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4447,7 +4360,7 @@ type CMsgSpectatorLobbyListResponse_SpectatorLobby struct { func (x *CMsgSpectatorLobbyListResponse_SpectatorLobby) Reset() { *x = CMsgSpectatorLobbyListResponse_SpectatorLobby{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[62] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4460,7 +4373,7 @@ func (x *CMsgSpectatorLobbyListResponse_SpectatorLobby) String() string { func (*CMsgSpectatorLobbyListResponse_SpectatorLobby) ProtoMessage() {} func (x *CMsgSpectatorLobbyListResponse_SpectatorLobby) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[62] + mi := &file_dota_gcmessages_client_match_management_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4663,7 +4576,7 @@ var file_dota_gcmessages_client_match_management_proto_rawDesc = []byte{ 0x6f, 0x62, 0x62, 0x79, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xee, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xdf, 0x10, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, @@ -4689,749 +4602,737 @@ var file_dota_gcmessages_client_match_management_proto_rawDesc = []byte{ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x65, 0x61, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x69, 0x6c, - 0x6c, 0x57, 0x69, 0x74, 0x68, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x74, - 0x72, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, - 0x6e, 0x74, 0x72, 0x6f, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, - 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x61, 0x64, 0x69, - 0x61, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x65, 0x6e, 0x61, 0x6c, - 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x2c, - 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, - 0x64, 0x69, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x61, - 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0c, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x2e, 0x0a, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x77, - 0x69, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x6c, - 0x63, 0x68, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x63, - 0x68, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x76, 0x5f, 0x64, - 0x65, 0x6c, 0x61, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x44, 0x65, 0x6c, - 0x61, 0x79, 0x52, 0x0b, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6c, 0x61, - 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, - 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x69, 0x6e, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x18, 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, - 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, - 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x63, - 0x18, 0x22, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, - 0x6d, 0x65, 0x43, 0x72, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x25, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x47, 0x0a, 0x13, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, - 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, - 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, 0x62, 0x6f, 0x74, 0x44, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x62, 0x6f, 0x74, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0a, 0x62, 0x6f, 0x74, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x72, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x16, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, - 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x18, 0x2f, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x50, - 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x5f, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x6e, 0x48, 0x6f, 0x73, - 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, - 0x0e, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x31, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x32, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, - 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f, 0x73, 0x61, - 0x76, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, - 0x6f, 0x53, 0x61, 0x76, 0x65, 0x52, 0x0c, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x53, - 0x61, 0x76, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, - 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x1b, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x6f, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x18, 0x35, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x64, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, - 0x1a, 0x4d, 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x2e, 0x0a, 0x13, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x5f, 0x64, 0x72, 0x61, 0x66, 0x74, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x68, - 0x75, 0x66, 0x66, 0x6c, 0x65, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, - 0xfa, 0x02, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, - 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0d, - 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x52, - 0x08, 0x73, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x1a, 0x71, 0x0a, 0x08, 0x53, 0x61, 0x76, - 0x65, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x9a, 0x01, 0x0a, - 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, - 0x62, 0x79, 0x53, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, - 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, - 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x3e, 0x0a, 0x0e, 0x62, 0x6f, 0x74, - 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, - 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x0d, 0x62, 0x6f, 0x74, 0x44, - 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, + 0x6c, 0x57, 0x69, 0x74, 0x68, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x61, 0x64, + 0x69, 0x61, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x65, 0x6e, 0x61, + 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, + 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x65, 0x6e, + 0x61, 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, + 0x0a, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x61, 0x64, + 0x69, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x28, + 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x77, 0x69, + 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x6c, 0x63, + 0x68, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x63, 0x68, + 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x76, 0x5f, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x44, 0x65, 0x6c, 0x61, + 0x79, 0x52, 0x0b, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6c, 0x61, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6c, 0x61, 0x6e, + 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, + 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, + 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, + 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, + 0x22, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, + 0x65, 0x43, 0x72, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, + 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x12, 0x40, 0x0a, 0x0d, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x47, 0x0a, 0x13, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, + 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, + 0x6f, 0x74, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0a, 0x62, 0x6f, 0x74, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x62, 0x6f, 0x74, 0x44, 0x69, 0x72, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x16, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, + 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x18, 0x2f, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x65, + 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x6e, 0x48, 0x6f, 0x73, 0x74, + 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x31, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x32, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, + 0x12, 0x40, 0x0a, 0x0d, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f, 0x73, 0x61, 0x76, + 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, + 0x53, 0x61, 0x76, 0x65, 0x52, 0x0c, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x53, 0x61, + 0x76, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, + 0x72, 0x61, 0x66, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x41, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x1b, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x6f, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x64, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x12, + 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x36, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x65, 0x61, 0x6d, + 0x73, 0x1a, 0x4d, 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x5f, 0x64, 0x72, 0x61, 0x66, + 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, + 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x22, 0xc2, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70, + 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, + 0x0d, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, 0x54, 0x65, + 0x61, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0xe4, - 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, + 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x3e, 0x0a, 0x0e, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x52, 0x0d, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x12, + 0x26, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, + 0x4d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0xe4, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4a, 0x6f, 0x69, + 0x6e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x34, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x42, + 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, - 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, - 0x17, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x42, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x42, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x38, 0x0a, 0x36, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x6f, - 0x67, 0x67, 0x6c, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0x36, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4b, 0x69, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x1d, 0x43, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, - 0x4b, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x43, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, - 0x4c, 0x65, 0x61, 0x76, 0x65, 0x22, 0x40, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, - 0x22, 0x7c, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, - 0x73, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x09, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xfe, - 0x05, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4f, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x50, 0x61, 0x73, 0x73, 0x4b, - 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, - 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x09, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x4d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, - 0x65, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, - 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, - 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, - 0x4e, 0x0a, 0x0c, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x63, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, + 0x65, 0x6c, 0x22, 0x38, 0x0a, 0x36, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x42, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x61, 0x6d, + 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x36, 0x0a, 0x15, + 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x4b, 0x69, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4b, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, + 0x6d, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x22, 0x40, + 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x37, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x65, 0x61, + 0x6d, 0x54, 0x6f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x15, 0x43, 0x4d, 0x73, + 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, + 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xfe, 0x05, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4f, + 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, + 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x73, 0x50, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6c, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, + 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, + 0x6c, 0x61, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, + 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x70, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, + 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x4e, 0x0a, 0x0c, 0x43, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x6c, 0x6f, 0x62, + 0x62, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x22, 0x66, 0x0a, + 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, + 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, + 0x65, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, + 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, + 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, + 0x63, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, + 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x52, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, + 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3e, 0x0a, 0x22, 0x43, 0x4d, 0x73, + 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x69, 0x0a, 0x23, 0x43, 0x4d, 0x73, + 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x42, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x12, 0x42, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x6f, 0x62, - 0x62, 0x69, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x5b, 0x0a, 0x15, - 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x15, 0x43, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4a, - 0x6f, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, - 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, - 0x63, 0x72, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, - 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x52, 0x0a, 0x1d, - 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, - 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x62, - 0x62, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x3e, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, - 0x22, 0x69, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x22, 0x49, 0x0a, 0x22, 0x43, - 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x4a, - 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x62, - 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x74, 0x0a, - 0x23, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x62, 0x69, 0x65, 0x73, 0x22, 0x49, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, + 0x94, 0x01, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x49, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, - 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, - 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, - 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x50, - 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x5f, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, - 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, - 0x72, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, - 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x6b, - 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, - 0x62, 0x62, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x22, 0x98, 0x04, 0x0a, 0x18, - 0x43, 0x4d, 0x73, 0x67, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0d, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6e, 0x79, 0x4d, 0x61, 0x70, - 0x12, 0x5f, 0x0a, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4a, 0x6f, - 0x69, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x4c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x11, - 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x35, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x70, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x10, 0x4c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x55, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x75, - 0x69, 0x63, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, - 0x62, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa8, 0x02, - 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x6f, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, - 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x12, 0x64, 0x69, 0x66, - 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, - 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, - 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, - 0x45, 0x41, 0x4d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, - 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, - 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, - 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x0e, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, - 0x75, 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, 0x65, 0x22, 0x3e, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x61, 0x6e, 0x74, 0x73, - 0x5f, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x61, - 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x22, 0x46, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x10, - 0x6e, 0x65, 0x77, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x22, 0x72, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x06, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x69, 0x64, 0x73, 0x22, 0x30, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0x40, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, - 0x54, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x22, 0x4e, 0x0a, 0x17, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x72, - 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, - 0x44, 0x4f, 0x54, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8c, 0x04, 0x0a, - 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0c, - 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x74, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, + 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, + 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x20, + 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x26, + 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x62, + 0x62, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, + 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x50, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, + 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x6c, 0x61, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x11, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, + 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x63, + 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, + 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x6b, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x4a, + 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, + 0x62, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, + 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x6f, 0x62, + 0x62, 0x69, 0x65, 0x73, 0x22, 0x98, 0x04, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x75, 0x69, + 0x63, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x12, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, + 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x53, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, + 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x41, 0x6e, 0x79, 0x4d, 0x61, 0x70, 0x12, 0x5f, 0x0a, 0x13, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x70, 0x69, + 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, + 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, + 0x61, 0x1a, 0x6c, 0x0a, 0x10, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, + 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, + 0x55, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4a, 0x6f, 0x69, 0x6e, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x4a, + 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa8, 0x02, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x42, + 0x6f, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x12, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, + 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x65, + 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x04, 0x74, 0x65, + 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x52, 0x0e, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, + 0x65, 0x22, 0x3e, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x61, 0x72, + 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x61, 0x63, 0x68, + 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x61, 0x63, + 0x68, 0x22, 0x46, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x6e, + 0x65, 0x77, 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x4c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x72, 0x0a, 0x1a, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x06, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x73, 0x22, 0x30, 0x0a, + 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6f, + 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, + 0x40, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, + 0x64, 0x22, 0x62, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x10, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x22, 0x4e, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8c, 0x04, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x61, 0x6d, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, - 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, - 0x1a, 0x59, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x1c, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x62, - 0x62, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, - 0x79, 0x12, 0x46, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, - 0x79, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x67, 0x61, - 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x7f, 0x0a, 0x18, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, - 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0xfd, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x67, + 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, + 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, + 0x08, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x1a, 0x59, 0x0a, 0x04, 0x54, 0x65, 0x61, + 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x6f, 0x67, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x0c, 0x67, 0x61, + 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x22, 0x7f, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xfd, 0x02, + 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4d, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, - 0x62, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, - 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x07, 0x6c, - 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x1a, 0x8b, 0x02, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x74, - 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, - 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, - 0x62, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x61, - 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x50, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, - 0x11, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0c, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x61, 0x6d, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x22, 0x52, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, - 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x22, 0xef, 0x03, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, - 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x65, 0x67, - 0x61, 0x63, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x54, 0x69, 0x6d, - 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x1a, 0x6c, 0x65, 0x67, 0x61, 0x63, - 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x17, 0x6c, 0x65, 0x67, - 0x61, 0x63, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x1b, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x18, 0x6c, 0x65, 0x67, 0x61, 0x63, - 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x49, 0x70, 0x12, 0x3b, 0x0a, 0x1a, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, - 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, - 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x15, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x67, - 0x61, 0x63, 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, - 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x67, - 0x61, 0x63, 0x79, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, + 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x69, 0x65, 0x73, 0x1a, + 0x8b, 0x02, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x50, + 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x52, 0x0a, + 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, + 0x64, 0x22, 0x79, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x10, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xef, 0x03, 0x0a, + 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, + 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, + 0x12, 0x3b, 0x0a, 0x1a, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x3d, 0x0a, + 0x1b, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x07, 0x52, 0x18, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x3b, 0x0a, 0x1a, + 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x15, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, + 0x0d, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70, 0x70, 0x49, + 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x11, + 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x45, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x24, + 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, - 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x2a, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, - 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x16, - 0x68, 0x69, 0x67, 0x68, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x69, - 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x4d, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x7e, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x4d, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, - 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x68, - 0x69, 0x67, 0x68, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x69, 0x67, - 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x2a, 0xf2, 0x10, 0x0a, 0x18, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, - 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, + 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x4d, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7e, 0x0a, 0x14, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x4d, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2a, 0xf2, 0x10, 0x0a, 0x18, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, - 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x69, 0x63, 0x10, 0x64, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, + 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4f, 0x4b, + 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x10, 0x64, 0x12, + 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x10, 0x65, 0x12, 0x32, 0x0a, 0x2e, + 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x66, + 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0x67, 0x12, 0x32, + 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x10, 0x68, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x65, + 0x10, 0x69, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x4c, 0x6f, + 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x10, 0x6a, 0x12, 0x35, 0x0a, 0x31, 0x6b, + 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x10, 0x6b, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, + 0x63, 0x6b, 0x65, 0x64, 0x10, 0x6c, 0x12, 0x3b, 0x0a, 0x37, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x67, 0x6e, 0x6f, 0x72, - 0x65, 0x10, 0x65, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, + 0x65, 0x10, 0x6d, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x66, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x53, 0x74, + 0x74, 0x5f, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x10, 0x6e, 0x12, 0x3c, 0x0a, 0x38, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x6c, - 0x69, 0x6e, 0x65, 0x10, 0x67, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x54, 0x6f, 0x6f, 0x4c, 0x61, + 0x72, 0x67, 0x65, 0x10, 0x6f, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0x68, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x75, - 0x74, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x65, 0x10, 0x69, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, - 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x4c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x10, 0x6a, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x55, - 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x6b, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x6c, 0x12, 0x3b, 0x0a, - 0x37, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x70, - 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, - 0x50, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x6d, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, + 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, + 0x79, 0x49, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0x70, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, + 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, + 0x6f, 0x74, 0x56, 0x41, 0x43, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x71, 0x12, + 0x39, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, 0x65, + 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x42, 0x61, 0x64, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x10, 0x72, 0x12, 0x3e, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x10, 0x6e, 0x12, 0x3c, - 0x0a, 0x38, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x6d, - 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x70, 0x72, 0x65, - 0x61, 0x64, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0x6f, 0x12, 0x33, 0x0a, 0x2f, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, + 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x6e, + 0x54, 0x6f, 0x6f, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x10, 0x73, 0x12, 0x44, 0x0a, 0x40, 0x6b, 0x5f, + 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, + 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, + 0x6c, 0x42, 0x75, 0x79, 0x49, 0x6e, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0x74, + 0x12, 0x3e, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, + 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x54, 0x65, 0x61, + 0x6d, 0x42, 0x75, 0x79, 0x49, 0x6e, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0x75, + 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x10, 0x76, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x49, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, - 0x70, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x56, 0x41, 0x43, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x10, 0x71, 0x12, 0x39, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x65, + 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, + 0x63, 0x6b, 0x65, 0x64, 0x10, 0x77, 0x12, 0x40, 0x0a, 0x3c, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, - 0x6e, 0x65, 0x79, 0x42, 0x61, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x10, - 0x72, 0x12, 0x3e, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x54, 0x65, - 0x61, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x6e, 0x54, 0x6f, 0x6f, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x10, - 0x73, 0x12, 0x44, 0x0a, 0x40, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x49, 0x6e, - 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x42, 0x75, 0x79, 0x49, 0x6e, 0x54, 0x6f, 0x6f, - 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0x74, 0x12, 0x3e, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x65, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x6e, 0x54, 0x6f, 0x6f, - 0x4c, 0x61, 0x72, 0x67, 0x65, 0x10, 0x75, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x10, 0x76, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, - 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x77, 0x12, 0x40, 0x0a, - 0x3c, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x57, 0x65, 0x65, 0x6b, - 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x78, 0x12, - 0x3f, 0x0a, 0x3b, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x63, 0x68, 0x6f, - 0x72, 0x65, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x79, - 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, - 0x6f, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x43, 0x6c, 0x61, 0x6e, 0x10, 0x7a, - 0x12, 0x3b, 0x0a, 0x37, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, - 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, - 0x61, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x10, 0x7b, 0x12, 0x41, 0x0a, - 0x3d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x61, 0x63, - 0x68, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x4d, 0x65, 0x74, 0x10, 0x7c, - 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x7d, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x10, 0x7e, 0x12, 0x2c, 0x0a, - 0x28, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x10, 0x7f, 0x12, 0x39, 0x0a, 0x34, 0x6b, - 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x75, 0x6e, 0x74, 0x6c, 0x65, 0x74, 0x46, - 0x6c, 0x61, 0x67, 0x10, 0x80, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, + 0x6e, 0x65, 0x79, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x78, 0x12, 0x3f, 0x0a, 0x3b, 0x6b, 0x5f, 0x45, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x65, 0x64, 0x50, 0x68, 0x6f, 0x6e, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x79, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x4f, 0x66, 0x43, 0x6c, 0x61, 0x6e, 0x10, 0x7a, 0x12, 0x3b, 0x0a, 0x37, 0x6b, 0x5f, 0x45, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, + 0x53, 0x69, 0x7a, 0x65, 0x10, 0x7b, 0x12, 0x41, 0x0a, 0x3d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x47, 0x61, 0x75, 0x6e, 0x74, - 0x6c, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x10, 0x81, 0x01, 0x12, - 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x44, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, - 0x6b, 0x65, 0x64, 0x10, 0x82, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x4e, 0x6f, 0x74, 0x4d, 0x65, 0x74, 0x10, 0x7c, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, + 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x7d, 0x12, + 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x50, 0x68, + 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x70, + 0x61, 0x6e, 0x63, 0x79, 0x10, 0x7e, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x83, 0x01, - 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x73, 0x79, 0x10, 0x84, - 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x10, 0x85, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x86, 0x01, - 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, - 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x61, 0x6e, - 0x6b, 0x65, 0x64, 0x10, 0x87, 0x01, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, - 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x10, 0x7f, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x5f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x47, 0x61, 0x75, 0x6e, 0x74, 0x6c, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x10, 0x80, 0x01, 0x12, + 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x47, 0x61, 0x75, 0x6e, 0x74, 0x6c, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x52, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x10, 0x81, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x82, 0x01, 0x12, + 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x43, 0x6f, + 0x61, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x49, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x83, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x42, 0x75, 0x73, 0x79, 0x10, 0x84, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, + 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, + 0x69, 0x6e, 0x61, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x85, 0x01, 0x12, 0x3b, 0x0a, 0x36, + 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x43, 0x68, 0x69, 0x6e, 0x61, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x69, 0x78, 0x65, + 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x86, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x10, 0x87, 0x01, 0x42, + 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, + 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, + 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -5447,7 +5348,7 @@ func file_dota_gcmessages_client_match_management_proto_rawDescGZIP() []byte { } var file_dota_gcmessages_client_match_management_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_dota_gcmessages_client_match_management_proto_msgTypes = make([]protoimpl.MessageInfo, 63) +var file_dota_gcmessages_client_match_management_proto_msgTypes = make([]protoimpl.MessageInfo, 62) var file_dota_gcmessages_client_match_management_proto_goTypes = []interface{}{ (EStartFindingMatchResult)(0), // 0: dota.EStartFindingMatchResult (*CMsgStartFindingMatch)(nil), // 1: dota.CMsgStartFindingMatch @@ -5508,82 +5409,80 @@ var file_dota_gcmessages_client_match_management_proto_goTypes = []interface{}{ (*CMsgGCToClientRequestMMInfo)(nil), // 56: dota.CMsgGCToClientRequestMMInfo (*CMsgClientToGCMMInfo)(nil), // 57: dota.CMsgClientToGCMMInfo (*CMsgPracticeLobbySetDetails_AbilityDraftSpecificDetails)(nil), // 58: dota.CMsgPracticeLobbySetDetails.AbilityDraftSpecificDetails - (*CMsgPracticeLobbyCreate_SaveGame)(nil), // 59: dota.CMsgPracticeLobbyCreate.SaveGame - (*CMsgPracticeLobbyListResponseEntry_CLobbyMember)(nil), // 60: dota.CMsgPracticeLobbyListResponseEntry.CLobbyMember - (*CMsgQuickJoinCustomLobby_LegacyRegionPing)(nil), // 61: dota.CMsgQuickJoinCustomLobby.LegacyRegionPing - (*CMsgSpectatorLobbyGameDetails_Team)(nil), // 62: dota.CMsgSpectatorLobbyGameDetails.Team - (*CMsgSpectatorLobbyListResponse_SpectatorLobby)(nil), // 63: dota.CMsgSpectatorLobbyListResponse.SpectatorLobby - (MatchType)(0), // 64: dota.MatchType - (MatchLanguages)(0), // 65: dota.MatchLanguages - (*CMsgClientPingData)(nil), // 66: dota.CMsgClientPingData - (DOTALobbyReadyState)(0), // 67: dota.DOTALobbyReadyState - (*CDOTAClientHardwareSpecs)(nil), // 68: dota.CDOTAClientHardwareSpecs - (*CLobbyTeamDetails)(nil), // 69: dota.CLobbyTeamDetails - (DOTA_CM_PICK)(0), // 70: dota.DOTA_CM_PICK - (DOTABotDifficulty)(0), // 71: dota.DOTABotDifficulty - (LobbyDotaTVDelay)(0), // 72: dota.LobbyDotaTVDelay - (DOTALobbyVisibility)(0), // 73: dota.DOTALobbyVisibility - (LobbyDotaPauseSetting)(0), // 74: dota.LobbyDotaPauseSetting - (DOTASelectionPriorityRules)(0), // 75: dota.DOTASelectionPriorityRules - (DOTA_GC_TEAM)(0), // 76: dota.DOTA_GC_TEAM - (DOTA_GameMode)(0), // 77: dota.DOTA_GameMode - (DOTAJoinLobbyResult)(0), // 78: dota.DOTAJoinLobbyResult - (EDOTAGroupMergeResult)(0), // 79: dota.EDOTAGroupMergeResult + (*CMsgPracticeLobbyListResponseEntry_CLobbyMember)(nil), // 59: dota.CMsgPracticeLobbyListResponseEntry.CLobbyMember + (*CMsgQuickJoinCustomLobby_LegacyRegionPing)(nil), // 60: dota.CMsgQuickJoinCustomLobby.LegacyRegionPing + (*CMsgSpectatorLobbyGameDetails_Team)(nil), // 61: dota.CMsgSpectatorLobbyGameDetails.Team + (*CMsgSpectatorLobbyListResponse_SpectatorLobby)(nil), // 62: dota.CMsgSpectatorLobbyListResponse.SpectatorLobby + (MatchType)(0), // 63: dota.MatchType + (MatchLanguages)(0), // 64: dota.MatchLanguages + (*CMsgClientPingData)(nil), // 65: dota.CMsgClientPingData + (DOTALobbyReadyState)(0), // 66: dota.DOTALobbyReadyState + (*CDOTAClientHardwareSpecs)(nil), // 67: dota.CDOTAClientHardwareSpecs + (*CLobbyTeamDetails)(nil), // 68: dota.CLobbyTeamDetails + (DOTA_CM_PICK)(0), // 69: dota.DOTA_CM_PICK + (DOTABotDifficulty)(0), // 70: dota.DOTABotDifficulty + (LobbyDotaTVDelay)(0), // 71: dota.LobbyDotaTVDelay + (DOTALobbyVisibility)(0), // 72: dota.DOTALobbyVisibility + (LobbyDotaPauseSetting)(0), // 73: dota.LobbyDotaPauseSetting + (DOTASelectionPriorityRules)(0), // 74: dota.DOTASelectionPriorityRules + (DOTA_GC_TEAM)(0), // 75: dota.DOTA_GC_TEAM + (DOTA_GameMode)(0), // 76: dota.DOTA_GameMode + (DOTAJoinLobbyResult)(0), // 77: dota.DOTAJoinLobbyResult + (EDOTAGroupMergeResult)(0), // 78: dota.EDOTAGroupMergeResult } var file_dota_gcmessages_client_match_management_proto_depIdxs = []int32{ - 64, // 0: dota.CMsgStartFindingMatch.match_type:type_name -> dota.MatchType - 65, // 1: dota.CMsgStartFindingMatch.game_language_enum:type_name -> dota.MatchLanguages - 66, // 2: dota.CMsgStartFindingMatch.ping_data:type_name -> dota.CMsgClientPingData + 63, // 0: dota.CMsgStartFindingMatch.match_type:type_name -> dota.MatchType + 64, // 1: dota.CMsgStartFindingMatch.game_language_enum:type_name -> dota.MatchLanguages + 65, // 2: dota.CMsgStartFindingMatch.ping_data:type_name -> dota.CMsgClientPingData 0, // 3: dota.CMsgStartFindingMatchResult.result:type_name -> dota.EStartFindingMatchResult - 64, // 4: dota.CMsgPartyBuilderOptions.match_type:type_name -> dota.MatchType - 65, // 5: dota.CMsgPartyBuilderOptions.language:type_name -> dota.MatchLanguages - 67, // 6: dota.CMsgReadyUp.state:type_name -> dota.DOTALobbyReadyState - 68, // 7: dota.CMsgReadyUp.hardware_specs:type_name -> dota.CDOTAClientHardwareSpecs - 67, // 8: dota.CMsgReadyUpStatus.local_ready_state:type_name -> dota.DOTALobbyReadyState - 69, // 9: dota.CMsgPracticeLobbySetDetails.team_details:type_name -> dota.CLobbyTeamDetails - 70, // 10: dota.CMsgPracticeLobbySetDetails.cm_pick:type_name -> dota.DOTA_CM_PICK - 71, // 11: dota.CMsgPracticeLobbySetDetails.bot_difficulty_radiant:type_name -> dota.DOTABotDifficulty - 72, // 12: dota.CMsgPracticeLobbySetDetails.dota_tv_delay:type_name -> dota.LobbyDotaTVDelay - 73, // 13: dota.CMsgPracticeLobbySetDetails.visibility:type_name -> dota.DOTALobbyVisibility - 74, // 14: dota.CMsgPracticeLobbySetDetails.pause_setting:type_name -> dota.LobbyDotaPauseSetting - 71, // 15: dota.CMsgPracticeLobbySetDetails.bot_difficulty_dire:type_name -> dota.DOTABotDifficulty - 75, // 16: dota.CMsgPracticeLobbySetDetails.selection_priority_rules:type_name -> dota.DOTASelectionPriorityRules + 63, // 4: dota.CMsgPartyBuilderOptions.match_type:type_name -> dota.MatchType + 64, // 5: dota.CMsgPartyBuilderOptions.language:type_name -> dota.MatchLanguages + 66, // 6: dota.CMsgReadyUp.state:type_name -> dota.DOTALobbyReadyState + 67, // 7: dota.CMsgReadyUp.hardware_specs:type_name -> dota.CDOTAClientHardwareSpecs + 66, // 8: dota.CMsgReadyUpStatus.local_ready_state:type_name -> dota.DOTALobbyReadyState + 68, // 9: dota.CMsgPracticeLobbySetDetails.team_details:type_name -> dota.CLobbyTeamDetails + 69, // 10: dota.CMsgPracticeLobbySetDetails.cm_pick:type_name -> dota.DOTA_CM_PICK + 70, // 11: dota.CMsgPracticeLobbySetDetails.bot_difficulty_radiant:type_name -> dota.DOTABotDifficulty + 71, // 12: dota.CMsgPracticeLobbySetDetails.dota_tv_delay:type_name -> dota.LobbyDotaTVDelay + 72, // 13: dota.CMsgPracticeLobbySetDetails.visibility:type_name -> dota.DOTALobbyVisibility + 73, // 14: dota.CMsgPracticeLobbySetDetails.pause_setting:type_name -> dota.LobbyDotaPauseSetting + 70, // 15: dota.CMsgPracticeLobbySetDetails.bot_difficulty_dire:type_name -> dota.DOTABotDifficulty + 74, // 16: dota.CMsgPracticeLobbySetDetails.selection_priority_rules:type_name -> dota.DOTASelectionPriorityRules 8, // 17: dota.CMsgPracticeLobbySetDetails.scenario_save:type_name -> dota.CMsgLobbyScenarioSave 58, // 18: dota.CMsgPracticeLobbySetDetails.ability_draft_specific_details:type_name -> dota.CMsgPracticeLobbySetDetails.AbilityDraftSpecificDetails 9, // 19: dota.CMsgPracticeLobbyCreate.lobby_details:type_name -> dota.CMsgPracticeLobbySetDetails - 59, // 20: dota.CMsgPracticeLobbyCreate.save_game:type_name -> dota.CMsgPracticeLobbyCreate.SaveGame - 76, // 21: dota.CMsgPracticeLobbySetTeamSlot.team:type_name -> dota.DOTA_GC_TEAM - 71, // 22: dota.CMsgPracticeLobbySetTeamSlot.bot_difficulty:type_name -> dota.DOTABotDifficulty - 76, // 23: dota.CMsgPracticeLobbySetCoach.team:type_name -> dota.DOTA_GC_TEAM - 77, // 24: dota.CMsgPracticeLobbyList.game_mode:type_name -> dota.DOTA_GameMode - 60, // 25: dota.CMsgPracticeLobbyListResponseEntry.members:type_name -> dota.CMsgPracticeLobbyListResponseEntry.CLobbyMember - 77, // 26: dota.CMsgPracticeLobbyListResponseEntry.game_mode:type_name -> dota.DOTA_GameMode - 22, // 27: dota.CMsgPracticeLobbyListResponse.lobbies:type_name -> dota.CMsgPracticeLobbyListResponseEntry - 77, // 28: dota.CMsgLobbyList.game_mode:type_name -> dota.DOTA_GameMode - 22, // 29: dota.CMsgLobbyListResponse.lobbies:type_name -> dota.CMsgPracticeLobbyListResponseEntry - 78, // 30: dota.CMsgPracticeLobbyJoinResponse.result:type_name -> dota.DOTAJoinLobbyResult - 22, // 31: dota.CMsgFriendPracticeLobbyListResponse.lobbies:type_name -> dota.CMsgPracticeLobbyListResponseEntry - 31, // 32: dota.CMsgJoinableCustomGameModesResponse.game_modes:type_name -> dota.CMsgJoinableCustomGameModesResponseEntry - 34, // 33: dota.CMsgJoinableCustomLobbiesResponse.lobbies:type_name -> dota.CMsgJoinableCustomLobbiesResponseEntry - 9, // 34: dota.CMsgQuickJoinCustomLobby.create_lobby_details:type_name -> dota.CMsgPracticeLobbySetDetails - 61, // 35: dota.CMsgQuickJoinCustomLobby.legacy_region_pings:type_name -> dota.CMsgQuickJoinCustomLobby.LegacyRegionPing - 66, // 36: dota.CMsgQuickJoinCustomLobby.ping_data:type_name -> dota.CMsgClientPingData - 78, // 37: dota.CMsgQuickJoinCustomLobbyResponse.result:type_name -> dota.DOTAJoinLobbyResult - 71, // 38: dota.CMsgBotGameCreate.difficulty_radiant:type_name -> dota.DOTABotDifficulty - 76, // 39: dota.CMsgBotGameCreate.team:type_name -> dota.DOTA_GC_TEAM - 71, // 40: dota.CMsgBotGameCreate.difficulty_dire:type_name -> dota.DOTABotDifficulty - 79, // 41: dota.CMsgDOTAGroupMergeReply.result:type_name -> dota.EDOTAGroupMergeResult - 62, // 42: dota.CMsgSpectatorLobbyGameDetails.radiant_team:type_name -> dota.CMsgSpectatorLobbyGameDetails.Team - 62, // 43: dota.CMsgSpectatorLobbyGameDetails.dire_team:type_name -> dota.CMsgSpectatorLobbyGameDetails.Team - 46, // 44: dota.CMsgSetSpectatorLobbyDetails.game_details:type_name -> dota.CMsgSpectatorLobbyGameDetails - 47, // 45: dota.CMsgCreateSpectatorLobby.details:type_name -> dota.CMsgSetSpectatorLobbyDetails - 63, // 46: dota.CMsgSpectatorLobbyListResponse.lobbies:type_name -> dota.CMsgSpectatorLobbyListResponse.SpectatorLobby - 46, // 47: dota.CMsgSpectatorLobbyListResponse.SpectatorLobby.game_details:type_name -> dota.CMsgSpectatorLobbyGameDetails - 48, // [48:48] is the sub-list for method output_type - 48, // [48:48] is the sub-list for method input_type - 48, // [48:48] is the sub-list for extension type_name - 48, // [48:48] is the sub-list for extension extendee - 0, // [0:48] is the sub-list for field type_name + 75, // 20: dota.CMsgPracticeLobbySetTeamSlot.team:type_name -> dota.DOTA_GC_TEAM + 70, // 21: dota.CMsgPracticeLobbySetTeamSlot.bot_difficulty:type_name -> dota.DOTABotDifficulty + 75, // 22: dota.CMsgPracticeLobbySetCoach.team:type_name -> dota.DOTA_GC_TEAM + 76, // 23: dota.CMsgPracticeLobbyList.game_mode:type_name -> dota.DOTA_GameMode + 59, // 24: dota.CMsgPracticeLobbyListResponseEntry.members:type_name -> dota.CMsgPracticeLobbyListResponseEntry.CLobbyMember + 76, // 25: dota.CMsgPracticeLobbyListResponseEntry.game_mode:type_name -> dota.DOTA_GameMode + 22, // 26: dota.CMsgPracticeLobbyListResponse.lobbies:type_name -> dota.CMsgPracticeLobbyListResponseEntry + 76, // 27: dota.CMsgLobbyList.game_mode:type_name -> dota.DOTA_GameMode + 22, // 28: dota.CMsgLobbyListResponse.lobbies:type_name -> dota.CMsgPracticeLobbyListResponseEntry + 77, // 29: dota.CMsgPracticeLobbyJoinResponse.result:type_name -> dota.DOTAJoinLobbyResult + 22, // 30: dota.CMsgFriendPracticeLobbyListResponse.lobbies:type_name -> dota.CMsgPracticeLobbyListResponseEntry + 31, // 31: dota.CMsgJoinableCustomGameModesResponse.game_modes:type_name -> dota.CMsgJoinableCustomGameModesResponseEntry + 34, // 32: dota.CMsgJoinableCustomLobbiesResponse.lobbies:type_name -> dota.CMsgJoinableCustomLobbiesResponseEntry + 9, // 33: dota.CMsgQuickJoinCustomLobby.create_lobby_details:type_name -> dota.CMsgPracticeLobbySetDetails + 60, // 34: dota.CMsgQuickJoinCustomLobby.legacy_region_pings:type_name -> dota.CMsgQuickJoinCustomLobby.LegacyRegionPing + 65, // 35: dota.CMsgQuickJoinCustomLobby.ping_data:type_name -> dota.CMsgClientPingData + 77, // 36: dota.CMsgQuickJoinCustomLobbyResponse.result:type_name -> dota.DOTAJoinLobbyResult + 70, // 37: dota.CMsgBotGameCreate.difficulty_radiant:type_name -> dota.DOTABotDifficulty + 75, // 38: dota.CMsgBotGameCreate.team:type_name -> dota.DOTA_GC_TEAM + 70, // 39: dota.CMsgBotGameCreate.difficulty_dire:type_name -> dota.DOTABotDifficulty + 78, // 40: dota.CMsgDOTAGroupMergeReply.result:type_name -> dota.EDOTAGroupMergeResult + 61, // 41: dota.CMsgSpectatorLobbyGameDetails.radiant_team:type_name -> dota.CMsgSpectatorLobbyGameDetails.Team + 61, // 42: dota.CMsgSpectatorLobbyGameDetails.dire_team:type_name -> dota.CMsgSpectatorLobbyGameDetails.Team + 46, // 43: dota.CMsgSetSpectatorLobbyDetails.game_details:type_name -> dota.CMsgSpectatorLobbyGameDetails + 47, // 44: dota.CMsgCreateSpectatorLobby.details:type_name -> dota.CMsgSetSpectatorLobbyDetails + 62, // 45: dota.CMsgSpectatorLobbyListResponse.lobbies:type_name -> dota.CMsgSpectatorLobbyListResponse.SpectatorLobby + 46, // 46: dota.CMsgSpectatorLobbyListResponse.SpectatorLobby.game_details:type_name -> dota.CMsgSpectatorLobbyGameDetails + 47, // [47:47] is the sub-list for method output_type + 47, // [47:47] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name } func init() { file_dota_gcmessages_client_match_management_proto_init() } @@ -6294,18 +6193,6 @@ func file_dota_gcmessages_client_match_management_proto_init() { } } file_dota_gcmessages_client_match_management_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPracticeLobbyCreate_SaveGame); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_dota_gcmessages_client_match_management_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgPracticeLobbyListResponseEntry_CLobbyMember); i { case 0: return &v.state @@ -6317,7 +6204,7 @@ func file_dota_gcmessages_client_match_management_proto_init() { return nil } } - file_dota_gcmessages_client_match_management_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_match_management_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgQuickJoinCustomLobby_LegacyRegionPing); i { case 0: return &v.state @@ -6329,7 +6216,7 @@ func file_dota_gcmessages_client_match_management_proto_init() { return nil } } - file_dota_gcmessages_client_match_management_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_match_management_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSpectatorLobbyGameDetails_Team); i { case 0: return &v.state @@ -6341,7 +6228,7 @@ func file_dota_gcmessages_client_match_management_proto_init() { return nil } } - file_dota_gcmessages_client_match_management_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_dota_gcmessages_client_match_management_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSpectatorLobbyListResponse_SpectatorLobby); i { case 0: return &v.state @@ -6360,7 +6247,7 @@ func file_dota_gcmessages_client_match_management_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_gcmessages_client_match_management_proto_rawDesc, NumEnums: 1, - NumMessages: 63, + NumMessages: 62, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_gcmessages_client_match_management.proto b/dota/dota_gcmessages_client_match_management.proto index c7f7009e..ccfffdf9 100644 --- a/dota/dota_gcmessages_client_match_management.proto +++ b/dota/dota_gcmessages_client_match_management.proto @@ -132,13 +132,11 @@ message CMsgPracticeLobbySetDetails { optional DOTABotDifficulty bot_difficulty_radiant = 9; optional bool allow_cheats = 10; optional bool fill_with_bots = 11; - optional bool intro_mode = 12; optional bool allow_spectating = 13; optional string pass_key = 15; optional uint32 leagueid = 16; optional uint32 penalty_level_radiant = 17; optional uint32 penalty_level_dire = 18; - optional uint32 load_game_id = 19; optional uint32 series_type = 20; optional uint32 radiant_series_wins = 21; optional uint32 dire_series_wins = 22; @@ -167,21 +165,14 @@ message CMsgPracticeLobbySetDetails { optional CMsgLobbyScenarioSave scenario_save = 51; optional CMsgPracticeLobbySetDetails.AbilityDraftSpecificDetails ability_draft_specific_details = 52; optional bool do_player_draft = 53; + repeated int32 requested_hero_teams = 54; } message CMsgPracticeLobbyCreate { - message SaveGame { - optional bytes data = 1; - optional int32 version = 2; - optional fixed64 steam_id = 3; - optional fixed64 signature = 4; - } - optional string search_key = 1; optional string pass_key = 5; optional uint32 client_version = 6; optional CMsgPracticeLobbySetDetails lobby_details = 7; - optional CMsgPracticeLobbyCreate.SaveGame save_game = 8; } message CMsgPracticeLobbySetTeamSlot { diff --git a/dota/dota_gcmessages_client_showcase.pb.go b/dota/dota_gcmessages_client_showcase.pb.go index 63468806..b66bfa04 100644 --- a/dota/dota_gcmessages_client_showcase.pb.go +++ b/dota/dota_gcmessages_client_showcase.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_showcase.proto package dota diff --git a/dota/dota_gcmessages_client_team.pb.go b/dota/dota_gcmessages_client_team.pb.go index 402c813c..a5126540 100644 --- a/dota/dota_gcmessages_client_team.pb.go +++ b/dota/dota_gcmessages_client_team.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_team.proto package dota diff --git a/dota/dota_gcmessages_client_tournament.pb.go b/dota/dota_gcmessages_client_tournament.pb.go index a84765a6..65d9fc46 100644 --- a/dota/dota_gcmessages_client_tournament.pb.go +++ b/dota/dota_gcmessages_client_tournament.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_tournament.proto package dota diff --git a/dota/dota_gcmessages_client_watch.pb.go b/dota/dota_gcmessages_client_watch.pb.go index f60cfa0f..a63459f5 100644 --- a/dota/dota_gcmessages_client_watch.pb.go +++ b/dota/dota_gcmessages_client_watch.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_client_watch.proto package dota diff --git a/dota/dota_gcmessages_common.pb.go b/dota/dota_gcmessages_common.pb.go index 1d0b4120..fc9bb4dd 100644 --- a/dota/dota_gcmessages_common.pb.go +++ b/dota/dota_gcmessages_common.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_common.proto package dota @@ -13506,6 +13506,7 @@ type CMsgDOTASeasonPredictions_Prediction struct { Region *ELeagueRegion `protobuf:"varint,17,opt,name=region,enum=dota.ELeagueRegion" json:"region,omitempty"` Phases []ELeaguePhase `protobuf:"varint,18,rep,name=phases,enum=dota.ELeaguePhase" json:"phases,omitempty"` RewardEvent *EEvent `protobuf:"varint,19,opt,name=reward_event,json=rewardEvent,enum=dota.EEvent" json:"reward_event,omitempty"` + LeagueNodeId *uint32 `protobuf:"varint,20,opt,name=league_node_id,json=leagueNodeId" json:"league_node_id,omitempty"` } func (x *CMsgDOTASeasonPredictions_Prediction) Reset() { @@ -13666,6 +13667,13 @@ func (x *CMsgDOTASeasonPredictions_Prediction) GetRewardEvent() EEvent { return EEvent_EVENT_ID_NONE } +func (x *CMsgDOTASeasonPredictions_Prediction) GetLeagueNodeId() uint32 { + if x != nil && x.LeagueNodeId != nil { + return *x.LeagueNodeId + } + return 0 +} + type CMsgDOTASeasonPredictions_Prediction_Answers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -13896,6 +13904,8 @@ type CMsgDOTAMatch_Player struct { Item_7 *int32 `protobuf:"varint,60,opt,name=item_7,json=item7" json:"item_7,omitempty"` Item_8 *int32 `protobuf:"varint,61,opt,name=item_8,json=item8" json:"item_8,omitempty"` Item_9 *int32 `protobuf:"varint,76,opt,name=item_9,json=item9" json:"item_9,omitempty"` + Item_10 *int32 `protobuf:"varint,83,opt,name=item_10,json=item10" json:"item_10,omitempty"` + Item_10Lvl *int32 `protobuf:"varint,84,opt,name=item_10_lvl,json=item10Lvl" json:"item_10_lvl,omitempty"` ExpectedTeamContribution *float32 `protobuf:"fixed32,10,opt,name=expected_team_contribution,json=expectedTeamContribution" json:"expected_team_contribution,omitempty"` ScaledMetric *float32 `protobuf:"fixed32,11,opt,name=scaled_metric,json=scaledMetric" json:"scaled_metric,omitempty"` PreviousRank *uint32 `protobuf:"varint,12,opt,name=previous_rank,json=previousRank" json:"previous_rank,omitempty"` @@ -14082,6 +14092,20 @@ func (x *CMsgDOTAMatch_Player) GetItem_9() int32 { return 0 } +func (x *CMsgDOTAMatch_Player) GetItem_10() int32 { + if x != nil && x.Item_10 != nil { + return *x.Item_10 + } + return 0 +} + +func (x *CMsgDOTAMatch_Player) GetItem_10Lvl() int32 { + if x != nil && x.Item_10Lvl != nil { + return *x.Item_10Lvl + } + return 0 +} + func (x *CMsgDOTAMatch_Player) GetExpectedTeamContribution() float32 { if x != nil && x.ExpectedTeamContribution != nil { return *x.ExpectedTeamContribution @@ -16283,11 +16307,15 @@ type CMsgGameDataItemAbilityList_ItemAbilityInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *int32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` - Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - NameLoc *string `protobuf:"bytes,3,opt,name=name_loc,json=nameLoc" json:"name_loc,omitempty"` - NameEnglishLoc *string `protobuf:"bytes,4,opt,name=name_english_loc,json=nameEnglishLoc" json:"name_english_loc,omitempty"` - NeutralItemTier *int32 `protobuf:"varint,5,opt,name=neutral_item_tier,json=neutralItemTier" json:"neutral_item_tier,omitempty"` + Id *int32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + NameLoc *string `protobuf:"bytes,3,opt,name=name_loc,json=nameLoc" json:"name_loc,omitempty"` + NameEnglishLoc *string `protobuf:"bytes,4,opt,name=name_english_loc,json=nameEnglishLoc" json:"name_english_loc,omitempty"` + NeutralItemTier *int32 `protobuf:"varint,5,opt,name=neutral_item_tier,json=neutralItemTier" json:"neutral_item_tier,omitempty"` + IsPregameSuggested *bool `protobuf:"varint,6,opt,name=is_pregame_suggested,json=isPregameSuggested" json:"is_pregame_suggested,omitempty"` + IsEarlygameSuggested *bool `protobuf:"varint,7,opt,name=is_earlygame_suggested,json=isEarlygameSuggested" json:"is_earlygame_suggested,omitempty"` + IsLategameSuggested *bool `protobuf:"varint,8,opt,name=is_lategame_suggested,json=isLategameSuggested" json:"is_lategame_suggested,omitempty"` + Recipes []*CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe `protobuf:"bytes,9,rep,name=recipes" json:"recipes,omitempty"` } func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo) Reset() { @@ -16357,6 +16385,81 @@ func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo) GetNeutralItemTier() int32 return 0 } +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo) GetIsPregameSuggested() bool { + if x != nil && x.IsPregameSuggested != nil { + return *x.IsPregameSuggested + } + return false +} + +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo) GetIsEarlygameSuggested() bool { + if x != nil && x.IsEarlygameSuggested != nil { + return *x.IsEarlygameSuggested + } + return false +} + +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo) GetIsLategameSuggested() bool { + if x != nil && x.IsLategameSuggested != nil { + return *x.IsLategameSuggested + } + return false +} + +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo) GetRecipes() []*CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe { + if x != nil { + return x.Recipes + } + return nil +} + +type CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Items []int32 `protobuf:"varint,1,rep,name=items" json:"items,omitempty"` +} + +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe) Reset() { + *x = CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe) ProtoMessage() {} + +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_proto_msgTypes[161] + 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 CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe.ProtoReflect.Descriptor instead. +func (*CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_proto_rawDescGZIP(), []int{79, 0, 0} +} + +func (x *CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe) GetItems() []int32 { + if x != nil { + return x.Items + } + return nil +} + type CMsgDOTAClaimEventActionResponse_MysteryItemRewardData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -16369,7 +16472,7 @@ type CMsgDOTAClaimEventActionResponse_MysteryItemRewardData struct { func (x *CMsgDOTAClaimEventActionResponse_MysteryItemRewardData) Reset() { *x = CMsgDOTAClaimEventActionResponse_MysteryItemRewardData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_proto_msgTypes[161] + mi := &file_dota_gcmessages_common_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16382,7 +16485,7 @@ func (x *CMsgDOTAClaimEventActionResponse_MysteryItemRewardData) String() string func (*CMsgDOTAClaimEventActionResponse_MysteryItemRewardData) ProtoMessage() {} func (x *CMsgDOTAClaimEventActionResponse_MysteryItemRewardData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_proto_msgTypes[161] + mi := &file_dota_gcmessages_common_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16423,7 +16526,7 @@ type CMsgDOTAClaimEventActionResponse_LootListRewardData struct { func (x *CMsgDOTAClaimEventActionResponse_LootListRewardData) Reset() { *x = CMsgDOTAClaimEventActionResponse_LootListRewardData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_proto_msgTypes[162] + mi := &file_dota_gcmessages_common_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16436,7 +16539,7 @@ func (x *CMsgDOTAClaimEventActionResponse_LootListRewardData) String() string { func (*CMsgDOTAClaimEventActionResponse_LootListRewardData) ProtoMessage() {} func (x *CMsgDOTAClaimEventActionResponse_LootListRewardData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_proto_msgTypes[162] + mi := &file_dota_gcmessages_common_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16471,7 +16574,7 @@ type CMsgDOTAClaimEventActionResponse_ActionListRewardData struct { func (x *CMsgDOTAClaimEventActionResponse_ActionListRewardData) Reset() { *x = CMsgDOTAClaimEventActionResponse_ActionListRewardData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_proto_msgTypes[163] + mi := &file_dota_gcmessages_common_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16484,7 +16587,7 @@ func (x *CMsgDOTAClaimEventActionResponse_ActionListRewardData) String() string func (*CMsgDOTAClaimEventActionResponse_ActionListRewardData) ProtoMessage() {} func (x *CMsgDOTAClaimEventActionResponse_ActionListRewardData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_proto_msgTypes[163] + mi := &file_dota_gcmessages_common_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16525,7 +16628,7 @@ type CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData struct { func (x *CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData) Reset() { *x = CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_proto_msgTypes[164] + mi := &file_dota_gcmessages_common_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16538,7 +16641,7 @@ func (x *CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData) String() str func (*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData) ProtoMessage() {} func (x *CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_proto_msgTypes[164] + mi := &file_dota_gcmessages_common_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16576,7 +16679,7 @@ type CMsgDOTAClaimEventActionResponse_GrantedRewardData struct { func (x *CMsgDOTAClaimEventActionResponse_GrantedRewardData) Reset() { *x = CMsgDOTAClaimEventActionResponse_GrantedRewardData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_proto_msgTypes[165] + mi := &file_dota_gcmessages_common_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16589,7 +16692,7 @@ func (x *CMsgDOTAClaimEventActionResponse_GrantedRewardData) String() string { func (*CMsgDOTAClaimEventActionResponse_GrantedRewardData) ProtoMessage() {} func (x *CMsgDOTAClaimEventActionResponse_GrantedRewardData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_proto_msgTypes[165] + mi := &file_dota_gcmessages_common_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16652,7 +16755,7 @@ type CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity str func (x *CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity) Reset() { *x = CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_proto_msgTypes[166] + mi := &file_dota_gcmessages_common_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16665,7 +16768,7 @@ func (x *CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity func (*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity) ProtoMessage() {} func (x *CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_proto_msgTypes[166] + mi := &file_dota_gcmessages_common_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16710,7 +16813,7 @@ type CDotaMsg_PredictionResult_Prediction struct { func (x *CDotaMsg_PredictionResult_Prediction) Reset() { *x = CDotaMsg_PredictionResult_Prediction{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_proto_msgTypes[167] + mi := &file_dota_gcmessages_common_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16723,7 +16826,7 @@ func (x *CDotaMsg_PredictionResult_Prediction) String() string { func (*CDotaMsg_PredictionResult_Prediction) ProtoMessage() {} func (x *CDotaMsg_PredictionResult_Prediction) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_proto_msgTypes[167] + mi := &file_dota_gcmessages_common_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17989,7 +18092,7 @@ var file_dota_gcmessages_common_proto_rawDesc = []byte{ 0x74, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x61, 0x72, 0x6c, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x69, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x03, 0x22, 0xf8, 0x0b, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x03, 0x22, 0x9e, 0x0c, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, @@ -18010,7 +18113,7 @@ var file_dota_gcmessages_common_proto_rawDesc = []byte{ 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x23, 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x74, 0x69, 0x6e, - 0x67, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x1a, 0xa0, + 0x67, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x1a, 0xc6, 0x09, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x61, 0x73, 0x6f, @@ -18065,1869 +18168,1892 @@ var file_dota_gcmessages_common_proto_rawDesc = []byte{ 0x61, 0x73, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x26, 0x0a, 0x07, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x64, 0x22, 0x7e, 0x0a, - 0x0f, 0x45, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x10, 0x00, 0x12, 0x08, 0x0a, - 0x04, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x10, - 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x03, 0x12, 0x0b, 0x0a, - 0x07, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x59, 0x65, - 0x73, 0x4e, 0x6f, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x61, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x07, 0x22, 0x91, 0x01, - 0x0a, 0x0b, 0x45, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, - 0x09, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, - 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x01, 0x12, 0x0f, 0x0a, - 0x0b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x10, 0x02, 0x12, 0x11, - 0x0a, 0x0d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x10, - 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x10, - 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x10, - 0x07, 0x22, 0xe3, 0x01, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, - 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6a, 0x0a, 0x0f, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, - 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x2e, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, - 0x73, 0x1a, 0x35, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x1a, 0x62, 0x0a, 0x06, 0x4c, 0x65, 0x61, 0x67, - 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, - 0x3b, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x67, 0x75, - 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xbd, 0x2e, 0x0a, - 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x77, - 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x0b, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, - 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x61, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x07, 0x52, 0x08, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, - 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x75, 0x6d, 0x61, 0x6e, - 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, - 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, - 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, - 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, - 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, - 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, - 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, - 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x31, - 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, - 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, - 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x72, - 0x6c, 0x12, 0x2b, 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, - 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, - 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x32, - 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, - 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x73, - 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x42, 0x61, 0x6e, 0x73, 0x12, 0x22, - 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x71, 0x4e, - 0x75, 0x6d, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x52, 0x65, - 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, - 0x74, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, - 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x22, - 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, - 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x54, - 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, - 0x27, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x28, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x59, 0x0a, 0x14, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, + 0x65, 0x61, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x1a, 0x26, 0x0a, 0x07, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x0f, 0x45, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x04, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x10, 0x04, + 0x12, 0x09, 0x0a, 0x05, 0x59, 0x65, 0x73, 0x4e, 0x6f, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x06, 0x12, + 0x12, 0x0a, 0x0e, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x61, + 0x6d, 0x10, 0x07, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x45, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x74, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, + 0x6e, 0x74, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x69, 0x6e, 0x67, 0x6c, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x10, 0x07, 0x22, 0xe3, 0x01, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x1a, 0x6a, 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x3c, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf2, 0x01, + 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x52, 0x07, + 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x73, 0x1a, 0x35, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x1a, 0x62, + 0x0a, 0x06, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x47, 0x61, + 0x6d, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x22, 0xf6, 0x2e, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x34, + 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x61, 0x72, + 0x72, 0x61, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, + 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x61, 0x6c, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6b, + 0x69, 0x6c, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x67, + 0x61, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, + 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x61, 0x64, + 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, + 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x24, + 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, + 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x31, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x36, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, + 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x2b, 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, 0x5f, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x37, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, + 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, + 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x73, + 0x42, 0x61, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, + 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x21, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x13, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x72, - 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x34, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x5f, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x70, 0x72, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x39, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x07, 0x63, 0x6f, - 0x61, 0x63, 0x68, 0x65, 0x73, 0x1a, 0xbc, 0x19, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x30, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x30, - 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x31, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x12, 0x15, - 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x33, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x33, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x34, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x34, 0x12, 0x15, 0x0a, 0x06, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x35, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x36, 0x18, 0x3b, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x36, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x37, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x37, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x38, 0x18, 0x3d, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x38, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x39, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x39, 0x12, - 0x3c, 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x18, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x65, 0x61, - 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, - 0x0d, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, - 0x61, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x72, 0x61, - 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6d, 0x72, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x6d, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, - 0x74, 0x68, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, - 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, - 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x6f, 0x6c, - 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x0a, 0x78, - 0x70, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x78, 0x70, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, - 0x64, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, - 0x6f, 0x6c, 0x64, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x72, 0x6f, - 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, - 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x77, - 0x65, 0x72, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, - 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x66, 0x65, 0x65, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, - 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x36, 0x0a, 0x17, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x6e, 0x63, 0x65, - 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, - 0x69, 0x6e, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x6e, 0x63, - 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, - 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x6b, 0x55, 0x6e, 0x63, 0x65, 0x72, - 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x26, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, - 0x2c, 0x0a, 0x12, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, - 0x13, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x64, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x64, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, - 0x13, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x68, 0x65, 0x61, - 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x27, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, - 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x44, - 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, - 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, - 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x67, 0x6f, 0x6c, - 0x64, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, - 0x46, 0x61, 0x72, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x2c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x69, - 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6d, 0x69, - 0x73, 0x73, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, - 0x6d, 0x65, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x0f, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x61, - 0x0a, 0x1a, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x69, - 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x30, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x6e, - 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x48, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x62, - 0x75, 0x66, 0x66, 0x73, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x65, - 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x0e, 0x70, 0x65, 0x72, - 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x48, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x49, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, - 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, - 0x25, 0x0a, 0x0e, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, - 0x79, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, - 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x70, - 0x69, 0x63, 0x6b, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, 0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2a, - 0x0a, 0x11, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x77, 0x61, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, - 0x6d, 0x65, 0x64, 0x18, 0x40, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x57, - 0x61, 0x73, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1d, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x77, 0x61, 0x73, 0x5f, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, 0x73, - 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x45, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x19, 0x68, 0x65, 0x72, 0x6f, 0x57, 0x61, 0x73, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x6c, - 0x75, 0x73, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x14, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x44, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x59, 0x0a, - 0x11, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x61, - 0x6c, 0x74, 0x18, 0x4f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, - 0x61, 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x44, 0x65, 0x61, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x67, - 0x6f, 0x6c, 0x64, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x61, 0x74, - 0x68, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x6f, 0x6c, 0x64, 0x4c, 0x6f, 0x73, - 0x74, 0x54, 0x6f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, - 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, - 0x75, 0x6e, 0x74, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x12, 0x2b, 0x0a, - 0x11, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, - 0x65, 0x64, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, - 0x74, 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x0b, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, - 0x45, 0x41, 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x51, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x52, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x1a, 0x45, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x65, - 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0xac, 0x01, 0x0a, 0x12, 0x48, - 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x52, 0x65, 0x64, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x70, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, - 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, - 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, - 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x0e, 0x48, 0x65, 0x72, - 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x48, - 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, - 0x43, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, - 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x41, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, - 0x0a, 0x10, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x55, - 0x52, 0x45, 0x10, 0x02, 0x1a, 0x44, 0x0a, 0x0f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xd0, 0x01, 0x0a, 0x12, 0x42, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x11, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0xd7, 0x01, - 0x0a, 0x05, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x61, 0x63, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x61, - 0x63, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x61, 0x63, - 0x68, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, - 0x61, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x61, 0x63, 0x68, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, - 0x10, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x61, 0x63, - 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x1a, 0x51, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x0b, 0x52, 0x65, - 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x50, - 0x4c, 0x41, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, - 0x17, 0x0a, 0x13, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x52, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x50, 0x4c, - 0x41, 0x59, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x22, 0xb1, 0x01, 0x0a, - 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x46, - 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x4d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x38, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x4d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x74, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0xe2, 0x06, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, - 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, - 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, - 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x02, 0x63, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x6d, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x67, 0x70, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x77, - 0x65, 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x74, 0x6f, 0x77, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, - 0x73, 0x68, 0x61, 0x6e, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, - 0x17, 0x74, 0x65, 0x61, 0x6d, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, - 0x74, 0x65, 0x61, 0x6d, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6d, - 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x23, - 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x62, 0x62, 0x65, 0x64, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x47, 0x72, 0x61, 0x62, - 0x62, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, - 0x6f, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, - 0x6c, 0x6f, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x75, 0x6e, 0x73, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x74, 0x75, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6d, - 0x6f, 0x6b, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6d, 0x6f, 0x6b, - 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x65, 0x75, 0x74, - 0x72, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, - 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x1a, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, - 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x22, 0xdf, 0x0a, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x42, 0x6f, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, - 0x04, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x52, 0x04, 0x62, 0x6f, 0x74, - 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, - 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x50, 0x75, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x65, 0x54, - 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x75, 0x73, - 0x68, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x6d, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x74, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, + 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, + 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, + 0x69, 0x72, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x25, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, + 0x6d, 0x54, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x72, + 0x65, 0x54, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x2b, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x13, 0x62, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x2d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x2f, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x30, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, + 0x65, 0x61, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x72, 0x65, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0c, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x75, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, + 0x65, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, + 0x73, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x61, + 0x63, 0x68, 0x52, 0x07, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x1a, 0xf5, 0x19, 0x0a, 0x06, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x30, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x30, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x31, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x31, 0x12, 0x15, 0x0a, + 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x32, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x33, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x33, 0x12, 0x15, 0x0a, 0x06, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x34, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x35, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x35, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x36, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x36, + 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x37, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x37, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x38, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x38, 0x12, 0x15, + 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x39, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x39, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x31, 0x30, + 0x18, 0x53, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x31, 0x30, 0x12, 0x1e, + 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x31, 0x30, 0x5f, 0x6c, 0x76, 0x6c, 0x18, 0x54, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x31, 0x30, 0x4c, 0x76, 0x6c, 0x12, 0x3c, + 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x18, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x65, 0x61, 0x6d, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x61, + 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x72, 0x61, 0x6e, + 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6d, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x6d, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, + 0x68, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x65, + 0x61, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, + 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x6f, 0x6c, 0x64, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x67, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x0a, 0x78, 0x70, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x78, 0x70, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, + 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x6f, + 0x6c, 0x64, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x65, + 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x77, 0x65, + 0x72, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x74, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, + 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x66, 0x65, 0x65, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x69, + 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x36, 0x0a, 0x17, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x6e, 0x63, 0x65, 0x72, + 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x6e, 0x63, 0x65, + 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x24, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x72, 0x61, 0x6e, 0x6b, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, + 0x61, 0x69, 0x6e, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x25, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x26, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2c, + 0x0a, 0x12, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x64, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x64, 0x48, 0x65, 0x72, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x27, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, + 0x18, 0x28, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x44, 0x65, + 0x61, 0x74, 0x68, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x61, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x64, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x67, 0x6f, 0x6c, 0x64, + 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x46, + 0x61, 0x72, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x2c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x69, 0x65, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6d, 0x69, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x65, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, + 0x65, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, + 0x12, 0x4b, 0x0a, 0x10, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x18, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x0f, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x61, 0x0a, + 0x1a, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x69, 0x74, + 0x73, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x30, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x48, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x75, + 0x66, 0x66, 0x73, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x65, 0x72, + 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x72, + 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x48, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x49, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x34, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x25, + 0x0a, 0x0e, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, + 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x69, + 0x63, 0x6b, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x68, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, 0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2a, 0x0a, + 0x11, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x77, 0x61, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x65, 0x64, 0x18, 0x40, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x57, 0x61, + 0x73, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1d, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x77, 0x61, 0x73, 0x5f, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, + 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x45, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x19, 0x68, 0x65, 0x72, 0x6f, 0x57, 0x61, 0x73, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, + 0x73, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x14, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x44, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x11, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x6c, + 0x74, 0x18, 0x4f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x44, 0x65, 0x61, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x67, 0x6f, + 0x6c, 0x64, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, + 0x18, 0x47, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x6f, 0x6c, 0x64, 0x4c, 0x6f, 0x73, 0x74, + 0x54, 0x6f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x4b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x75, + 0x6e, 0x74, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, + 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, + 0x64, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, + 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x0b, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x51, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x52, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x61, 0x63, + 0x65, 0x74, 0x1a, 0x45, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x65, 0x61, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0xac, 0x01, 0x0a, 0x12, 0x48, 0x65, + 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x52, 0x65, 0x64, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, + 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0b, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, + 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, + 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x45, + 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, + 0x41, 0x4c, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, + 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x41, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x55, 0x52, + 0x45, 0x10, 0x02, 0x1a, 0x44, 0x0a, 0x0f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xd0, 0x01, 0x0a, 0x12, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x11, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0xd7, 0x01, 0x0a, + 0x05, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x61, 0x63, 0x68, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x72, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x61, 0x63, + 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x61, 0x63, 0x68, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x61, + 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x63, 0x6f, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, + 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x61, 0x63, 0x68, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x1a, 0x51, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x0b, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x50, 0x4c, + 0x41, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x13, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x43, + 0x4f, 0x52, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x50, 0x4c, 0x41, + 0x59, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x22, 0xb1, 0x01, 0x0a, 0x0e, + 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, + 0x0d, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x38, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x74, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0xe2, 0x06, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, + 0x61, 0x73, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, + 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x63, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x6d, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x03, 0x67, 0x70, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x77, 0x65, + 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, + 0x6f, 0x77, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x73, + 0x68, 0x61, 0x6e, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x17, + 0x74, 0x65, 0x61, 0x6d, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x74, + 0x65, 0x61, 0x6d, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6d, 0x70, + 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x62, 0x62, 0x65, 0x64, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x47, 0x72, 0x61, 0x62, 0x62, + 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, + 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, + 0x6f, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x75, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x05, 0x73, 0x74, 0x75, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6d, 0x6f, + 0x6b, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6d, 0x6f, 0x6b, 0x65, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x65, 0x75, 0x74, 0x72, + 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x22, 0xdf, 0x0a, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x42, 0x6f, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x04, + 0x62, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x52, 0x04, 0x62, 0x6f, 0x74, 0x73, + 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, + 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, + 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x50, 0x75, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x65, 0x54, 0x6f, + 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, + 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x6d, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x50, 0x75, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x65, 0x4d, + 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x75, 0x73, + 0x68, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x50, 0x75, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x65, - 0x4d, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x75, - 0x73, 0x68, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x50, 0x75, 0x73, 0x68, 0x4c, 0x61, 0x6e, - 0x65, 0x42, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x64, - 0x65, 0x66, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x44, 0x65, 0x66, 0x65, - 0x6e, 0x64, 0x4c, 0x61, 0x6e, 0x65, 0x54, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x65, 0x73, - 0x69, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, - 0x6d, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x65, 0x73, 0x69, 0x72, - 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x6e, 0x65, 0x4d, 0x69, 0x64, 0x12, 0x33, - 0x0a, 0x16, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x5f, - 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, - 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x6e, 0x65, - 0x42, 0x6f, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x61, - 0x72, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x42, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x64, 0x65, + 0x66, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, + 0x64, 0x4c, 0x61, 0x6e, 0x65, 0x54, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x69, + 0x72, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x6d, + 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, + 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x6e, 0x65, 0x4d, 0x69, 0x64, 0x12, 0x33, 0x0a, + 0x16, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x5f, 0x6c, + 0x61, 0x6e, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, + 0x65, 0x73, 0x69, 0x72, 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x6e, 0x65, 0x42, + 0x6f, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x61, 0x72, + 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x46, 0x61, 0x72, 0x6d, 0x4c, 0x61, 0x6e, 0x65, + 0x54, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x61, + 0x72, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x6d, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x46, 0x61, 0x72, 0x6d, 0x4c, 0x61, 0x6e, - 0x65, 0x54, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x66, - 0x61, 0x72, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x6d, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x65, 0x4d, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, 0x66, + 0x61, 0x72, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x46, 0x61, 0x72, 0x6d, 0x4c, 0x61, - 0x6e, 0x65, 0x4d, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, - 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x46, 0x61, 0x72, 0x6d, 0x4c, - 0x61, 0x6e, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, - 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x10, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x46, 0x61, 0x72, 0x6d, 0x52, 0x6f, - 0x73, 0x68, 0x61, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x75, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xd7, 0x05, 0x0a, - 0x03, 0x42, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, - 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, - 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, - 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6f, - 0x77, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, - 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x6f, 0x76, 0x65, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x58, 0x12, 0x22, 0x0a, 0x0d, 0x6d, - 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x79, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x59, 0x12, - 0x22, 0x0a, 0x0d, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x7a, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5a, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x42, - 0x6f, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xad, 0x01, 0x0a, 0x04, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x64, 0x65, - 0x73, 0x69, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x59, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x7a, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5a, 0x1a, 0x4a, 0x0a, 0x06, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x75, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x17, 0x0a, 0x07, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, - 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x50, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, - 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x22, 0xff, 0x02, - 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x6e, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x5f, + 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x10, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x46, 0x61, 0x72, 0x6d, 0x52, 0x6f, 0x73, + 0x68, 0x61, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x75, + 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x0a, 0x72, 0x75, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xd7, 0x05, 0x0a, 0x03, + 0x42, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, + 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, + 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x58, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x6f, + 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x59, 0x12, 0x22, + 0x0a, 0x0d, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x7a, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5a, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x39, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, + 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xad, 0x01, 0x0a, 0x04, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x65, 0x73, 0x69, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x64, 0x65, 0x73, + 0x69, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x59, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x7a, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5a, 0x1a, 0x4a, 0x0a, 0x06, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x75, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, + 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x50, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, + 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x22, 0xff, 0x02, 0x0a, + 0x13, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, + 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, + 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xf0, + 0x01, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x70, 0x73, + 0x12, 0x31, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x69, 0x70, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x70, 0x52, 0x04, 0x74, + 0x69, 0x70, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x54, 0x69, + 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, + 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x70, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, + 0x69, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x22, 0x9b, 0x0b, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, - 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, - 0x6f, 0x6d, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, - 0xf0, 0x01, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x70, - 0x73, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x54, 0x69, 0x70, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x70, 0x52, 0x04, - 0x74, 0x69, 0x70, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x54, - 0x69, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, - 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, - 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x74, 0x69, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0x9b, 0x0b, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, - 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x12, 0x3c, 0x0a, 0x07, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x2e, 0x54, 0x6f, - 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x07, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x38, - 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, - 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x1a, 0xa5, 0x02, 0x0a, 0x06, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, - 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, - 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x33, - 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x1a, 0xba, 0x05, 0x0a, 0x07, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, - 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x41, - 0x0a, 0x1d, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, - 0x79, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, - 0x75, 0x72, 0x6e, 0x65, 0x79, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x46, 0x0a, 0x20, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x6f, 0x70, - 0x68, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x77, 0x65, 0x65, - 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x53, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x77, 0x65, 0x65, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x64, 0x69, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x77, 0x65, 0x65, - 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, - 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x61, 0x64, - 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, - 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, - 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, - 0x67, 0x6f, 0x12, 0x31, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, - 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x72, - 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x5f, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, - 0x0e, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, - 0x6f, 0x67, 0x6f, 0x12, 0x2b, 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x72, 0x6c, - 0x22, 0x59, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, - 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, - 0x65, 0x66, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x71, 0x75, 0x61, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x18, + 0x64, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x2e, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, + 0x3c, 0x0a, 0x07, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x2e, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x65, 0x79, 0x52, 0x07, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x38, 0x0a, + 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, + 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, + 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x1a, 0xa5, 0x02, 0x0a, 0x06, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, + 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, + 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x33, 0x0a, + 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, + 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x1a, 0xba, 0x05, 0x0a, 0x07, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x1b, + 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, + 0x1d, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, + 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x65, 0x79, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x46, 0x0a, 0x20, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, + 0x6e, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x6f, 0x70, 0x68, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x77, 0x65, 0x65, 0x6b, + 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x77, 0x65, 0x65, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x77, 0x65, 0x65, 0x6b, + 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, + 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, + 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x61, 0x64, 0x69, + 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, 0x64, + 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, + 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, + 0x6f, 0x12, 0x31, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, + 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, + 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, + 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, + 0x67, 0x6f, 0x12, 0x2b, 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x22, + 0x59, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, + 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, + 0x66, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x18, 0x43, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, + 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x75, 0x73, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, - 0x62, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x61, 0x62, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, 0x1a, 0x72, 0x0a, 0x0b, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, - 0x22, 0xe5, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, - 0x52, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x1a, 0x73, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, - 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x14, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x22, 0x85, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x62, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, + 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, 0x1a, 0x72, 0x0a, 0x0b, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, 0x22, + 0xe5, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x52, + 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x73, 0x1a, 0x73, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x44, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, + 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x77, 0x68, + 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x14, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, + 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x22, 0x85, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x45, + 0x64, 0x69, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, + 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, - 0x45, 0x64, 0x69, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, - 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x46, 0x6f, - 0x72, 0x45, 0x64, 0x69, 0x74, 0x2e, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x0e, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, - 0x48, 0x0a, 0x0f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x77, 0x68, 0x69, 0x74, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x19, 0x43, 0x4d, - 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x77, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x77, 0x69, 0x6e, 0x12, 0x17, - 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, - 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x22, - 0x43, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x6c, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x6f, - 0x73, 0x73, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x57, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x95, 0x04, 0x0a, 0x1f, - 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x4c, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x52, 0x0e, 0x72, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, - 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2b, 0x0a, - 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x6c, - 0x75, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x70, 0x6c, 0x75, 0x73, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, - 0x12, 0x47, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3e, 0x0a, - 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x44, 0x0a, - 0x0b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x76, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, - 0x76, 0x70, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x72, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, - 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd7, 0x01, 0x0a, 0x19, 0x43, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, - 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x16, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x45, 0x64, 0x69, 0x74, 0x2e, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x10, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x0e, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x48, + 0x0a, 0x0f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, + 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x77, + 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x77, 0x69, 0x6e, 0x12, 0x17, 0x0a, + 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, + 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x22, 0x43, + 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x6f, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x6f, 0x73, + 0x73, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x57, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x95, 0x04, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4c, + 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x52, 0x0e, 0x72, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0c, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, + 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2b, 0x0a, 0x11, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x6c, 0x75, + 0x73, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x70, 0x6c, 0x75, 0x73, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, + 0x47, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3e, 0x0a, 0x0a, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x44, 0x0a, 0x0b, + 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x76, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x76, + 0x70, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x72, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, + 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd7, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x16, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x14, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x13, 0x68, + 0x65, 0x72, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0xc8, + 0x02, 0x0a, 0x38, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, + 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, + 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x56, 0x0a, + 0x16, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x14, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x13, - 0x68, 0x65, 0x72, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, - 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, - 0xc8, 0x02, 0x0a, 0x38, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x56, - 0x0a, 0x16, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x73, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, - 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x6d, 0x0a, 0x18, 0x43, 0x4d, - 0x73, 0x67, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x6f, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x76, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x28, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x74, 0x6f, 0x47, 0x43, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x65, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x54, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, - 0x16, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, - 0x75, 0x6d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x73, 0x22, 0xac, 0x03, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x74, 0x6f, - 0x47, 0x43, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x70, 0x6c, - 0x6f, 0x69, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x74, 0x6f, 0x47, 0x43, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x65, 0x72, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x9b, 0x02, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x32, 0x0a, - 0x15, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x65, 0x61, - 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, - 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x42, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x54, - 0x61, 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, - 0x6c, 0x6f, 0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6a, 0x61, - 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x73, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x52, 0x08, 0x6a, 0x61, - 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x1a, 0x8e, 0x01, 0x0a, 0x04, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x64, 0x65, 0x65, 0x6d, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, - 0x64, 0x65, 0x65, 0x6d, 0x65, 0x64, 0x1a, 0x5a, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, - 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x0b, 0x62, 0x65, 0x6e, - 0x63, 0x68, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, - 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x53, 0x6c, - 0x6f, 0x74, 0x52, 0x0a, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x40, - 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, - 0x64, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x6f, - 0x70, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x70, 0x53, 0x6c, 0x6f, 0x74, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x6f, - 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, - 0x6f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x74, - 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x53, 0x0a, 0x09, 0x42, 0x65, - 0x6e, 0x63, 0x68, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x6d, 0x0a, 0x18, 0x43, 0x4d, 0x73, + 0x67, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x73, 0x1a, - 0x68, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, - 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, - 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x2a, 0x0a, - 0x11, 0x69, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x13, 0x43, 0x4d, 0x73, - 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x94, 0x02, 0x0a, 0x16, 0x43, 0x4d, - 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, - 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x30, - 0x0a, 0x14, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, - 0x72, 0x72, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x22, 0x76, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, - 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x69, 0x63, - 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x67, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x8e, 0x03, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, - 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, - 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x12, 0x3d, 0x0a, 0x07, - 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6e, - 0x75, 0x73, 0x52, 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x02, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x63, - 0x65, 0x70, 0x74, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x62, - 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x52, - 0x0a, 0x66, 0x61, 0x63, 0x65, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x61, 0x63, - 0x65, 0x74, 0x22, 0x69, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x46, 0x61, 0x63, 0x65, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6f, - 0x6e, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x0a, - 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x65, - 0x73, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, - 0x73, 0x63, 0x4c, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x6f, - 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x72, 0x65, 0x4c, 0x6f, 0x63, - 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x12, 0x1b, 0x0a, - 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, - 0x65, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x66, - 0x61, 0x63, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x09, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x65, 0x6c, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x74, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x61, 0x73, - 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x02, 0x52, - 0x09, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x02, 0x52, 0x09, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x61, 0x6d, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, - 0x18, 0x24, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x73, 0x74, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, - 0x25, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, - 0x18, 0x26, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x6f, - 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x0d, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, - 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x68, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x18, 0x3c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x53, 0x63, 0x65, - 0x70, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x68, 0x61, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x12, 0x40, 0x0a, 0x1d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x73, 0x5f, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, - 0x72, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x63, 0x65, 0x70, 0x74, - 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x73, - 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x73, 0x5f, 0x69, - 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x18, 0x40, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, - 0x73, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x65, 0x72, - 0x18, 0x48, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x65, 0x75, 0x74, - 0x72, 0x61, 0x6c, 0x54, 0x69, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x12, 0x26, 0x0a, - 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x4a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x63, - 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x55, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x74, 0x65, - 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x5e, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, - 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, + 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x6f, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x76, + 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x28, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x74, 0x6f, 0x47, 0x43, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x54, + 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, + 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, + 0x6d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x22, 0xac, 0x03, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x74, 0x6f, 0x47, + 0x43, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, + 0x69, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x74, 0x6f, 0x47, 0x43, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x65, 0x72, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x1a, 0x9b, 0x02, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, + 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, + 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x65, 0x61, 0x72, + 0x6c, 0x69, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c, + 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, + 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x61, + 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6a, 0x61, 0x63, + 0x6b, 0x70, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x73, 0x44, + 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x52, 0x08, 0x6a, 0x61, 0x63, + 0x6b, 0x70, 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x1a, 0x8e, 0x01, 0x0a, 0x04, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, + 0x65, 0x65, 0x6d, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x64, + 0x65, 0x65, 0x6d, 0x65, 0x64, 0x1a, 0x5a, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, + 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x0b, 0x62, 0x65, 0x6e, 0x63, + 0x68, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x44, 0x72, + 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x53, 0x6c, 0x6f, + 0x74, 0x52, 0x0a, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x40, 0x0a, + 0x0a, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, + 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x6f, 0x70, + 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x70, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, + 0x6f, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x6f, 0x6c, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x6f, + 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x53, 0x0a, 0x09, 0x42, 0x65, 0x6e, + 0x63, 0x68, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x73, 0x1a, 0x68, + 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, + 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, + 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, + 0x69, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x94, 0x02, 0x0a, 0x16, 0x43, 0x4d, 0x73, + 0x67, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, + 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x30, 0x0a, + 0x14, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, + 0x76, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, + 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x69, 0x63, 0x6b, + 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x67, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x8e, 0x03, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, + 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x12, 0x3d, 0x0a, 0x07, 0x62, + 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa4, 0x0b, 0x0a, 0x10, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x69, 0x6f, 0x5f, 0x6c, - 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x6f, 0x4c, 0x6f, 0x63, - 0x12, 0x19, 0x0a, 0x08, 0x68, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x68, 0x79, 0x70, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x20, 0x0a, 0x0c, 0x6e, - 0x70, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6e, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x4c, 0x6f, 0x63, 0x12, 0x34, 0x0a, - 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x65, 0x72, 0x6f, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, - 0x65, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x42, 0x61, 0x73, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x73, 0x74, 0x72, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x07, 0x73, 0x74, 0x72, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x69, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x67, 0x69, - 0x42, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x69, 0x5f, 0x67, 0x61, 0x69, 0x6e, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x61, 0x67, 0x69, 0x47, 0x61, 0x69, 0x6e, 0x12, - 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, - 0x74, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x69, 0x6e, - 0x74, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x6f, 0x6c, 0x65, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x61, 0x6d, 0x61, - 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, - 0x6d, 0x61, 0x78, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x4d, 0x61, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x72, - 0x61, 0x74, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x6b, 0x52, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x1c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x53, 0x70, - 0x65, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x18, 0x1d, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x05, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x67, - 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, - 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x68, - 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x21, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x68, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x79, - 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x6e, 0x69, 0x67, 0x68, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x6d, 0x61, 0x78, 0x4d, 0x61, 0x6e, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, - 0x61, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, - 0x61, 0x6e, 0x61, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x0e, 0x66, 0x61, 0x63, 0x65, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x1a, 0xac, 0x01, 0x0a, 0x05, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x27, 0x0a, - 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x1f, - 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, - 0x56, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6e, 0x75, + 0x73, 0x52, 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, + 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x25, 0x0a, + 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x62, 0x6f, + 0x6e, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x61, 0x63, + 0x65, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x52, 0x0a, + 0x66, 0x61, 0x63, 0x65, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x61, 0x63, 0x65, + 0x74, 0x22, 0x69, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x46, 0x61, 0x63, 0x65, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6f, 0x6e, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x0a, 0x0a, + 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x65, 0x73, + 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x73, + 0x63, 0x4c, 0x6f, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x12, + 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x12, 0x1b, 0x0a, 0x09, + 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, + 0x63, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x6d, + 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6d, 0x6d, + 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x65, 0x6c, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x65, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x74, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x02, 0x52, 0x09, + 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x02, 0x52, 0x09, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, + 0x24, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x73, 0x74, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x25, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, + 0x26, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x6f, 0x73, + 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x0d, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x68, + 0x61, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x53, 0x63, 0x65, 0x70, + 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x68, + 0x61, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, + 0x40, 0x0a, 0x1d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x73, 0x5f, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, + 0x18, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, + 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x63, 0x65, 0x70, 0x74, 0x65, + 0x72, 0x12, 0x3c, 0x0a, 0x1b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x73, 0x5f, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, + 0x18, 0x3f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, + 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, + 0x2a, 0x0a, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x73, 0x5f, 0x69, 0x6e, + 0x6e, 0x61, 0x74, 0x65, 0x18, 0x40, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x49, 0x73, 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, + 0x18, 0x47, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, + 0x48, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x65, 0x75, 0x74, 0x72, + 0x61, 0x6c, 0x54, 0x69, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, + 0x74, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x69, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x12, 0x26, 0x0a, 0x0f, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x4a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x71, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x55, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x74, 0x65, 0x6d, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x5e, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, + 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x35, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x68, 0x65, 0x72, - 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, - 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0x8c, 0x02, 0x0a, 0x14, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, - 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x48, - 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x1a, - 0xb6, 0x01, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa4, 0x0b, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x63, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, - 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x22, 0x9f, 0x02, 0x0a, 0x1b, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x69, - 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x1a, 0xa6, 0x01, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, - 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x67, - 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x12, 0x2a, - 0x0a, 0x11, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, - 0x69, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 0x65, 0x75, 0x74, 0x72, - 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x65, 0x72, 0x22, 0x4b, 0x0a, 0x19, 0x43, 0x4d, - 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, - 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x68, 0x75, 0x66, 0x66, - 0x6c, 0x65, 0x5f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x44, 0x72, 0x61, - 0x66, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x95, 0x02, 0x0a, 0x18, 0x43, 0x53, 0x4f, 0x45, - 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x42, - 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6e, - 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, - 0xad, 0x02, 0x0a, 0x1d, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x54, - 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, - 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x61, 0x6c, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, - 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, - 0x6f, 0x75, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, - 0xc7, 0x02, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x58, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x59, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x7a, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5a, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, - 0x70, 0x74, 0x68, 0x5f, 0x62, 0x69, 0x61, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x64, 0x65, 0x70, 0x74, 0x68, 0x42, 0x69, 0x61, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x13, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x38, - 0x0a, 0x08, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x08, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x49, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x0b, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0xd3, 0x01, 0x0a, - 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x12, 0x2f, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, - 0x73, 0x12, 0x63, 0x0a, 0x18, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, - 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x15, 0x74, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, - 0x74, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x67, 0x65, 0x4e, - 0x75, 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, - 0x1e, 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, - 0x42, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, - 0x72, 0x6f, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, - 0x6f, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, - 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, - 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x77, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x77, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x68, 0x0a, 0x15, 0x43, 0x4d, 0x73, - 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, - 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, - 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x22, 0x70, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0a, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, - 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xb3, 0x03, - 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x74, 0x75, 0x73, 0x65, 0x73, 0x5f, - 0x67, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x6f, - 0x74, 0x75, 0x73, 0x65, 0x73, 0x47, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x77, - 0x69, 0x73, 0x64, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x5f, 0x67, 0x61, 0x69, 0x6e, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x77, 0x69, 0x73, 0x64, 0x6f, 0x6d, - 0x52, 0x75, 0x6e, 0x65, 0x73, 0x47, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, - 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x64, 0x61, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x44, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x5f, - 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x10, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x4e, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x61, - 0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x72, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, - 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, - 0x0f, 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, - 0x74, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, - 0x72, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x72, 0x75, - 0x6e, 0x65, 0x73, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x11, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x47, 0x61, 0x69, - 0x6e, 0x65, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x3d, 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x52, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, - 0x39, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, - 0x09, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x64, 0x22, 0x67, 0x0a, 0x0f, 0x43, 0x4d, - 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x12, 0x26, 0x0a, - 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x10, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x93, 0x09, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, - 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x5f, 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x1a, 0x57, 0x0a, 0x15, 0x4d, 0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, - 0x65, 0x6d, 0x44, 0x65, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, - 0x65, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x1a, 0x2f, 0x0a, 0x12, 0x4c, 0x6f, - 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x1a, 0x61, 0x0a, 0x14, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xce, - 0x01, 0x0a, 0x18, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x06, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, - 0xb6, 0x01, 0x0a, 0x11, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xae, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, - 0x6f, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x03, 0x12, 0x0f, 0x0a, - 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x04, 0x12, 0x16, - 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, - 0x69, 0x63, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, - 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x10, 0x07, - 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4f, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4f, 0x4c, 0x6f, 0x61, 0x64, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4e, 0x6f, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x0b, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x73, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x73, 0x79, 0x6e, 0x63, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x10, 0x0e, 0x22, 0x7d, 0x0a, 0x1e, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, - 0x61, 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x62, - 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x88, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, - 0x61, 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, - 0x61, 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, - 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, - 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, - 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, - 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, - 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, - 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x74, 0x65, - 0x6d, 0x10, 0x06, 0x22, 0xdc, 0x03, 0x0a, 0x19, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4d, 0x73, 0x67, - 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, - 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x4c, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, + 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, + 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x69, 0x6f, 0x5f, 0x6c, 0x6f, + 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x6f, 0x4c, 0x6f, 0x63, 0x12, + 0x19, 0x0a, 0x08, 0x68, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x68, 0x79, 0x70, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x70, + 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6e, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x4c, 0x6f, 0x63, 0x12, 0x34, 0x0a, 0x06, + 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x65, 0x72, 0x6f, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, + 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x42, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x73, 0x74, 0x72, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x07, 0x73, 0x74, 0x72, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x69, 0x5f, + 0x62, 0x61, 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x67, 0x69, 0x42, + 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x69, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x61, 0x67, 0x69, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x19, + 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x74, + 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x69, 0x6e, 0x74, + 0x47, 0x61, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x78, 0x69, 0x74, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, + 0x6d, 0x69, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, + 0x61, 0x78, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x4d, 0x61, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, + 0x74, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x05, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x67, 0x69, + 0x63, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x74, + 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x73, 0x69, 0x67, 0x68, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x79, 0x12, + 0x2a, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x19, 0x0a, + 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x6d, 0x61, 0x78, 0x4d, 0x61, 0x6e, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, + 0x5f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x61, + 0x6e, 0x61, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x0e, 0x66, 0x61, 0x63, 0x65, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, + 0xac, 0x01, 0x0a, 0x05, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x27, 0x0a, 0x0f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x0b, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x56, + 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, + 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0x8c, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x65, + 0x72, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x1a, 0xb6, + 0x01, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, + 0x68, 0x4c, 0x6f, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x78, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x22, 0xaf, 0x04, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x1a, 0xb6, 0x03, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, + 0x4c, 0x6f, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x6c, + 0x69, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, + 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x12, 0x2a, 0x0a, + 0x11, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x69, + 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, + 0x70, 0x72, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x50, 0x72, 0x65, 0x67, 0x61, + 0x6d, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x69, + 0x73, 0x5f, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x45, + 0x61, 0x72, 0x6c, 0x79, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x69, 0x73, 0x4c, 0x61, 0x74, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, + 0x52, 0x07, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x73, 0x1a, 0x1e, 0x0a, 0x06, 0x52, 0x65, 0x63, + 0x69, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x4b, 0x0a, 0x19, 0x43, 0x4d, 0x73, + 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, + 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, + 0x65, 0x5f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x44, 0x72, 0x61, 0x66, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x95, 0x02, 0x0a, 0x18, 0x43, 0x53, 0x4f, 0x45, 0x63, + 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x42, 0x6f, + 0x6e, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, + 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6e, 0x75, + 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0xad, + 0x02, 0x0a, 0x1d, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x6c, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x73, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x6f, + 0x75, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0xc7, + 0x02, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x58, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x59, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5a, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, + 0x74, 0x68, 0x5f, 0x62, 0x69, 0x61, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, + 0x65, 0x70, 0x74, 0x68, 0x42, 0x69, 0x61, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x13, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x38, 0x0a, + 0x08, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x08, 0x73, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x49, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, + 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0xd3, 0x01, 0x0a, 0x0f, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, + 0x2f, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x63, 0x0a, 0x18, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x15, + 0x74, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, + 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x42, + 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, + 0x6f, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, + 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, + 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, + 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x77, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x68, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, + 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x6f, + 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, + 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x22, 0x70, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, + 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, + 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xb3, 0x03, 0x0a, + 0x14, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x74, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x67, + 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x6f, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x47, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x77, 0x69, + 0x73, 0x64, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x77, 0x69, 0x73, 0x64, 0x6f, 0x6d, 0x52, + 0x75, 0x6e, 0x65, 0x73, 0x47, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x6f, + 0x73, 0x68, 0x61, 0x6e, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x44, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x5f, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x10, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x4e, 0x69, 0x67, + 0x68, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x73, + 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, + 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, + 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x72, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, + 0x73, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x72, 0x75, 0x6e, + 0x65, 0x73, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x11, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x47, 0x61, 0x69, 0x6e, + 0x65, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x3d, 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x39, + 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x09, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x64, 0x22, 0x67, 0x0a, 0x0f, 0x43, 0x4d, 0x73, + 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x0f, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x10, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x93, 0x09, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x5f, 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x1a, 0x57, 0x0a, 0x15, 0x4d, 0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, + 0x6d, 0x44, 0x65, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, + 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x1a, 0x2f, 0x0a, 0x12, 0x4c, 0x6f, 0x6f, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x1a, 0x61, 0x0a, 0x14, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xce, 0x01, + 0x0a, 0x18, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x06, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xb6, + 0x01, 0x0a, 0x11, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xae, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x04, 0x12, 0x16, 0x0a, + 0x12, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, + 0x63, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x41, + 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x10, 0x07, 0x12, + 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4f, 0x4c, 0x6f, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x44, 0x4f, 0x4c, 0x6f, 0x61, 0x64, 0x46, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4e, 0x6f, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x0b, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x49, 0x74, 0x65, 0x6d, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x10, 0x0e, 0x22, 0x7d, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, + 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, + 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x88, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x52, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, + 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, + 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x12, + 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, + 0x10, 0x06, 0x22, 0xdc, 0x03, 0x0a, 0x19, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4d, 0x73, 0x67, 0x5f, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x12, 0x4c, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x1a, 0x9c, 0x02, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x12, 0x1f, 0x0a, 0x0b, + 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0x9c, 0x02, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x12, 0x1f, 0x0a, - 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, - 0x65, 0x66, 0x73, 0x22, 0x3d, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, - 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x74, 0x65, 0x6d, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, - 0x10, 0x02, 0x2a, 0x55, 0x0a, 0x11, 0x45, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x53, 0x70, - 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x4e, - 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xfe, 0x7f, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xff, 0x7f, 0x2a, 0x86, 0x05, 0x0a, 0x12, 0x45, 0x44, - 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, - 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, - 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x6f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x64, - 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x4f, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x6b, - 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, - 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, - 0x61, 0x6d, 0x65, 0x10, 0x66, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, - 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x55, 0x49, 0x57, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x10, 0x67, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, + 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, + 0x66, 0x73, 0x22, 0x3d, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, + 0x15, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x10, + 0x02, 0x2a, 0x55, 0x0a, 0x11, 0x45, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x53, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x4e, 0x6f, + 0x44, 0x61, 0x74, 0x61, 0x10, 0xfe, 0x7f, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xff, 0x7f, 0x2a, 0x86, 0x05, 0x0a, 0x12, 0x45, 0x44, 0x4f, + 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x12, + 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, + 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x64, 0x12, + 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, + 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x61, + 0x6d, 0x65, 0x10, 0x66, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x6e, 0x55, 0x49, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x10, 0x68, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, - 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, - 0x65, 0x72, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x10, 0x69, 0x12, 0x31, 0x0a, - 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x55, 0x49, 0x57, 0x61, - 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x64, 0x6c, 0x65, 0x10, 0x6a, - 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x55, - 0x49, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, - 0x64, 0x6c, 0x65, 0x10, 0x6b, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, - 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0xc8, - 0x01, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x10, 0xc9, 0x01, 0x12, 0x28, 0x0a, 0x23, + 0x72, 0x49, 0x6e, 0x55, 0x49, 0x57, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x10, 0x67, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x55, 0x49, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x10, 0x68, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, + 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, + 0x72, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x10, 0x69, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, - 0x64, 0x6c, 0x65, 0x10, 0xca, 0x01, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, - 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, - 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x10, 0xcb, - 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x10, - 0xcc, 0x01, 0x2a, 0x86, 0x02, 0x0a, 0x1e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, + 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x55, 0x49, 0x57, 0x61, 0x73, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x64, 0x6c, 0x65, 0x10, 0x6a, 0x12, + 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x55, 0x49, + 0x4e, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x64, + 0x6c, 0x65, 0x10, 0x6b, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, + 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0xc8, 0x01, + 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x10, 0xc9, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x6b, + 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, + 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, + 0x6c, 0x65, 0x10, 0xca, 0x01, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x10, 0xcb, 0x01, + 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x10, 0xcc, + 0x01, 0x2a, 0x86, 0x02, 0x0a, 0x1e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x53, 0x74, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x48, 0x50, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x31, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x10, 0x01, + 0x12, 0x4f, 0x0a, 0x4b, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x53, 0x74, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x48, 0x50, 0x52, 0x65, 0x67, - 0x65, 0x6e, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x31, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x10, - 0x01, 0x12, 0x4f, 0x0a, 0x4b, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4d, 0x61, 0x74, + 0x6d, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x44, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x65, 0x77, 0x46, + 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x10, + 0x02, 0x12, 0x57, 0x0a, 0x53, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x65, 0x77, - 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, - 0x10, 0x02, 0x12, 0x57, 0x0a, 0x53, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x44, 0x61, 0x6d, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x65, - 0x77, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x4f, 0x66, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x50, 0x10, 0x03, 0x2a, 0xf6, 0x01, 0x0a, 0x15, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, - 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x45, 0x5f, - 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, - 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, - 0x0c, 0x54, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x03, 0x12, - 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x59, - 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x53, - 0x54, 0x4f, 0x4c, 0x45, 0x4e, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x5f, 0x47, 0x4f, - 0x44, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x43, 0x4f, - 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, - 0x54, 0x45, 0x5f, 0x45, 0x43, 0x48, 0x4f, 0x53, 0x4c, 0x41, 0x4d, 0x10, 0x08, 0x12, 0x0d, 0x0a, - 0x09, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x50, 0x49, 0x45, 0x52, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, - 0x54, 0x45, 0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x10, - 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x5f, 0x48, 0x4f, - 0x4c, 0x45, 0x10, 0x0b, 0x2a, 0x8d, 0x03, 0x0a, 0x17, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x28, 0x0a, 0x24, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x45, 0x42, + 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x4f, + 0x66, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x50, 0x10, 0x03, 0x2a, 0xf6, 0x01, 0x0a, 0x15, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, + 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x45, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x5f, + 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, + 0x54, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x03, 0x12, 0x11, + 0x0a, 0x0d, 0x54, 0x45, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, + 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x53, 0x54, + 0x4f, 0x4c, 0x45, 0x4e, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x5f, 0x47, 0x4f, 0x44, + 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x55, + 0x52, 0x49, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x54, + 0x45, 0x5f, 0x45, 0x43, 0x48, 0x4f, 0x53, 0x4c, 0x41, 0x4d, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, + 0x54, 0x45, 0x5f, 0x52, 0x41, 0x50, 0x49, 0x45, 0x52, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x54, + 0x45, 0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x10, 0x0a, + 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x5f, 0x48, 0x4f, 0x4c, + 0x45, 0x10, 0x0b, 0x2a, 0x8d, 0x03, 0x0a, 0x17, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x28, 0x0a, 0x24, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x45, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x42, 0x72, 0x6f, 0x61, + 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, 0x03, 0x12, + 0x29, 0x0a, 0x25, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x61, 0x72, 0x72, 0x61, + 0x63, 0x6b, 0x73, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x42, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, 0x03, - 0x12, 0x29, 0x0a, 0x25, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x61, 0x72, 0x72, - 0x61, 0x63, 0x6b, 0x73, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x45, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x41, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x61, + 0x74, 0x68, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, 0x06, 0x12, 0x25, 0x0a, + 0x21, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, 0x61, + 0x74, 0x68, 0x10, 0x07, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x54, 0x65, 0x61, 0x6d, 0x46, 0x69, 0x67, 0x68, 0x74, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x41, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, - 0x61, 0x74, 0x68, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, 0x06, 0x12, 0x25, - 0x0a, 0x21, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, - 0x61, 0x74, 0x68, 0x10, 0x07, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x69, 0x67, 0x68, 0x74, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, - 0x45, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, - 0x6f, 0x64, 0x10, 0x09, 0x2a, 0x98, 0x01, 0x0a, 0x19, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, - 0x45, 0x5f, 0x57, 0x48, 0x49, 0x54, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x43, - 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x54, 0x45, - 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, - 0x56, 0x45, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, - 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x54, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, - 0x9a, 0x07, 0x0a, 0x1b, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, - 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x63, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x31, - 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, + 0x64, 0x10, 0x09, 0x2a, 0x98, 0x01, 0x0a, 0x19, 0x45, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x5f, 0x57, 0x48, 0x49, 0x54, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x55, + 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x54, 0x45, 0x4c, + 0x49, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x5f, 0x57, 0x48, 0x49, 0x54, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x9a, + 0x07, 0x0a, 0x1b, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x2d, + 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, - 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, - 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, - 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x10, 0x02, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, - 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x10, 0x03, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x44, - 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, - 0x54, 0x72, 0x65, 0x65, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, - 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, - 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x10, 0x06, - 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, - 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x07, - 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x63, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x31, 0x0a, + 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x41, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0x01, + 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x73, 0x10, - 0x08, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, - 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x43, 0x6f, - 0x73, 0x74, 0x10, 0x09, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, - 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, - 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x0a, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, + 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x10, 0x02, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, + 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x10, 0x03, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x10, 0x0b, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, + 0x72, 0x65, 0x65, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, + 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x10, 0x06, 0x12, + 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x07, 0x12, + 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x73, 0x10, 0x08, + 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, + 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, + 0x79, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x73, + 0x74, 0x10, 0x09, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, + 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x53, + 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x0a, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x0c, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x44, - 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, - 0x72, 0x65, 0x10, 0x0d, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, - 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, - 0x65, 0x73, 0x10, 0x0e, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, - 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x51, 0x55, 0x45, - 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x0f, 0x12, 0x39, 0x0a, 0x35, - 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x44, 0x59, - 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, - 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x63, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x44, 0x4f, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x10, 0x0b, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x0c, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, - 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x64, 0x2a, 0xa9, 0x01, 0x0a, - 0x14, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, - 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x4e, 0x6f, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x74, 0x79, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, - 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x74, 0x55, 0x6e, 0x63, 0x6c, - 0x65, 0x61, 0x72, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x72, + 0x65, 0x10, 0x0d, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, + 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, + 0x73, 0x10, 0x0e, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, + 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x51, 0x55, 0x45, 0x53, + 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x0f, 0x12, 0x39, 0x0a, 0x35, 0x6b, + 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x44, 0x59, 0x4e, + 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x10, 0x63, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, + 0x41, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, + 0x49, 0x74, 0x65, 0x6d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x64, 0x2a, 0xa9, 0x01, 0x0a, 0x14, + 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x4e, + 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x47, 0x75, 0x69, 0x6c, 0x74, 0x79, 0x10, 0x03, 0x2a, 0x74, 0x0a, 0x10, 0x45, 0x48, 0x65, 0x72, - 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x19, - 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x41, 0x52, 0x49, 0x54, - 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x52, 0x45, 0x4c, - 0x49, 0x43, 0x5f, 0x52, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, - 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x43, - 0x5f, 0x52, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x41, 0x52, 0x45, 0x10, 0x01, 0x2a, 0xd1, - 0x01, 0x0a, 0x17, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, - 0x49, 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, - 0x1d, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, 0x44, - 0x49, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x10, 0x01, - 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, - 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x49, 0x43, - 0x4b, 0x45, 0x52, 0x53, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, - 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c, - 0x41, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x53, 0x10, 0x03, 0x12, 0x22, - 0x0a, 0x1e, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x54, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, - 0x10, 0x04, 0x2a, 0x60, 0x0a, 0x14, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, - 0x49, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, - 0x49, 0x43, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x5f, - 0x50, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, - 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x41, 0x4c, 0x45, - 0x4e, 0x54, 0x10, 0x02, 0x2a, 0xbb, 0x04, 0x0a, 0x18, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, - 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, - 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, - 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, - 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x46, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, - 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x4d, 0x61, 0x6c, 0x66, - 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x02, 0x12, 0x25, - 0x0a, 0x21, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, - 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x4e, - 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x04, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x45, 0x4e, - 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, - 0x6f, 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x73, 0x10, 0x05, 0x12, 0x34, 0x0a, 0x30, + 0x4e, 0x6f, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x74, 0x79, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x6b, + 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x74, 0x55, 0x6e, 0x63, 0x6c, 0x65, + 0x61, 0x72, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x47, + 0x75, 0x69, 0x6c, 0x74, 0x79, 0x10, 0x03, 0x2a, 0x74, 0x0a, 0x10, 0x45, 0x48, 0x65, 0x72, 0x6f, + 0x52, 0x65, 0x6c, 0x69, 0x63, 0x52, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x19, 0x48, + 0x45, 0x52, 0x4f, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x41, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x52, 0x45, 0x4c, 0x49, + 0x43, 0x5f, 0x52, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x43, 0x5f, + 0x52, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x41, 0x52, 0x45, 0x10, 0x01, 0x2a, 0xd1, 0x01, + 0x0a, 0x17, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x49, + 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, + 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x10, 0x01, 0x12, + 0x24, 0x0a, 0x20, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, + 0x45, 0x52, 0x53, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, + 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, + 0x43, 0x45, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x53, 0x10, 0x03, 0x12, 0x22, 0x0a, + 0x1e, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x41, 0x55, 0x44, + 0x49, 0x54, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x10, + 0x04, 0x2a, 0x60, 0x0a, 0x14, 0x45, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x49, + 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, + 0x43, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x50, + 0x41, 0x47, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, + 0x49, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x41, 0x4c, 0x45, 0x4e, + 0x54, 0x10, 0x02, 0x2a, 0xbb, 0x04, 0x0a, 0x18, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, + 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, + 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, + 0x24, 0x0a, 0x20, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x46, 0x61, 0x69, 0x6c, + 0x75, 0x72, 0x65, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, + 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x4d, 0x61, 0x6c, 0x66, 0x6f, + 0x72, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x02, 0x12, 0x25, 0x0a, + 0x21, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, + 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, + 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x04, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x45, 0x4e, 0x65, + 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x6f, + 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x73, 0x10, 0x05, 0x12, 0x34, 0x0a, 0x30, 0x6b, + 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x54, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x73, 0x10, + 0x06, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, + 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, + 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x10, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, + 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0x66, 0x12, 0x26, 0x0a, 0x22, + 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, + 0x6c, 0x65, 0x10, 0x67, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, + 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x4e, 0x6f, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0xc8, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x54, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x73, - 0x10, 0x06, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, - 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, - 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x64, 0x12, 0x26, 0x0a, - 0x22, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, - 0x6e, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x10, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, - 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0x66, 0x12, 0x26, 0x0a, - 0x22, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, - 0x6e, 0x67, 0x5f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6c, 0x69, 0x67, 0x69, - 0x62, 0x6c, 0x65, 0x10, 0x67, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, - 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0xc8, 0x01, 0x12, 0x33, 0x0a, - 0x2e, 0x6b, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, - 0x6e, 0x67, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x10, - 0xc9, 0x01, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, - 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x67, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x10, 0xc9, + 0x01, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, + 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -19943,7 +20069,7 @@ func file_dota_gcmessages_common_proto_rawDescGZIP() []byte { } var file_dota_gcmessages_common_proto_enumTypes = make([]protoimpl.EnumInfo, 28) -var file_dota_gcmessages_common_proto_msgTypes = make([]protoimpl.MessageInfo, 168) +var file_dota_gcmessages_common_proto_msgTypes = make([]protoimpl.MessageInfo, 169) var file_dota_gcmessages_common_proto_goTypes = []interface{}{ (ESpecialPingValue)(0), // 0: dota.ESpecialPingValue (EDOTAGCSessionNeed)(0), // 1: dota.EDOTAGCSessionNeed @@ -20134,20 +20260,21 @@ var file_dota_gcmessages_common_proto_goTypes = []interface{}{ (*CMsgGameDataHero_Facet)(nil), // 186: dota.CMsgGameDataHero.Facet (*CMsgGameDataHeroList_HeroInfo)(nil), // 187: dota.CMsgGameDataHeroList.HeroInfo (*CMsgGameDataItemAbilityList_ItemAbilityInfo)(nil), // 188: dota.CMsgGameDataItemAbilityList.ItemAbilityInfo - (*CMsgDOTAClaimEventActionResponse_MysteryItemRewardData)(nil), // 189: dota.CMsgDOTAClaimEventActionResponse.MysteryItemRewardData - (*CMsgDOTAClaimEventActionResponse_LootListRewardData)(nil), // 190: dota.CMsgDOTAClaimEventActionResponse.LootListRewardData - (*CMsgDOTAClaimEventActionResponse_ActionListRewardData)(nil), // 191: dota.CMsgDOTAClaimEventActionResponse.ActionListRewardData - (*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData)(nil), // 192: dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData - (*CMsgDOTAClaimEventActionResponse_GrantedRewardData)(nil), // 193: dota.CMsgDOTAClaimEventActionResponse.GrantedRewardData - (*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity)(nil), // 194: dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData.TokenQuantity - (*CDotaMsg_PredictionResult_Prediction)(nil), // 195: dota.CDotaMsg_PredictionResult.Prediction - (EEvent)(0), // 196: dota.EEvent - (DOTA_GameMode)(0), // 197: dota.DOTA_GameMode - (EMatchOutcome)(0), // 198: dota.EMatchOutcome - (ELeagueRegion)(0), // 199: dota.ELeagueRegion - (ELeaguePhase)(0), // 200: dota.ELeaguePhase - (DOTA_GC_TEAM)(0), // 201: dota.DOTA_GC_TEAM - (*CMsgPendingEventAward)(nil), // 202: dota.CMsgPendingEventAward + (*CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe)(nil), // 189: dota.CMsgGameDataItemAbilityList.ItemAbilityInfo.Recipe + (*CMsgDOTAClaimEventActionResponse_MysteryItemRewardData)(nil), // 190: dota.CMsgDOTAClaimEventActionResponse.MysteryItemRewardData + (*CMsgDOTAClaimEventActionResponse_LootListRewardData)(nil), // 191: dota.CMsgDOTAClaimEventActionResponse.LootListRewardData + (*CMsgDOTAClaimEventActionResponse_ActionListRewardData)(nil), // 192: dota.CMsgDOTAClaimEventActionResponse.ActionListRewardData + (*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData)(nil), // 193: dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData + (*CMsgDOTAClaimEventActionResponse_GrantedRewardData)(nil), // 194: dota.CMsgDOTAClaimEventActionResponse.GrantedRewardData + (*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity)(nil), // 195: dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData.TokenQuantity + (*CDotaMsg_PredictionResult_Prediction)(nil), // 196: dota.CDotaMsg_PredictionResult.Prediction + (EEvent)(0), // 197: dota.EEvent + (DOTA_GameMode)(0), // 198: dota.DOTA_GameMode + (EMatchOutcome)(0), // 199: dota.EMatchOutcome + (ELeagueRegion)(0), // 200: dota.ELeagueRegion + (ELeaguePhase)(0), // 201: dota.ELeaguePhase + (DOTA_GC_TEAM)(0), // 202: dota.DOTA_GC_TEAM + (*CMsgPendingEventAward)(nil), // 203: dota.CMsgPendingEventAward } var file_dota_gcmessages_common_proto_depIdxs = []int32{ 128, // 0: dota.CSODOTAGameAccountClient.role_handicaps:type_name -> dota.CSODOTAGameAccountClient.RoleHandicap @@ -20158,7 +20285,7 @@ var file_dota_gcmessages_common_proto_depIdxs = []int32{ 130, // 5: dota.CMsgGCGetPlayerCardItemInfoResponse.player_card_infos:type_name -> dota.CMsgGCGetPlayerCardItemInfoResponse.PlayerCardInfo 131, // 6: dota.CMsgDOTAProfileCard.slots:type_name -> dota.CMsgDOTAProfileCard.Slot 32, // 7: dota.CMsgDOTAProfileCard.recent_battle_cup_victory:type_name -> dota.CMsgBattleCupVictory - 196, // 8: dota.CMsgClientToGCRerollPlayerChallenge.event_id:type_name -> dota.EEvent + 197, // 8: dota.CMsgClientToGCRerollPlayerChallenge.event_id:type_name -> dota.EEvent 13, // 9: dota.CMsgGCRerollPlayerChallengeResponse.result:type_name -> dota.CMsgGCRerollPlayerChallengeResponse.EResult 148, // 10: dota.CMsgDOTARealtimeGameStats.match:type_name -> dota.CMsgDOTARealtimeGameStats.MatchDetails 138, // 11: dota.CMsgDOTARealtimeGameStats.teams:type_name -> dota.CMsgDOTARealtimeGameStats.TeamDetails @@ -20180,23 +20307,23 @@ var file_dota_gcmessages_common_proto_depIdxs = []int32{ 161, // 27: dota.CMsgAvailablePredictions.match_predictions:type_name -> dota.CMsgAvailablePredictions.MatchPrediction 163, // 28: dota.CMsgLeagueWatchedGames.leagues:type_name -> dota.CMsgLeagueWatchedGames.League 164, // 29: dota.CMsgDOTAMatch.players:type_name -> dota.CMsgDOTAMatch.Player - 197, // 30: dota.CMsgDOTAMatch.game_mode:type_name -> dota.DOTA_GameMode + 198, // 30: dota.CMsgDOTAMatch.game_mode:type_name -> dota.DOTA_GameMode 42, // 31: dota.CMsgDOTAMatch.picks_bans:type_name -> dota.CMatchHeroSelectEvent 22, // 32: dota.CMsgDOTAMatch.replay_state:type_name -> dota.CMsgDOTAMatch.ReplayState 166, // 33: dota.CMsgDOTAMatch.broadcaster_channels:type_name -> dota.CMsgDOTAMatch.BroadcasterChannel 168, // 34: dota.CMsgDOTAMatch.custom_game_data:type_name -> dota.CMsgDOTAMatch.CustomGameData - 198, // 35: dota.CMsgDOTAMatch.match_outcome:type_name -> dota.EMatchOutcome + 199, // 35: dota.CMsgDOTAMatch.match_outcome:type_name -> dota.EMatchOutcome 167, // 36: dota.CMsgDOTAMatch.coaches:type_name -> dota.CMsgDOTAMatch.Coach 171, // 37: dota.CMsgPlayerCard.stat_modifier:type_name -> dota.CMsgPlayerCard.StatModifier 68, // 38: dota.CMsgDOTAFantasyPlayerMatchStats.matches:type_name -> dota.CMsgDOTAFantasyPlayerStats 172, // 39: dota.CMsgDOTABotDebugInfo.bots:type_name -> dota.CMsgDOTABotDebugInfo.Bot - 197, // 40: dota.CMsgRecentMatchInfo.game_mode:type_name -> dota.DOTA_GameMode - 198, // 41: dota.CMsgRecentMatchInfo.match_outcome:type_name -> dota.EMatchOutcome + 198, // 40: dota.CMsgRecentMatchInfo.game_mode:type_name -> dota.DOTA_GameMode + 199, // 41: dota.CMsgRecentMatchInfo.match_outcome:type_name -> dota.EMatchOutcome 175, // 42: dota.CMsgMatchTips.tips:type_name -> dota.CMsgMatchTips.SingleTip - 197, // 43: dota.CMsgDOTAMatchMinimal.game_mode:type_name -> dota.DOTA_GameMode + 198, // 43: dota.CMsgDOTAMatchMinimal.game_mode:type_name -> dota.DOTA_GameMode 176, // 44: dota.CMsgDOTAMatchMinimal.players:type_name -> dota.CMsgDOTAMatchMinimal.Player 177, // 45: dota.CMsgDOTAMatchMinimal.tourney:type_name -> dota.CMsgDOTAMatchMinimal.Tourney - 198, // 46: dota.CMsgDOTAMatchMinimal.match_outcome:type_name -> dota.EMatchOutcome + 199, // 46: dota.CMsgDOTAMatchMinimal.match_outcome:type_name -> dota.EMatchOutcome 178, // 47: dota.CMsgMatchConsumableUsage.player_consumables_used:type_name -> dota.CMsgMatchConsumableUsage.PlayerUsage 179, // 48: dota.CMsgMatchEventActionGrants.player_grants:type_name -> dota.CMsgMatchEventActionGrants.PlayerGrants 180, // 49: dota.CMsgCustomGameWhitelistForEdit.whitelist_entries:type_name -> dota.CMsgCustomGameWhitelistForEdit.WhitelistEntry @@ -20231,7 +20358,7 @@ var file_dota_gcmessages_common_proto_depIdxs = []int32{ 102, // 78: dota.CMsgGameDataHeroes.heroes:type_name -> dota.CMsgGameDataHero 187, // 79: dota.CMsgGameDataHeroList.heroes:type_name -> dota.CMsgGameDataHeroList.HeroInfo 188, // 80: dota.CMsgGameDataItemAbilityList.itemabilities:type_name -> dota.CMsgGameDataItemAbilityList.ItemAbilityInfo - 196, // 81: dota.CMsgStickerbookPage.event_id:type_name -> dota.EEvent + 197, // 81: dota.CMsgStickerbookPage.event_id:type_name -> dota.EEvent 111, // 82: dota.CMsgStickerbookPage.stickers:type_name -> dota.CMsgStickerbookSticker 10, // 83: dota.CMsgStickerbookPage.page_type:type_name -> dota.EStickerbookPageType 112, // 84: dota.CMsgStickerbook.pages:type_name -> dota.CMsgStickerbookPage @@ -20244,9 +20371,9 @@ var file_dota_gcmessages_common_proto_depIdxs = []int32{ 121, // 91: dota.CMsgGlobalMapStats.window_start:type_name -> dota.CMsgMapStatsSnapshot 121, // 92: dota.CMsgGlobalMapStats.window_end:type_name -> dota.CMsgMapStatsSnapshot 25, // 93: dota.CMsgDOTAClaimEventActionResponse.result:type_name -> dota.CMsgDOTAClaimEventActionResponse.ResultCode - 193, // 94: dota.CMsgDOTAClaimEventActionResponse.reward_results:type_name -> dota.CMsgDOTAClaimEventActionResponse.GrantedRewardData + 194, // 94: dota.CMsgDOTAClaimEventActionResponse.reward_results:type_name -> dota.CMsgDOTAClaimEventActionResponse.GrantedRewardData 26, // 95: dota.CMsgClientToGCDotaLabsFeedbackResponse.response:type_name -> dota.CMsgClientToGCDotaLabsFeedbackResponse.EResponse - 195, // 96: dota.CDotaMsg_PredictionResult.predictions:type_name -> dota.CDotaMsg_PredictionResult.Prediction + 196, // 96: dota.CDotaMsg_PredictionResult.predictions:type_name -> dota.CDotaMsg_PredictionResult.Prediction 132, // 97: dota.CMsgDOTAProfileCard.Slot.trophy:type_name -> dota.CMsgDOTAProfileCard.Slot.Trophy 133, // 98: dota.CMsgDOTAProfileCard.Slot.stat:type_name -> dota.CMsgDOTAProfileCard.Slot.Stat 134, // 99: dota.CMsgDOTAProfileCard.Slot.item:type_name -> dota.CMsgDOTAProfileCard.Slot.Item @@ -20274,9 +20401,9 @@ var file_dota_gcmessages_common_proto_depIdxs = []int32{ 61, // 121: dota.CMsgDOTASeasonPredictions.Prediction.choices:type_name -> dota.CMsgPredictionChoice 21, // 122: dota.CMsgDOTASeasonPredictions.Prediction.answer_type:type_name -> dota.CMsgDOTASeasonPredictions.Prediction.EAnswerType 160, // 123: dota.CMsgDOTASeasonPredictions.Prediction.answers:type_name -> dota.CMsgDOTASeasonPredictions.Prediction.Answers - 199, // 124: dota.CMsgDOTASeasonPredictions.Prediction.region:type_name -> dota.ELeagueRegion - 200, // 125: dota.CMsgDOTASeasonPredictions.Prediction.phases:type_name -> dota.ELeaguePhase - 196, // 126: dota.CMsgDOTASeasonPredictions.Prediction.reward_event:type_name -> dota.EEvent + 200, // 124: dota.CMsgDOTASeasonPredictions.Prediction.region:type_name -> dota.ELeagueRegion + 201, // 125: dota.CMsgDOTASeasonPredictions.Prediction.phases:type_name -> dota.ELeaguePhase + 197, // 126: dota.CMsgDOTASeasonPredictions.Prediction.reward_event:type_name -> dota.EEvent 62, // 127: dota.CMsgAvailablePredictions.MatchPrediction.predictions:type_name -> dota.CMsgInGamePrediction 162, // 128: dota.CMsgLeagueWatchedGames.League.series:type_name -> dota.CMsgLeagueWatchedGames.Series 36, // 129: dota.CMsgDOTAMatch.Player.ability_upgrades:type_name -> dota.CMatchPlayerAbilityUpgrade @@ -20285,23 +20412,24 @@ var file_dota_gcmessages_common_proto_depIdxs = []int32{ 169, // 132: dota.CMsgDOTAMatch.Player.custom_game_data:type_name -> dota.CMsgDOTAMatch.Player.CustomGameData 170, // 133: dota.CMsgDOTAMatch.Player.hero_damage_received:type_name -> dota.CMsgDOTAMatch.Player.HeroDamageReceived 170, // 134: dota.CMsgDOTAMatch.Player.hero_damage_dealt:type_name -> dota.CMsgDOTAMatch.Player.HeroDamageReceived - 201, // 135: dota.CMsgDOTAMatch.Player.team_number:type_name -> dota.DOTA_GC_TEAM + 202, // 135: dota.CMsgDOTAMatch.Player.team_number:type_name -> dota.DOTA_GC_TEAM 165, // 136: dota.CMsgDOTAMatch.BroadcasterChannel.broadcaster_infos:type_name -> dota.CMsgDOTAMatch.BroadcasterInfo 23, // 137: dota.CMsgDOTAMatch.Player.HeroDamageReceived.damage_type:type_name -> dota.CMsgDOTAMatch.Player.HeroDamageType 173, // 138: dota.CMsgDOTABotDebugInfo.Bot.modes:type_name -> dota.CMsgDOTABotDebugInfo.Bot.Mode 174, // 139: dota.CMsgDOTABotDebugInfo.Bot.action:type_name -> dota.CMsgDOTABotDebugInfo.Bot.Action - 196, // 140: dota.CMsgMatchTips.SingleTip.event_id:type_name -> dota.EEvent - 201, // 141: dota.CMsgDOTAMatchMinimal.Player.team_number:type_name -> dota.DOTA_GC_TEAM + 197, // 140: dota.CMsgMatchTips.SingleTip.event_id:type_name -> dota.EEvent + 202, // 141: dota.CMsgDOTAMatchMinimal.Player.team_number:type_name -> dota.DOTA_GC_TEAM 75, // 142: dota.CMsgMatchConsumableUsage.PlayerUsage.consumables_used:type_name -> dota.CMsgConsumableUsage - 202, // 143: dota.CMsgMatchEventActionGrants.PlayerGrants.actions_granted:type_name -> dota.CMsgPendingEventAward + 203, // 143: dota.CMsgMatchEventActionGrants.PlayerGrants.actions_granted:type_name -> dota.CMsgPendingEventAward 5, // 144: dota.CMsgCustomGameWhitelistForEdit.WhitelistEntry.whitelist_state:type_name -> dota.ECustomGameWhitelistState - 194, // 145: dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData.tokens:type_name -> dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData.TokenQuantity - 27, // 146: dota.CDotaMsg_PredictionResult.Prediction.result:type_name -> dota.CDotaMsg_PredictionResult.Prediction.EResult - 147, // [147:147] is the sub-list for method output_type - 147, // [147:147] is the sub-list for method input_type - 147, // [147:147] is the sub-list for extension type_name - 147, // [147:147] is the sub-list for extension extendee - 0, // [0:147] is the sub-list for field type_name + 189, // 145: dota.CMsgGameDataItemAbilityList.ItemAbilityInfo.recipes:type_name -> dota.CMsgGameDataItemAbilityList.ItemAbilityInfo.Recipe + 195, // 146: dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData.tokens:type_name -> dota.CMsgDOTAClaimEventActionResponse.OverworldTokenRewardData.TokenQuantity + 27, // 147: dota.CDotaMsg_PredictionResult.Prediction.result:type_name -> dota.CDotaMsg_PredictionResult.Prediction.EResult + 148, // [148:148] is the sub-list for method output_type + 148, // [148:148] is the sub-list for method input_type + 148, // [148:148] is the sub-list for extension type_name + 148, // [148:148] is the sub-list for extension extendee + 0, // [0:148] is the sub-list for field type_name } func init() { file_dota_gcmessages_common_proto_init() } @@ -22246,7 +22374,7 @@ func file_dota_gcmessages_common_proto_init() { } } file_dota_gcmessages_common_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClaimEventActionResponse_MysteryItemRewardData); i { + switch v := v.(*CMsgGameDataItemAbilityList_ItemAbilityInfo_Recipe); i { case 0: return &v.state case 1: @@ -22258,7 +22386,7 @@ func file_dota_gcmessages_common_proto_init() { } } file_dota_gcmessages_common_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClaimEventActionResponse_LootListRewardData); i { + switch v := v.(*CMsgDOTAClaimEventActionResponse_MysteryItemRewardData); i { case 0: return &v.state case 1: @@ -22270,7 +22398,7 @@ func file_dota_gcmessages_common_proto_init() { } } file_dota_gcmessages_common_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClaimEventActionResponse_ActionListRewardData); i { + switch v := v.(*CMsgDOTAClaimEventActionResponse_LootListRewardData); i { case 0: return &v.state case 1: @@ -22282,7 +22410,7 @@ func file_dota_gcmessages_common_proto_init() { } } file_dota_gcmessages_common_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData); i { + switch v := v.(*CMsgDOTAClaimEventActionResponse_ActionListRewardData); i { case 0: return &v.state case 1: @@ -22294,7 +22422,7 @@ func file_dota_gcmessages_common_proto_init() { } } file_dota_gcmessages_common_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClaimEventActionResponse_GrantedRewardData); i { + switch v := v.(*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData); i { case 0: return &v.state case 1: @@ -22306,7 +22434,7 @@ func file_dota_gcmessages_common_proto_init() { } } file_dota_gcmessages_common_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity); i { + switch v := v.(*CMsgDOTAClaimEventActionResponse_GrantedRewardData); i { case 0: return &v.state case 1: @@ -22318,6 +22446,18 @@ func file_dota_gcmessages_common_proto_init() { } } file_dota_gcmessages_common_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgDOTAClaimEventActionResponse_OverworldTokenRewardData_TokenQuantity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CDotaMsg_PredictionResult_Prediction); i { case 0: return &v.state @@ -22336,7 +22476,7 @@ func file_dota_gcmessages_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_gcmessages_common_proto_rawDesc, NumEnums: 28, - NumMessages: 168, + NumMessages: 169, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_gcmessages_common.proto b/dota/dota_gcmessages_common.proto index 73f21f0c..a6065540 100644 --- a/dota/dota_gcmessages_common.proto +++ b/dota/dota_gcmessages_common.proto @@ -882,6 +882,7 @@ message CMsgDOTASeasonPredictions { optional ELeagueRegion region = 17; repeated ELeaguePhase phases = 18; optional EEvent reward_event = 19; + optional uint32 league_node_id = 20; } repeated CMsgDOTASeasonPredictions.Prediction predictions = 1; @@ -945,6 +946,8 @@ message CMsgDOTAMatch { optional int32 item_7 = 60; optional int32 item_8 = 61; optional int32 item_9 = 76; + optional int32 item_10 = 83; + optional int32 item_10_lvl = 84; optional float expected_team_contribution = 10; optional float scaled_metric = 11; optional uint32 previous_rank = 12; @@ -1590,11 +1593,19 @@ message CMsgGameDataHeroList { message CMsgGameDataItemAbilityList { message ItemAbilityInfo { + message Recipe { + repeated int32 items = 1; + } + optional int32 id = 1; optional string name = 2; optional string name_loc = 3; optional string name_english_loc = 4; optional int32 neutral_item_tier = 5; + optional bool is_pregame_suggested = 6; + optional bool is_earlygame_suggested = 7; + optional bool is_lategame_suggested = 8; + repeated CMsgGameDataItemAbilityList.ItemAbilityInfo.Recipe recipes = 9; } repeated CMsgGameDataItemAbilityList.ItemAbilityInfo itemabilities = 1; diff --git a/dota/dota_gcmessages_common_craftworks.pb.go b/dota/dota_gcmessages_common_craftworks.pb.go new file mode 100644 index 00000000..c26d68cc --- /dev/null +++ b/dota/dota_gcmessages_common_craftworks.pb.go @@ -0,0 +1,390 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v3.21.12 +// source: dota_gcmessages_common_craftworks.proto + +package dota + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ECraftworksAuditAction int32 + +const ( + ECraftworksAuditAction_k_eInvalid ECraftworksAuditAction = 0 + ECraftworksAuditAction_k_eRecipeCrafted ECraftworksAuditAction = 1 + ECraftworksAuditAction_k_eMatchRewards ECraftworksAuditAction = 2 + ECraftworksAuditAction_k_eMatchRewardsTurbo ECraftworksAuditAction = 3 +) + +// Enum value maps for ECraftworksAuditAction. +var ( + ECraftworksAuditAction_name = map[int32]string{ + 0: "k_eInvalid", + 1: "k_eRecipeCrafted", + 2: "k_eMatchRewards", + 3: "k_eMatchRewardsTurbo", + } + ECraftworksAuditAction_value = map[string]int32{ + "k_eInvalid": 0, + "k_eRecipeCrafted": 1, + "k_eMatchRewards": 2, + "k_eMatchRewardsTurbo": 3, + } +) + +func (x ECraftworksAuditAction) Enum() *ECraftworksAuditAction { + p := new(ECraftworksAuditAction) + *p = x + return p +} + +func (x ECraftworksAuditAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ECraftworksAuditAction) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_common_craftworks_proto_enumTypes[0].Descriptor() +} + +func (ECraftworksAuditAction) Type() protoreflect.EnumType { + return &file_dota_gcmessages_common_craftworks_proto_enumTypes[0] +} + +func (x ECraftworksAuditAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ECraftworksAuditAction) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ECraftworksAuditAction(num) + return nil +} + +// Deprecated: Use ECraftworksAuditAction.Descriptor instead. +func (ECraftworksAuditAction) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_common_craftworks_proto_rawDescGZIP(), []int{0} +} + +type CMsgCraftworksComponents struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ComponentQuantities []*CMsgCraftworksComponents_ComponentQuantitiesEntry `protobuf:"bytes,1,rep,name=component_quantities,json=componentQuantities" json:"component_quantities,omitempty"` +} + +func (x *CMsgCraftworksComponents) Reset() { + *x = CMsgCraftworksComponents{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_craftworks_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgCraftworksComponents) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgCraftworksComponents) ProtoMessage() {} + +func (x *CMsgCraftworksComponents) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_craftworks_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgCraftworksComponents.ProtoReflect.Descriptor instead. +func (*CMsgCraftworksComponents) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_craftworks_proto_rawDescGZIP(), []int{0} +} + +func (x *CMsgCraftworksComponents) GetComponentQuantities() []*CMsgCraftworksComponents_ComponentQuantitiesEntry { + if x != nil { + return x.ComponentQuantities + } + return nil +} + +type CMsgCraftworksQuestReward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + QuestId *uint32 `protobuf:"varint,1,opt,name=quest_id,json=questId" json:"quest_id,omitempty"` + RewardComponents *CMsgCraftworksComponents `protobuf:"bytes,2,opt,name=reward_components,json=rewardComponents" json:"reward_components,omitempty"` + StatValue *uint32 `protobuf:"varint,3,opt,name=stat_value,json=statValue" json:"stat_value,omitempty"` +} + +func (x *CMsgCraftworksQuestReward) Reset() { + *x = CMsgCraftworksQuestReward{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_craftworks_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgCraftworksQuestReward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgCraftworksQuestReward) ProtoMessage() {} + +func (x *CMsgCraftworksQuestReward) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_craftworks_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgCraftworksQuestReward.ProtoReflect.Descriptor instead. +func (*CMsgCraftworksQuestReward) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_craftworks_proto_rawDescGZIP(), []int{1} +} + +func (x *CMsgCraftworksQuestReward) GetQuestId() uint32 { + if x != nil && x.QuestId != nil { + return *x.QuestId + } + return 0 +} + +func (x *CMsgCraftworksQuestReward) GetRewardComponents() *CMsgCraftworksComponents { + if x != nil { + return x.RewardComponents + } + return nil +} + +func (x *CMsgCraftworksQuestReward) GetStatValue() uint32 { + if x != nil && x.StatValue != nil { + return *x.StatValue + } + return 0 +} + +type CMsgCraftworksComponents_ComponentQuantitiesEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` +} + +func (x *CMsgCraftworksComponents_ComponentQuantitiesEntry) Reset() { + *x = CMsgCraftworksComponents_ComponentQuantitiesEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_craftworks_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgCraftworksComponents_ComponentQuantitiesEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgCraftworksComponents_ComponentQuantitiesEntry) ProtoMessage() {} + +func (x *CMsgCraftworksComponents_ComponentQuantitiesEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_craftworks_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgCraftworksComponents_ComponentQuantitiesEntry.ProtoReflect.Descriptor instead. +func (*CMsgCraftworksComponents_ComponentQuantitiesEntry) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_craftworks_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *CMsgCraftworksComponents_ComponentQuantitiesEntry) GetKey() uint32 { + if x != nil && x.Key != nil { + return *x.Key + } + return 0 +} + +func (x *CMsgCraftworksComponents_ComponentQuantitiesEntry) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +var File_dota_gcmessages_common_craftworks_proto protoreflect.FileDescriptor + +var file_dota_gcmessages_common_craftworks_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, + 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, + 0x63, 0x73, 0x64, 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x01, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x42, + 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x11, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x6d, 0x0a, 0x16, 0x45, 0x43, 0x72, 0x61, 0x66, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, + 0x00, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x43, 0x72, + 0x61, 0x66, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, + 0x6b, 0x5f, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x54, + 0x75, 0x72, 0x62, 0x6f, 0x10, 0x03, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, + 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, +} + +var ( + file_dota_gcmessages_common_craftworks_proto_rawDescOnce sync.Once + file_dota_gcmessages_common_craftworks_proto_rawDescData = file_dota_gcmessages_common_craftworks_proto_rawDesc +) + +func file_dota_gcmessages_common_craftworks_proto_rawDescGZIP() []byte { + file_dota_gcmessages_common_craftworks_proto_rawDescOnce.Do(func() { + file_dota_gcmessages_common_craftworks_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_gcmessages_common_craftworks_proto_rawDescData) + }) + return file_dota_gcmessages_common_craftworks_proto_rawDescData +} + +var file_dota_gcmessages_common_craftworks_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_dota_gcmessages_common_craftworks_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_dota_gcmessages_common_craftworks_proto_goTypes = []interface{}{ + (ECraftworksAuditAction)(0), // 0: dota.ECraftworksAuditAction + (*CMsgCraftworksComponents)(nil), // 1: dota.CMsgCraftworksComponents + (*CMsgCraftworksQuestReward)(nil), // 2: dota.CMsgCraftworksQuestReward + (*CMsgCraftworksComponents_ComponentQuantitiesEntry)(nil), // 3: dota.CMsgCraftworksComponents.ComponentQuantitiesEntry +} +var file_dota_gcmessages_common_craftworks_proto_depIdxs = []int32{ + 3, // 0: dota.CMsgCraftworksComponents.component_quantities:type_name -> dota.CMsgCraftworksComponents.ComponentQuantitiesEntry + 1, // 1: dota.CMsgCraftworksQuestReward.reward_components:type_name -> dota.CMsgCraftworksComponents + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_dota_gcmessages_common_craftworks_proto_init() } +func file_dota_gcmessages_common_craftworks_proto_init() { + if File_dota_gcmessages_common_craftworks_proto != nil { + return + } + file_steammessages_proto_init() + file_dota_shared_enums_proto_init() + file_gcsdk_gcmessages_proto_init() + if !protoimpl.UnsafeEnabled { + file_dota_gcmessages_common_craftworks_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgCraftworksComponents); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_craftworks_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgCraftworksQuestReward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_craftworks_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgCraftworksComponents_ComponentQuantitiesEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_dota_gcmessages_common_craftworks_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_dota_gcmessages_common_craftworks_proto_goTypes, + DependencyIndexes: file_dota_gcmessages_common_craftworks_proto_depIdxs, + EnumInfos: file_dota_gcmessages_common_craftworks_proto_enumTypes, + MessageInfos: file_dota_gcmessages_common_craftworks_proto_msgTypes, + }.Build() + File_dota_gcmessages_common_craftworks_proto = out.File + file_dota_gcmessages_common_craftworks_proto_rawDesc = nil + file_dota_gcmessages_common_craftworks_proto_goTypes = nil + file_dota_gcmessages_common_craftworks_proto_depIdxs = nil +} diff --git a/dota/dota_gcmessages_common_craftworks.proto b/dota/dota_gcmessages_common_craftworks.proto new file mode 100644 index 00000000..7d7a51a3 --- /dev/null +++ b/dota/dota_gcmessages_common_craftworks.proto @@ -0,0 +1,30 @@ +syntax = "proto2"; + +package dota; +option go_package = "github.com/dotabuff/manta/dota;dota"; + +import "steammessages.proto"; +import "dota_shared_enums.proto"; +import "gcsdk_gcmessages.proto"; + +enum ECraftworksAuditAction { + k_eInvalid = 0; + k_eRecipeCrafted = 1; + k_eMatchRewards = 2; + k_eMatchRewardsTurbo = 3; +} + +message CMsgCraftworksComponents { + message ComponentQuantitiesEntry { + optional uint32 key = 1; + optional uint32 value = 2; + } + + repeated CMsgCraftworksComponents.ComponentQuantitiesEntry component_quantities = 1; +} + +message CMsgCraftworksQuestReward { + optional uint32 quest_id = 1; + optional CMsgCraftworksComponents reward_components = 2; + optional uint32 stat_value = 3; +} diff --git a/dota/dota_gcmessages_common_fighting_game.pb.go b/dota/dota_gcmessages_common_fighting_game.pb.go index 47a40665..6aa33b3b 100644 --- a/dota/dota_gcmessages_common_fighting_game.pb.go +++ b/dota/dota_gcmessages_common_fighting_game.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_common_fighting_game.proto package dota diff --git a/dota/dota_gcmessages_common_league.pb.go b/dota/dota_gcmessages_common_league.pb.go index 5f2c334d..eb7e41ee 100644 --- a/dota/dota_gcmessages_common_league.pb.go +++ b/dota/dota_gcmessages_common_league.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_common_league.proto package dota diff --git a/dota/dota_gcmessages_common_lobby.pb.go b/dota/dota_gcmessages_common_lobby.pb.go index 5e6f65bb..1fea4a86 100644 --- a/dota/dota_gcmessages_common_lobby.pb.go +++ b/dota/dota_gcmessages_common_lobby.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_common_lobby.proto package dota @@ -803,45 +803,17 @@ type CSODOTALobbyMember struct { Id *uint64 `protobuf:"fixed64,1,opt,name=id" json:"id,omitempty"` HeroId *int32 `protobuf:"varint,2,opt,name=hero_id,json=heroId" json:"hero_id,omitempty"` Team *DOTA_GC_TEAM `protobuf:"varint,3,opt,name=team,enum=dota.DOTA_GC_TEAM" json:"team,omitempty"` - Name *string `protobuf:"bytes,6,opt,name=name" json:"name,omitempty"` Slot *uint32 `protobuf:"varint,7,opt,name=slot" json:"slot,omitempty"` - PartyId *uint64 `protobuf:"varint,12,opt,name=party_id,json=partyId" json:"party_id,omitempty"` - MetaLevel *uint32 `protobuf:"varint,13,opt,name=meta_level,json=metaLevel" json:"meta_level,omitempty"` - MetaXp *uint32 `protobuf:"varint,14,opt,name=meta_xp,json=metaXp" json:"meta_xp,omitempty"` - MetaXpAwarded *uint32 `protobuf:"varint,15,opt,name=meta_xp_awarded,json=metaXpAwarded" json:"meta_xp_awarded,omitempty"` LeaverStatus *DOTALeaverStatusT `protobuf:"varint,16,opt,name=leaver_status,json=leaverStatus,enum=dota.DOTALeaverStatusT" json:"leaver_status,omitempty"` LeaverActions *uint32 `protobuf:"varint,28,opt,name=leaver_actions,json=leaverActions" json:"leaver_actions,omitempty"` - Channel *uint32 `protobuf:"varint,17,opt,name=channel" json:"channel,omitempty"` - DisabledHeroId []int32 `protobuf:"varint,20,rep,name=disabled_hero_id,json=disabledHeroId" json:"disabled_hero_id,omitempty"` - EnabledHeroId []int32 `protobuf:"varint,22,rep,name=enabled_hero_id,json=enabledHeroId" json:"enabled_hero_id,omitempty"` CoachTeam *DOTA_GC_TEAM `protobuf:"varint,23,opt,name=coach_team,json=coachTeam,enum=dota.DOTA_GC_TEAM" json:"coach_team,omitempty"` - CoachedAccountIds []uint32 `protobuf:"varint,53,rep,name=coached_account_ids,json=coachedAccountIds" json:"coached_account_ids,omitempty"` - CoachRating *uint32 `protobuf:"varint,42,opt,name=coach_rating,json=coachRating" json:"coach_rating,omitempty"` - PwrdCyberCafeId *uint32 `protobuf:"varint,24,opt,name=pwrd_cyber_cafe_id,json=pwrdCyberCafeId" json:"pwrd_cyber_cafe_id,omitempty"` - PwrdCyberCafeName *string `protobuf:"bytes,25,opt,name=pwrd_cyber_cafe_name,json=pwrdCyberCafeName" json:"pwrd_cyber_cafe_name,omitempty"` - DisabledRandomHeroBits []uint32 `protobuf:"fixed32,41,rep,name=disabled_random_hero_bits,json=disabledRandomHeroBits" json:"disabled_random_hero_bits,omitempty"` - RankChange *int32 `protobuf:"zigzag32,29,opt,name=rank_change,json=rankChange" json:"rank_change,omitempty"` - Cameraman *bool `protobuf:"varint,30,opt,name=cameraman" json:"cameraman,omitempty"` CustomGameProductIds []uint32 `protobuf:"varint,31,rep,name=custom_game_product_ids,json=customGameProductIds" json:"custom_game_product_ids,omitempty"` - SearchMatchType *MatchType `protobuf:"varint,33,opt,name=search_match_type,json=searchMatchType,enum=dota.MatchType" json:"search_match_type,omitempty"` - FavoriteTeamPacked *uint64 `protobuf:"varint,35,opt,name=favorite_team_packed,json=favoriteTeamPacked" json:"favorite_team_packed,omitempty"` - IsPlusSubscriber *bool `protobuf:"varint,36,opt,name=is_plus_subscriber,json=isPlusSubscriber" json:"is_plus_subscriber,omitempty"` - LaneSelectionFlags *uint32 `protobuf:"varint,38,opt,name=lane_selection_flags,json=laneSelectionFlags" json:"lane_selection_flags,omitempty"` - CanEarnRewards *bool `protobuf:"varint,39,opt,name=can_earn_rewards,json=canEarnRewards" json:"can_earn_rewards,omitempty"` LiveSpectatorTeam *DOTA_GC_TEAM `protobuf:"varint,40,opt,name=live_spectator_team,json=liveSpectatorTeam,enum=dota.DOTA_GC_TEAM" json:"live_spectator_team,omitempty"` - WasMvpLastGame *bool `protobuf:"varint,43,opt,name=was_mvp_last_game,json=wasMvpLastGame" json:"was_mvp_last_game,omitempty"` PendingAwards []*CMsgPendingEventAward `protobuf:"bytes,44,rep,name=pending_awards,json=pendingAwards" json:"pending_awards,omitempty"` PendingAwardsOnVictory []*CMsgPendingEventAward `protobuf:"bytes,45,rep,name=pending_awards_on_victory,json=pendingAwardsOnVictory" json:"pending_awards_on_victory,omitempty"` - RankMmrBoostType *EDOTAMMRBoostType `protobuf:"varint,46,opt,name=rank_mmr_boost_type,json=rankMmrBoostType,enum=dota.EDOTAMMRBoostType" json:"rank_mmr_boost_type,omitempty"` - QueuePointAdjustment *int32 `protobuf:"zigzag32,47,opt,name=queue_point_adjustment,json=queuePointAdjustment" json:"queue_point_adjustment,omitempty"` - RankTier *int32 `protobuf:"varint,48,opt,name=rank_tier,json=rankTier" json:"rank_tier,omitempty"` - Title *uint32 `protobuf:"varint,50,opt,name=title" json:"title,omitempty"` - GuildId *uint32 `protobuf:"varint,51,opt,name=guild_id,json=guildId" json:"guild_id,omitempty"` ReportsAvailable *uint32 `protobuf:"varint,52,opt,name=reports_available,json=reportsAvailable" json:"reports_available,omitempty"` - IsSteamChina *bool `protobuf:"varint,54,opt,name=is_steam_china,json=isSteamChina" json:"is_steam_china,omitempty"` LiveSpectatorAccountId *uint32 `protobuf:"varint,55,opt,name=live_spectator_account_id,json=liveSpectatorAccountId" json:"live_spectator_account_id,omitempty"` CommsReportsAvailable *uint32 `protobuf:"varint,56,opt,name=comms_reports_available,json=commsReportsAvailable" json:"comms_reports_available,omitempty"` - BannedHeroIds []int32 `protobuf:"varint,57,rep,name=banned_hero_ids,json=bannedHeroIds" json:"banned_hero_ids,omitempty"` } func (x *CSODOTALobbyMember) Reset() { @@ -897,13 +869,6 @@ func (x *CSODOTALobbyMember) GetTeam() DOTA_GC_TEAM { return DOTA_GC_TEAM_DOTA_GC_TEAM_GOOD_GUYS } -func (x *CSODOTALobbyMember) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - func (x *CSODOTALobbyMember) GetSlot() uint32 { if x != nil && x.Slot != nil { return *x.Slot @@ -911,34 +876,6 @@ func (x *CSODOTALobbyMember) GetSlot() uint32 { return 0 } -func (x *CSODOTALobbyMember) GetPartyId() uint64 { - if x != nil && x.PartyId != nil { - return *x.PartyId - } - return 0 -} - -func (x *CSODOTALobbyMember) GetMetaLevel() uint32 { - if x != nil && x.MetaLevel != nil { - return *x.MetaLevel - } - return 0 -} - -func (x *CSODOTALobbyMember) GetMetaXp() uint32 { - if x != nil && x.MetaXp != nil { - return *x.MetaXp - } - return 0 -} - -func (x *CSODOTALobbyMember) GetMetaXpAwarded() uint32 { - if x != nil && x.MetaXpAwarded != nil { - return *x.MetaXpAwarded - } - return 0 -} - func (x *CSODOTALobbyMember) GetLeaverStatus() DOTALeaverStatusT { if x != nil && x.LeaverStatus != nil { return *x.LeaverStatus @@ -953,27 +890,6 @@ func (x *CSODOTALobbyMember) GetLeaverActions() uint32 { return 0 } -func (x *CSODOTALobbyMember) GetChannel() uint32 { - if x != nil && x.Channel != nil { - return *x.Channel - } - return 0 -} - -func (x *CSODOTALobbyMember) GetDisabledHeroId() []int32 { - if x != nil { - return x.DisabledHeroId - } - return nil -} - -func (x *CSODOTALobbyMember) GetEnabledHeroId() []int32 { - if x != nil { - return x.EnabledHeroId - } - return nil -} - func (x *CSODOTALobbyMember) GetCoachTeam() DOTA_GC_TEAM { if x != nil && x.CoachTeam != nil { return *x.CoachTeam @@ -981,55 +897,6 @@ func (x *CSODOTALobbyMember) GetCoachTeam() DOTA_GC_TEAM { return DOTA_GC_TEAM_DOTA_GC_TEAM_GOOD_GUYS } -func (x *CSODOTALobbyMember) GetCoachedAccountIds() []uint32 { - if x != nil { - return x.CoachedAccountIds - } - return nil -} - -func (x *CSODOTALobbyMember) GetCoachRating() uint32 { - if x != nil && x.CoachRating != nil { - return *x.CoachRating - } - return 0 -} - -func (x *CSODOTALobbyMember) GetPwrdCyberCafeId() uint32 { - if x != nil && x.PwrdCyberCafeId != nil { - return *x.PwrdCyberCafeId - } - return 0 -} - -func (x *CSODOTALobbyMember) GetPwrdCyberCafeName() string { - if x != nil && x.PwrdCyberCafeName != nil { - return *x.PwrdCyberCafeName - } - return "" -} - -func (x *CSODOTALobbyMember) GetDisabledRandomHeroBits() []uint32 { - if x != nil { - return x.DisabledRandomHeroBits - } - return nil -} - -func (x *CSODOTALobbyMember) GetRankChange() int32 { - if x != nil && x.RankChange != nil { - return *x.RankChange - } - return 0 -} - -func (x *CSODOTALobbyMember) GetCameraman() bool { - if x != nil && x.Cameraman != nil { - return *x.Cameraman - } - return false -} - func (x *CSODOTALobbyMember) GetCustomGameProductIds() []uint32 { if x != nil { return x.CustomGameProductIds @@ -1037,41 +904,6 @@ func (x *CSODOTALobbyMember) GetCustomGameProductIds() []uint32 { return nil } -func (x *CSODOTALobbyMember) GetSearchMatchType() MatchType { - if x != nil && x.SearchMatchType != nil { - return *x.SearchMatchType - } - return MatchType_MATCH_TYPE_CASUAL -} - -func (x *CSODOTALobbyMember) GetFavoriteTeamPacked() uint64 { - if x != nil && x.FavoriteTeamPacked != nil { - return *x.FavoriteTeamPacked - } - return 0 -} - -func (x *CSODOTALobbyMember) GetIsPlusSubscriber() bool { - if x != nil && x.IsPlusSubscriber != nil { - return *x.IsPlusSubscriber - } - return false -} - -func (x *CSODOTALobbyMember) GetLaneSelectionFlags() uint32 { - if x != nil && x.LaneSelectionFlags != nil { - return *x.LaneSelectionFlags - } - return 0 -} - -func (x *CSODOTALobbyMember) GetCanEarnRewards() bool { - if x != nil && x.CanEarnRewards != nil { - return *x.CanEarnRewards - } - return false -} - func (x *CSODOTALobbyMember) GetLiveSpectatorTeam() DOTA_GC_TEAM { if x != nil && x.LiveSpectatorTeam != nil { return *x.LiveSpectatorTeam @@ -1079,13 +911,6 @@ func (x *CSODOTALobbyMember) GetLiveSpectatorTeam() DOTA_GC_TEAM { return DOTA_GC_TEAM_DOTA_GC_TEAM_GOOD_GUYS } -func (x *CSODOTALobbyMember) GetWasMvpLastGame() bool { - if x != nil && x.WasMvpLastGame != nil { - return *x.WasMvpLastGame - } - return false -} - func (x *CSODOTALobbyMember) GetPendingAwards() []*CMsgPendingEventAward { if x != nil { return x.PendingAwards @@ -1100,41 +925,6 @@ func (x *CSODOTALobbyMember) GetPendingAwardsOnVictory() []*CMsgPendingEventAwar return nil } -func (x *CSODOTALobbyMember) GetRankMmrBoostType() EDOTAMMRBoostType { - if x != nil && x.RankMmrBoostType != nil { - return *x.RankMmrBoostType - } - return EDOTAMMRBoostType_k_EDOTAMMRBoostType_None -} - -func (x *CSODOTALobbyMember) GetQueuePointAdjustment() int32 { - if x != nil && x.QueuePointAdjustment != nil { - return *x.QueuePointAdjustment - } - return 0 -} - -func (x *CSODOTALobbyMember) GetRankTier() int32 { - if x != nil && x.RankTier != nil { - return *x.RankTier - } - return 0 -} - -func (x *CSODOTALobbyMember) GetTitle() uint32 { - if x != nil && x.Title != nil { - return *x.Title - } - return 0 -} - -func (x *CSODOTALobbyMember) GetGuildId() uint32 { - if x != nil && x.GuildId != nil { - return *x.GuildId - } - return 0 -} - func (x *CSODOTALobbyMember) GetReportsAvailable() uint32 { if x != nil && x.ReportsAvailable != nil { return *x.ReportsAvailable @@ -1142,13 +932,6 @@ func (x *CSODOTALobbyMember) GetReportsAvailable() uint32 { return 0 } -func (x *CSODOTALobbyMember) GetIsSteamChina() bool { - if x != nil && x.IsSteamChina != nil { - return *x.IsSteamChina - } - return false -} - func (x *CSODOTALobbyMember) GetLiveSpectatorAccountId() uint32 { if x != nil && x.LiveSpectatorAccountId != nil { return *x.LiveSpectatorAccountId @@ -1163,13 +946,6 @@ func (x *CSODOTALobbyMember) GetCommsReportsAvailable() uint32 { return 0 } -func (x *CSODOTALobbyMember) GetBannedHeroIds() []int32 { - if x != nil { - return x.BannedHeroIds - } - return nil -} - type CSODOTAServerLobbyMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1212,6 +988,11 @@ type CSODOTAStaticLobbyMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + PartyId *uint64 `protobuf:"varint,2,opt,name=party_id,json=partyId" json:"party_id,omitempty"` + Channel *uint32 `protobuf:"varint,3,opt,name=channel" json:"channel,omitempty"` + Cameraman *bool `protobuf:"varint,4,opt,name=cameraman" json:"cameraman,omitempty"` } func (x *CSODOTAStaticLobbyMember) Reset() { @@ -1246,12 +1027,57 @@ func (*CSODOTAStaticLobbyMember) Descriptor() ([]byte, []int) { return file_dota_gcmessages_common_lobby_proto_rawDescGZIP(), []int{9} } +func (x *CSODOTAStaticLobbyMember) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CSODOTAStaticLobbyMember) GetPartyId() uint64 { + if x != nil && x.PartyId != nil { + return *x.PartyId + } + return 0 +} + +func (x *CSODOTAStaticLobbyMember) GetChannel() uint32 { + if x != nil && x.Channel != nil { + return *x.Channel + } + return 0 +} + +func (x *CSODOTAStaticLobbyMember) GetCameraman() bool { + if x != nil && x.Cameraman != nil { + return *x.Cameraman + } + return false +} + type CSODOTAServerStaticLobbyMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SteamId *uint64 `protobuf:"fixed64,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` + SteamId *uint64 `protobuf:"fixed64,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` + RankTier *int32 `protobuf:"varint,3,opt,name=rank_tier,json=rankTier" json:"rank_tier,omitempty"` + LeaderboardRank *int32 `protobuf:"varint,4,opt,name=leaderboard_rank,json=leaderboardRank" json:"leaderboard_rank,omitempty"` + LaneSelectionFlags *int32 `protobuf:"varint,5,opt,name=lane_selection_flags,json=laneSelectionFlags" json:"lane_selection_flags,omitempty"` + RankMmrBoostType *EDOTAMMRBoostType `protobuf:"varint,6,opt,name=rank_mmr_boost_type,json=rankMmrBoostType,enum=dota.EDOTAMMRBoostType" json:"rank_mmr_boost_type,omitempty"` + CoachRating *int32 `protobuf:"varint,7,opt,name=coach_rating,json=coachRating" json:"coach_rating,omitempty"` + CoachedAccountIds []uint32 `protobuf:"varint,8,rep,name=coached_account_ids,json=coachedAccountIds" json:"coached_account_ids,omitempty"` + WasMvpLastGame *bool `protobuf:"varint,9,opt,name=was_mvp_last_game,json=wasMvpLastGame" json:"was_mvp_last_game,omitempty"` + CanEarnRewards *bool `protobuf:"varint,10,opt,name=can_earn_rewards,json=canEarnRewards" json:"can_earn_rewards,omitempty"` + IsPlusSubscriber *bool `protobuf:"varint,11,opt,name=is_plus_subscriber,json=isPlusSubscriber" json:"is_plus_subscriber,omitempty"` + FavoriteTeamPacked *uint64 `protobuf:"varint,12,opt,name=favorite_team_packed,json=favoriteTeamPacked" json:"favorite_team_packed,omitempty"` + IsSteamChina *bool `protobuf:"varint,13,opt,name=is_steam_china,json=isSteamChina" json:"is_steam_china,omitempty"` + Title *uint32 `protobuf:"varint,14,opt,name=title" json:"title,omitempty"` + GuildId *uint32 `protobuf:"varint,15,opt,name=guild_id,json=guildId" json:"guild_id,omitempty"` + DisabledRandomHeroBits []uint32 `protobuf:"fixed32,16,rep,name=disabled_random_hero_bits,json=disabledRandomHeroBits" json:"disabled_random_hero_bits,omitempty"` + DisabledHeroId []int32 `protobuf:"varint,17,rep,name=disabled_hero_id,json=disabledHeroId" json:"disabled_hero_id,omitempty"` + EnabledHeroId []int32 `protobuf:"varint,18,rep,name=enabled_hero_id,json=enabledHeroId" json:"enabled_hero_id,omitempty"` + BannedHeroIds []int32 `protobuf:"varint,19,rep,name=banned_hero_ids,json=bannedHeroIds" json:"banned_hero_ids,omitempty"` } func (x *CSODOTAServerStaticLobbyMember) Reset() { @@ -1293,6 +1119,125 @@ func (x *CSODOTAServerStaticLobbyMember) GetSteamId() uint64 { return 0 } +func (x *CSODOTAServerStaticLobbyMember) GetRankTier() int32 { + if x != nil && x.RankTier != nil { + return *x.RankTier + } + return 0 +} + +func (x *CSODOTAServerStaticLobbyMember) GetLeaderboardRank() int32 { + if x != nil && x.LeaderboardRank != nil { + return *x.LeaderboardRank + } + return 0 +} + +func (x *CSODOTAServerStaticLobbyMember) GetLaneSelectionFlags() int32 { + if x != nil && x.LaneSelectionFlags != nil { + return *x.LaneSelectionFlags + } + return 0 +} + +func (x *CSODOTAServerStaticLobbyMember) GetRankMmrBoostType() EDOTAMMRBoostType { + if x != nil && x.RankMmrBoostType != nil { + return *x.RankMmrBoostType + } + return EDOTAMMRBoostType_k_EDOTAMMRBoostType_None +} + +func (x *CSODOTAServerStaticLobbyMember) GetCoachRating() int32 { + if x != nil && x.CoachRating != nil { + return *x.CoachRating + } + return 0 +} + +func (x *CSODOTAServerStaticLobbyMember) GetCoachedAccountIds() []uint32 { + if x != nil { + return x.CoachedAccountIds + } + return nil +} + +func (x *CSODOTAServerStaticLobbyMember) GetWasMvpLastGame() bool { + if x != nil && x.WasMvpLastGame != nil { + return *x.WasMvpLastGame + } + return false +} + +func (x *CSODOTAServerStaticLobbyMember) GetCanEarnRewards() bool { + if x != nil && x.CanEarnRewards != nil { + return *x.CanEarnRewards + } + return false +} + +func (x *CSODOTAServerStaticLobbyMember) GetIsPlusSubscriber() bool { + if x != nil && x.IsPlusSubscriber != nil { + return *x.IsPlusSubscriber + } + return false +} + +func (x *CSODOTAServerStaticLobbyMember) GetFavoriteTeamPacked() uint64 { + if x != nil && x.FavoriteTeamPacked != nil { + return *x.FavoriteTeamPacked + } + return 0 +} + +func (x *CSODOTAServerStaticLobbyMember) GetIsSteamChina() bool { + if x != nil && x.IsSteamChina != nil { + return *x.IsSteamChina + } + return false +} + +func (x *CSODOTAServerStaticLobbyMember) GetTitle() uint32 { + if x != nil && x.Title != nil { + return *x.Title + } + return 0 +} + +func (x *CSODOTAServerStaticLobbyMember) GetGuildId() uint32 { + if x != nil && x.GuildId != nil { + return *x.GuildId + } + return 0 +} + +func (x *CSODOTAServerStaticLobbyMember) GetDisabledRandomHeroBits() []uint32 { + if x != nil { + return x.DisabledRandomHeroBits + } + return nil +} + +func (x *CSODOTAServerStaticLobbyMember) GetDisabledHeroId() []int32 { + if x != nil { + return x.DisabledHeroId + } + return nil +} + +func (x *CSODOTAServerStaticLobbyMember) GetEnabledHeroId() []int32 { + if x != nil { + return x.EnabledHeroId + } + return nil +} + +func (x *CSODOTAServerStaticLobbyMember) GetBannedHeroIds() []int32 { + if x != nil { + return x.BannedHeroIds + } + return nil +} + type CLobbyTeamDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1914,10 +1859,8 @@ type CSODOTALobby struct { LobbyType *CSODOTALobby_LobbyType `protobuf:"varint,12,opt,name=lobby_type,json=lobbyType,enum=dota.CSODOTALobby_LobbyType" json:"lobby_type,omitempty"` AllowCheats *bool `protobuf:"varint,13,opt,name=allow_cheats,json=allowCheats" json:"allow_cheats,omitempty"` FillWithBots *bool `protobuf:"varint,14,opt,name=fill_with_bots,json=fillWithBots" json:"fill_with_bots,omitempty"` - IntroMode *bool `protobuf:"varint,15,opt,name=intro_mode,json=introMode" json:"intro_mode,omitempty"` GameName *string `protobuf:"bytes,16,opt,name=game_name,json=gameName" json:"game_name,omitempty"` TeamDetails []*CLobbyTeamDetails `protobuf:"bytes,17,rep,name=team_details,json=teamDetails" json:"team_details,omitempty"` - TutorialLesson *uint32 `protobuf:"varint,18,opt,name=tutorial_lesson,json=tutorialLesson" json:"tutorial_lesson,omitempty"` TournamentId *uint32 `protobuf:"varint,19,opt,name=tournament_id,json=tournamentId" json:"tournament_id,omitempty"` TournamentGameId *uint32 `protobuf:"varint,20,opt,name=tournament_game_id,json=tournamentGameId" json:"tournament_game_id,omitempty"` ServerRegion *uint32 `protobuf:"varint,21,opt,name=server_region,json=serverRegion" json:"server_region,omitempty"` @@ -1928,17 +1871,13 @@ type CSODOTALobby struct { MatchId *uint64 `protobuf:"varint,30,opt,name=match_id,json=matchId" json:"match_id,omitempty"` AllowSpectating *bool `protobuf:"varint,31,opt,name=allow_spectating,json=allowSpectating" json:"allow_spectating,omitempty"` BotDifficultyRadiant *DOTABotDifficulty `protobuf:"varint,36,opt,name=bot_difficulty_radiant,json=botDifficultyRadiant,enum=dota.DOTABotDifficulty" json:"bot_difficulty_radiant,omitempty"` - TimedRewardDetails []*CLobbyTimedRewardDetails `protobuf:"bytes,38,rep,name=timed_reward_details,json=timedRewardDetails" json:"timed_reward_details,omitempty"` PassKey *string `protobuf:"bytes,39,opt,name=pass_key,json=passKey" json:"pass_key,omitempty"` Leagueid *uint32 `protobuf:"varint,42,opt,name=leagueid" json:"leagueid,omitempty"` PenaltyLevelRadiant *uint32 `protobuf:"varint,43,opt,name=penalty_level_radiant,json=penaltyLevelRadiant" json:"penalty_level_radiant,omitempty"` PenaltyLevelDire *uint32 `protobuf:"varint,44,opt,name=penalty_level_dire,json=penaltyLevelDire" json:"penalty_level_dire,omitempty"` - LoadGameId *uint32 `protobuf:"varint,45,opt,name=load_game_id,json=loadGameId" json:"load_game_id,omitempty"` SeriesType *uint32 `protobuf:"varint,46,opt,name=series_type,json=seriesType" json:"series_type,omitempty"` RadiantSeriesWins *uint32 `protobuf:"varint,47,opt,name=radiant_series_wins,json=radiantSeriesWins" json:"radiant_series_wins,omitempty"` DireSeriesWins *uint32 `protobuf:"varint,48,opt,name=dire_series_wins,json=direSeriesWins" json:"dire_series_wins,omitempty"` - LootGenerated *uint32 `protobuf:"varint,49,opt,name=loot_generated,json=lootGenerated" json:"loot_generated,omitempty"` - LootAwarded *uint32 `protobuf:"varint,50,opt,name=loot_awarded,json=lootAwarded" json:"loot_awarded,omitempty"` Allchat *bool `protobuf:"varint,51,opt,name=allchat" json:"allchat,omitempty"` DotaTvDelay *LobbyDotaTVDelay `protobuf:"varint,53,opt,name=dota_tv_delay,json=dotaTvDelay,enum=dota.LobbyDotaTVDelay" json:"dota_tv_delay,omitempty"` CustomGameMode *string `protobuf:"bytes,54,opt,name=custom_game_mode,json=customGameMode" json:"custom_game_mode,omitempty"` @@ -1950,7 +1889,6 @@ type CSODOTALobby struct { SeriesId *uint32 `protobuf:"varint,60,opt,name=series_id,json=seriesId" json:"series_id,omitempty"` LowPriority *bool `protobuf:"varint,61,opt,name=low_priority,json=lowPriority" json:"low_priority,omitempty"` ExtraMessages []*CSODOTALobby_CExtraMsg `protobuf:"bytes,62,rep,name=extra_messages,json=extraMessages" json:"extra_messages,omitempty"` - SaveGame *CDOTASaveGame `protobuf:"bytes,63,opt,name=save_game,json=saveGame" json:"save_game,omitempty"` FirstBloodHappened *bool `protobuf:"varint,65,opt,name=first_blood_happened,json=firstBloodHappened" json:"first_blood_happened,omitempty"` MatchOutcome *EMatchOutcome `protobuf:"varint,70,opt,name=match_outcome,json=matchOutcome,enum=dota.EMatchOutcome" json:"match_outcome,omitempty"` MassDisconnect *bool `protobuf:"varint,67,opt,name=mass_disconnect,json=massDisconnect" json:"mass_disconnect,omitempty"` @@ -1989,15 +1927,14 @@ type CSODOTALobby struct { ExperimentalGameplayEnabled *bool `protobuf:"varint,116,opt,name=experimental_gameplay_enabled,json=experimentalGameplayEnabled" json:"experimental_gameplay_enabled,omitempty"` GuildChallenges []*CLobbyGuildChallenge `protobuf:"bytes,117,rep,name=guild_challenges,json=guildChallenges" json:"guild_challenges,omitempty"` GuildDetails []*CLobbyGuildDetails `protobuf:"bytes,118,rep,name=guild_details,json=guildDetails" json:"guild_details,omitempty"` - LobbyEventPoints []*CMsgLobbyEventPoints `protobuf:"bytes,119,rep,name=lobby_event_points,json=lobbyEventPoints" json:"lobby_event_points,omitempty"` RequestedHeroIds []int32 `protobuf:"varint,124,rep,name=requested_hero_ids,json=requestedHeroIds" json:"requested_hero_ids,omitempty"` CoachFriendRequests []*CMsgLobbyCoachFriendRequest `protobuf:"bytes,125,rep,name=coach_friend_requests,json=coachFriendRequests" json:"coach_friend_requests,omitempty"` IsInSteamChina *bool `protobuf:"varint,126,opt,name=is_in_steam_china,json=isInSteamChina" json:"is_in_steam_china,omitempty"` WithScenarioSave *bool `protobuf:"varint,127,opt,name=with_scenario_save,json=withScenarioSave" json:"with_scenario_save,omitempty"` LobbyCreationTime *uint32 `protobuf:"varint,128,opt,name=lobby_creation_time,json=lobbyCreationTime" json:"lobby_creation_time,omitempty"` EventGameDefinition *string `protobuf:"bytes,129,opt,name=event_game_definition,json=eventGameDefinition" json:"event_game_definition,omitempty"` - ExtraStartupMessages []*CSODOTALobby_CExtraMsg `protobuf:"bytes,130,rep,name=extra_startup_messages,json=extraStartupMessages" json:"extra_startup_messages,omitempty"` MatchQualityData *CDOTALobbyMatchQualityData `protobuf:"bytes,131,opt,name=match_quality_data,json=matchQualityData" json:"match_quality_data,omitempty"` + RequestedHeroTeams []int32 `protobuf:"varint,132,rep,name=requested_hero_teams,json=requestedHeroTeams" json:"requested_hero_teams,omitempty"` } func (x *CSODOTALobby) Reset() { @@ -2130,13 +2067,6 @@ func (x *CSODOTALobby) GetFillWithBots() bool { return false } -func (x *CSODOTALobby) GetIntroMode() bool { - if x != nil && x.IntroMode != nil { - return *x.IntroMode - } - return false -} - func (x *CSODOTALobby) GetGameName() string { if x != nil && x.GameName != nil { return *x.GameName @@ -2151,13 +2081,6 @@ func (x *CSODOTALobby) GetTeamDetails() []*CLobbyTeamDetails { return nil } -func (x *CSODOTALobby) GetTutorialLesson() uint32 { - if x != nil && x.TutorialLesson != nil { - return *x.TutorialLesson - } - return 0 -} - func (x *CSODOTALobby) GetTournamentId() uint32 { if x != nil && x.TournamentId != nil { return *x.TournamentId @@ -2228,13 +2151,6 @@ func (x *CSODOTALobby) GetBotDifficultyRadiant() DOTABotDifficulty { return DOTABotDifficulty_BOT_DIFFICULTY_PASSIVE } -func (x *CSODOTALobby) GetTimedRewardDetails() []*CLobbyTimedRewardDetails { - if x != nil { - return x.TimedRewardDetails - } - return nil -} - func (x *CSODOTALobby) GetPassKey() string { if x != nil && x.PassKey != nil { return *x.PassKey @@ -2263,13 +2179,6 @@ func (x *CSODOTALobby) GetPenaltyLevelDire() uint32 { return 0 } -func (x *CSODOTALobby) GetLoadGameId() uint32 { - if x != nil && x.LoadGameId != nil { - return *x.LoadGameId - } - return 0 -} - func (x *CSODOTALobby) GetSeriesType() uint32 { if x != nil && x.SeriesType != nil { return *x.SeriesType @@ -2291,20 +2200,6 @@ func (x *CSODOTALobby) GetDireSeriesWins() uint32 { return 0 } -func (x *CSODOTALobby) GetLootGenerated() uint32 { - if x != nil && x.LootGenerated != nil { - return *x.LootGenerated - } - return 0 -} - -func (x *CSODOTALobby) GetLootAwarded() uint32 { - if x != nil && x.LootAwarded != nil { - return *x.LootAwarded - } - return 0 -} - func (x *CSODOTALobby) GetAllchat() bool { if x != nil && x.Allchat != nil { return *x.Allchat @@ -2382,13 +2277,6 @@ func (x *CSODOTALobby) GetExtraMessages() []*CSODOTALobby_CExtraMsg { return nil } -func (x *CSODOTALobby) GetSaveGame() *CDOTASaveGame { - if x != nil { - return x.SaveGame - } - return nil -} - func (x *CSODOTALobby) GetFirstBloodHappened() bool { if x != nil && x.FirstBloodHappened != nil { return *x.FirstBloodHappened @@ -2655,13 +2543,6 @@ func (x *CSODOTALobby) GetGuildDetails() []*CLobbyGuildDetails { return nil } -func (x *CSODOTALobby) GetLobbyEventPoints() []*CMsgLobbyEventPoints { - if x != nil { - return x.LobbyEventPoints - } - return nil -} - func (x *CSODOTALobby) GetRequestedHeroIds() []int32 { if x != nil { return x.RequestedHeroIds @@ -2704,16 +2585,16 @@ func (x *CSODOTALobby) GetEventGameDefinition() string { return "" } -func (x *CSODOTALobby) GetExtraStartupMessages() []*CSODOTALobby_CExtraMsg { +func (x *CSODOTALobby) GetMatchQualityData() *CDOTALobbyMatchQualityData { if x != nil { - return x.ExtraStartupMessages + return x.MatchQualityData } return nil } -func (x *CSODOTALobby) GetMatchQualityData() *CDOTALobbyMatchQualityData { +func (x *CSODOTALobby) GetRequestedHeroTeams() []int32 { if x != nil { - return x.MatchQualityData + return x.RequestedHeroTeams } return nil } @@ -2723,7 +2604,8 @@ type CSODOTAServerLobby struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AllMembers []*CSODOTAServerLobbyMember `protobuf:"bytes,1,rep,name=all_members,json=allMembers" json:"all_members,omitempty"` + AllMembers []*CSODOTAServerLobbyMember `protobuf:"bytes,1,rep,name=all_members,json=allMembers" json:"all_members,omitempty"` + ExtraStartupMessages []*CSODOTALobby_CExtraMsg `protobuf:"bytes,2,rep,name=extra_startup_messages,json=extraStartupMessages" json:"extra_startup_messages,omitempty"` } func (x *CSODOTAServerLobby) Reset() { @@ -2765,6 +2647,13 @@ func (x *CSODOTAServerLobby) GetAllMembers() []*CSODOTAServerLobbyMember { return nil } +func (x *CSODOTAServerLobby) GetExtraStartupMessages() []*CSODOTALobby_CExtraMsg { + if x != nil { + return x.ExtraStartupMessages + } + return nil +} + type CSODOTAStaticLobby struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2835,6 +2724,7 @@ type CSODOTAServerStaticLobby struct { AllMembers []*CSODOTAServerStaticLobbyMember `protobuf:"bytes,1,rep,name=all_members,json=allMembers" json:"all_members,omitempty"` PostPatchStrategyTimeBuffer *float32 `protobuf:"fixed32,2,opt,name=post_patch_strategy_time_buffer,json=postPatchStrategyTimeBuffer" json:"post_patch_strategy_time_buffer,omitempty"` + LobbyEventPoints []*CMsgLobbyEventPoints `protobuf:"bytes,3,rep,name=lobby_event_points,json=lobbyEventPoints" json:"lobby_event_points,omitempty"` } func (x *CSODOTAServerStaticLobby) Reset() { @@ -2883,6 +2773,13 @@ func (x *CSODOTAServerStaticLobby) GetPostPatchStrategyTimeBuffer() float32 { return 0 } +func (x *CSODOTAServerStaticLobby) GetLobbyEventPoints() []*CMsgLobbyEventPoints { + if x != nil { + return x.LobbyEventPoints + } + return nil +} + type CMsgAdditionalLobbyStartupAccountData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3820,749 +3717,715 @@ var file_dota_gcmessages_common_lobby_proto_rawDesc = []byte{ 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x22, 0xad, 0x0e, 0x0a, 0x12, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, + 0x64, 0x22, 0xc9, 0x05, 0x0a, 0x12, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, - 0x45, 0x41, 0x4d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, - 0x65, 0x74, 0x61, 0x5f, 0x78, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, - 0x74, 0x61, 0x58, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x78, 0x70, 0x5f, - 0x61, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, - 0x65, 0x74, 0x61, 0x58, 0x70, 0x41, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, - 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x4c, - 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x52, 0x0c, 0x6c, - 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, - 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x18, 0x14, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x31, - 0x0a, 0x0a, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, - 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x09, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x54, 0x65, 0x61, - 0x6d, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, - 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x12, 0x70, 0x77, 0x72, 0x64, 0x5f, 0x63, 0x79, 0x62, - 0x65, 0x72, 0x5f, 0x63, 0x61, 0x66, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x70, 0x77, 0x72, 0x64, 0x43, 0x79, 0x62, 0x65, 0x72, 0x43, 0x61, 0x66, 0x65, 0x49, - 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x77, 0x72, 0x64, 0x5f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x5f, - 0x63, 0x61, 0x66, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x70, 0x77, 0x72, 0x64, 0x43, 0x79, 0x62, 0x65, 0x72, 0x43, 0x61, 0x66, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x72, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, - 0x29, 0x20, 0x03, 0x28, 0x07, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x69, 0x74, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x1d, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x12, 0x35, 0x0a, 0x17, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x65, 0x61, - 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, - 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x69, 0x73, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, - 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, - 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, - 0x6e, 0x45, 0x61, 0x72, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x13, - 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, - 0x65, 0x61, 0x6d, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x11, 0x6c, - 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x61, 0x6d, + 0x45, 0x41, 0x4d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x3d, 0x0a, + 0x0d, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, + 0x4c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x52, 0x0c, + 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x09, 0x63, 0x6f, 0x61, + 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x73, 0x12, 0x42, 0x0a, + 0x13, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x74, 0x65, 0x61, 0x6d, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x11, + 0x6c, 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x61, + 0x6d, 0x12, 0x42, 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x56, 0x0a, 0x19, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x61, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x16, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x4f, 0x6e, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2b, 0x0a, + 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6c, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6c, + 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x1a, 0x0a, + 0x18, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x18, 0x43, 0x53, + 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, + 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, + 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x22, 0x91, 0x06, + 0x0a, 0x1e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x61, 0x6e, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x46, 0x0a, 0x13, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6d, 0x6d, + 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x72, 0x61, 0x6e, + 0x6b, 0x4d, 0x6d, 0x72, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, + 0x6f, 0x61, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x11, 0x77, 0x61, 0x73, 0x5f, 0x6d, 0x76, 0x70, 0x5f, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x61, 0x73, - 0x4d, 0x76, 0x70, 0x4c, 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x70, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x2c, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x56, 0x0a, 0x19, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x2d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, - 0x16, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x4f, 0x6e, - 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x13, 0x72, 0x61, 0x6e, 0x6b, 0x5f, - 0x6d, 0x6d, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x2e, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x72, - 0x61, 0x6e, 0x6b, 0x4d, 0x6d, 0x72, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x34, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x14, 0x71, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x6a, 0x75, 0x73, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x69, - 0x65, 0x72, 0x18, 0x30, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x69, - 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, - 0x6e, 0x61, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x12, 0x39, 0x0a, 0x19, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6c, 0x69, 0x76, 0x65, 0x53, - 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x38, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x39, 0x20, 0x03, + 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x61, 0x73, + 0x4d, 0x76, 0x70, 0x4c, 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x63, + 0x61, 0x6e, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x45, 0x61, 0x72, 0x6e, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x6c, 0x75, 0x73, + 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x12, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, + 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x19, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x07, 0x52, + 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, + 0x65, 0x72, 0x6f, 0x42, 0x69, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x61, 0x6e, + 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, - 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x1a, 0x0a, - 0x18, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3b, 0x0a, 0x1e, 0x43, 0x53, 0x4f, - 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x8f, 0x04, 0x0a, 0x11, 0x43, 0x4c, 0x6f, 0x62, 0x62, - 0x79, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, - 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, - 0x6d, 0x54, 0x61, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x42, 0x61, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x6f, - 0x12, 0x28, 0x0a, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, - 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x65, 0x61, 0x6d, - 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, - 0x61, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, - 0x74, 0x65, 0x61, 0x6d, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x48, 0x6f, - 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x41, 0x0a, 0x1d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x41, 0x62, 0x62, 0x72, - 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x03, 0x0a, 0x12, 0x43, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x67, 0x75, 0x69, 0x6c, 0x64, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x23, - 0x0a, 0x0d, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6c, 0x6f, 0x67, - 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, - 0x67, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x66, 0x6f, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, - 0x45, 0x41, 0x4d, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x46, 0x6f, 0x72, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x67, 0x12, 0x36, - 0x0a, 0x17, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x15, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x18, 0x43, 0x4c, 0x6f, 0x62, 0x62, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, - 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, - 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x63, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x72, 0x61, 0x74, - 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x72, - 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, - 0x64, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xa5, 0x01, 0x0a, - 0x1a, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0x99, 0x03, 0x0a, 0x14, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, - 0x3d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, - 0x0a, 0x14, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x65, 0x6c, - 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, - 0x22, 0xbb, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x27, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, - 0x6c, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x74, 0x65, 0x61, 0x6d, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0xde, - 0x2a, 0x0a, 0x0c, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, - 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x6c, - 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x78, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, - 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x79, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, - 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x69, - 0x63, 0x65, 0x73, 0x18, 0x7a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x65, 0x66, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, - 0x66, 0x72, 0x65, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x69, - 0x63, 0x65, 0x73, 0x18, 0x7b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x72, 0x65, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x08, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0e, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x65, - 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x43, 0x68, 0x65, 0x61, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x77, - 0x69, 0x74, 0x68, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x66, 0x69, 0x6c, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, - 0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x65, 0x61, 0x6d, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x5f, 0x6c, 0x65, 0x73, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x73, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, - 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x09, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, - 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x2b, 0x0a, 0x07, 0x63, 0x6d, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x1c, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4d, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x52, 0x06, 0x63, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x1f, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x16, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, - 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x24, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, - 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x14, 0x62, - 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x61, 0x64, 0x69, - 0x61, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, - 0x69, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x2a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, - 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x65, 0x6e, - 0x61, 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, - 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x65, - 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x12, 0x20, - 0x0a, 0x0c, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x2d, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, - 0x73, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, - 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, - 0x6f, 0x6f, 0x74, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x31, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x6f, 0x74, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x64, - 0x65, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x6f, 0x6f, 0x74, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x74, - 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x74, 0x12, - 0x3a, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x35, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0b, - 0x64, 0x6f, 0x74, 0x61, 0x54, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, - 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, - 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, - 0x74, 0x79, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, - 0x6e, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6c, 0x61, 0x6e, 0x12, 0x56, 0x0a, 0x16, - 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, - 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6c, 0x65, - 0x61, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x3b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, - 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, - 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0e, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x3e, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, - 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, - 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x30, 0x0a, 0x09, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x3f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, - 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x73, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, - 0x65, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, - 0x5f, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x41, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x48, 0x61, 0x70, 0x70, 0x65, - 0x6e, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, - 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x6d, 0x61, 0x73, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x18, 0x43, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x73, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x44, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x4d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x18, 0x48, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, - 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x63, 0x12, 0x42, 0x0a, 0x1e, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x18, 0x4d, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x41, - 0x75, 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, - 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x50, 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, - 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x51, - 0x20, 0x03, 0x28, 0x04, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x70, 0x72, - 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x57, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x61, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x70, - 0x61, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x58, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, - 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x0c, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, - 0x1b, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, - 0x5f, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x5a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x18, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, - 0x65, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x1b, - 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, - 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x5b, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x18, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, - 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x1d, 0x77, - 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x62, - 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x5c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x1a, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, - 0x65, 0x79, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x47, - 0x0a, 0x13, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, - 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, - 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, - 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x74, 0x5f, 0x72, - 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x6f, - 0x74, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6f, 0x74, 0x5f, - 0x64, 0x69, 0x72, 0x65, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x62, 0x6f, 0x74, 0x44, - 0x69, 0x72, 0x65, 0x12, 0x48, 0x0a, 0x19, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x60, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5a, 0x0a, - 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x16, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x2a, 0x73, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x25, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x54, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x29, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, - 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x24, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x6f, 0x0a, - 0x23, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x1f, 0x73, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x76, - 0x0a, 0x27, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x52, 0x22, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x4e, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, - 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x30, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x64, - 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x73, 0x73, 0x18, 0x66, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x2a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x55, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x15, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3d, - 0x0a, 0x1b, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x69, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x18, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, - 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x06, 0x52, 0x14, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, - 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x18, 0x6b, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x50, - 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x5f, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x6e, 0x48, 0x6f, 0x73, - 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, - 0x0e, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x6e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x71, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x42, 0x0a, - 0x1d, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x74, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, - 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x12, 0x45, 0x0a, 0x10, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x75, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0d, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x76, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x6c, 0x6f, 0x62, 0x62, 0x79, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x77, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, - 0x10, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, - 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x7c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, - 0x55, 0x0a, 0x15, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x7d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x43, - 0x6f, 0x61, 0x63, 0x68, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x13, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, 0x7e, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x69, 0x73, 0x49, 0x6e, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, - 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, - 0x69, 0x6f, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x77, - 0x69, 0x74, 0x68, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x12, - 0x2f, 0x0a, 0x13, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x33, 0x0a, 0x15, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x16, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x82, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, - 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, - 0x61, 0x4d, 0x73, 0x67, 0x52, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x12, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x43, - 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x22, 0x64, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a, - 0x02, 0x55, 0x49, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x41, 0x44, 0x59, 0x55, 0x50, - 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x53, 0x45, 0x54, 0x55, - 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, - 0x50, 0x4f, 0x53, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, - 0x54, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x56, - 0x45, 0x52, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x06, 0x22, 0xe2, 0x01, 0x0a, 0x09, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x10, - 0x0a, 0x0c, 0x43, 0x41, 0x53, 0x55, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, - 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x41, 0x43, 0x54, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x12, - 0x0a, 0x0e, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, - 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x50, 0x45, 0x54, 0x49, 0x54, 0x49, 0x56, - 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x57, 0x45, 0x45, - 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x4e, 0x45, 0x59, 0x10, 0x09, 0x12, 0x13, - 0x0a, 0x0f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, - 0x48, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, - 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, - 0x48, 0x10, 0x0c, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, - 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x0e, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x45, 0x41, 0x54, - 0x55, 0x52, 0x45, 0x44, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x22, - 0x55, 0x0a, 0x12, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x12, 0x43, 0x53, 0x4f, 0x44, 0x4f, - 0x54, 0x41, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x3f, 0x0a, - 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, - 0x41, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, - 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x61, 0x66, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x12, 0x34, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, - 0x18, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, - 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x12, 0x44, 0x0a, 0x1f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x70, 0x6f, 0x73, 0x74, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x54, 0x69, 0x6d, 0x65, - 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, 0x80, 0x05, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x46, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x70, - 0x6c, 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x8d, 0x01, 0x0a, 0x22, 0x75, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x1e, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x22, 0x75, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x1e, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, - 0x64, 0x50, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x67, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x74, 0x57, - 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x49, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x64, - 0x1a, 0x67, 0x0a, 0x15, 0x50, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, - 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x64, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x4d, 0x73, - 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x2e, 0x0a, 0x18, - 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x74, 0x65, 0x73, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x82, 0x03, 0x0a, - 0x18, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x73, 0x22, 0x8f, 0x04, 0x0a, 0x11, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x65, 0x61, 0x6d, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, + 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x65, 0x61, + 0x6d, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, + 0x65, 0x61, 0x6d, 0x42, 0x61, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x42, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x65, + 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, + 0x6e, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x1f, + 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x48, 0x6f, 0x6d, 0x65, 0x54, 0x65, 0x61, + 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, + 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x41, 0x0a, 0x1d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x6f, 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x61, + 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x03, 0x0a, 0x12, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x11, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x21, 0x0a, + 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x12, - 0x2e, 0x0a, 0x13, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, - 0x32, 0x0a, 0x15, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x67, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6f, - 0x6c, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, - 0x75, 0x69, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x67, 0x75, 0x69, + 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x0c, + 0x74, 0x65, 0x61, 0x6d, 0x46, 0x6f, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x67, 0x75, 0x69, 0x6c, + 0x74, 0x69, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, - 0x65, 0x22, 0xee, 0x03, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x61, 0x6b, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, - 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0x28, - 0x0a, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x76, 0x6f, - 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x32, 0x0a, - 0x15, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x66, 0x61, - 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x12, 0x3d, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x78, 0x5f, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x65, 0x6c, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x54, 0x0a, 0x0f, - 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x6f, 0x62, 0x62, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, - 0x74, 0x61, 0x2a, 0xa5, 0x01, 0x0a, 0x1d, 0x45, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x18, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x69, 0x6d, 0x65, + 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x24, + 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x5f, 0x63, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, + 0x73, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x72, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, + 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x44, 0x72, 0x6f, 0x70, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x43, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, + 0x99, 0x03, 0x0a, 0x14, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x41, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6c, 0x69, + 0x67, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x1a, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x76, + 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x51, 0x75, 0x61, 0x6c, + 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0xba, 0x27, 0x0a, 0x0c, 0x43, 0x53, + 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, + 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, + 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x18, 0x78, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, + 0x65, 0x73, 0x18, 0x79, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x65, 0x66, 0x74, 0x5f, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x7a, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x72, 0x65, 0x65, 0x5f, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x7b, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x72, 0x65, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, + 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, + 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x65, 0x61, 0x74, 0x73, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x65, 0x61, 0x74, + 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x62, + 0x6f, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x6c, 0x57, + 0x69, 0x74, 0x68, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x0a, 0x07, 0x63, 0x6d, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x18, + 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x52, 0x06, 0x63, 0x6d, 0x50, 0x69, 0x63, + 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x16, 0x62, 0x6f, 0x74, 0x5f, 0x64, + 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, + 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, + 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, + 0x52, 0x14, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x4b, 0x65, + 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x2a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x32, 0x0a, + 0x15, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x65, + 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, + 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x2e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, 0x73, + 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, + 0x77, 0x69, 0x6e, 0x73, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, + 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, + 0x6c, 0x63, 0x68, 0x61, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, + 0x63, 0x68, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x76, 0x5f, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x44, 0x65, + 0x6c, 0x61, 0x79, 0x52, 0x0b, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, + 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x37, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x6e, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6c, 0x61, + 0x6e, 0x12, 0x56, 0x0a, 0x16, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x3a, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x42, + 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x69, 0x64, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x4c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x3d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x43, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x43, 0x45, 0x78, 0x74, + 0x72, 0x61, 0x4d, 0x73, 0x67, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, + 0x6f, 0x6f, 0x64, 0x5f, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x41, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x48, 0x61, + 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x73, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x18, 0x43, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x73, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x44, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, + 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x4d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, + 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x4d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x76, + 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x63, 0x12, 0x42, + 0x0a, 0x1e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x18, 0x4d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, + 0x6d, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x50, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x18, 0x51, 0x20, 0x03, 0x28, 0x04, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x36, + 0x0a, 0x17, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x15, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x57, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, + 0x0a, 0x0d, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, + 0x58, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x0c, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0x3d, 0x0a, 0x1b, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, + 0x6e, 0x65, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x5a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x65, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x3d, 0x0a, 0x1b, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, + 0x65, 0x79, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x5b, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x65, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x41, + 0x0a, 0x1d, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x65, + 0x79, 0x5f, 0x62, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, + 0x5c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x65, 0x79, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x12, 0x47, 0x0a, 0x13, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, + 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, + 0x74, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x62, 0x6f, 0x74, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, + 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x62, + 0x6f, 0x74, 0x44, 0x69, 0x72, 0x65, 0x12, 0x48, 0x0a, 0x19, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x60, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x5a, 0x0a, 0x18, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x61, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x16, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x2a, + 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x25, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x29, 0x73, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x24, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x12, 0x6f, 0x0a, 0x23, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x65, 0x61, 0x6d, + 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x1f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x12, 0x76, 0x0a, 0x27, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x65, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x22, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x54, + 0x65, 0x61, 0x6d, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x30, 0x73, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x75, + 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x73, 0x73, 0x18, 0x66, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x2a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x55, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x73, 0x73, 0x12, + 0x40, 0x0a, 0x15, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, + 0x72, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x13, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x69, 0x20, 0x03, 0x28, 0x05, 0x52, 0x18, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, + 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, + 0x12, 0x35, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x6a, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x6b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, + 0x6d, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, + 0x61, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x6e, + 0x48, 0x6f, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x71, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, + 0x12, 0x42, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x74, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x10, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x75, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0d, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x76, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x7c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x63, 0x6f, 0x61, 0x63, + 0x68, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x18, 0x7d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x13, 0x63, 0x6f, 0x61, 0x63, + 0x68, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, + 0x29, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, + 0x68, 0x69, 0x6e, 0x61, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x49, 0x6e, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f, 0x73, 0x61, 0x76, 0x65, + 0x18, 0x7f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x53, 0x63, 0x65, 0x6e, + 0x61, 0x72, 0x69, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x6f, 0x62, 0x62, + 0x79, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x80, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, + 0x0a, 0x12, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x31, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x84, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x65, 0x61, + 0x6d, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x64, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x49, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x52, 0x45, 0x41, 0x44, 0x59, 0x55, 0x50, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x52, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x55, + 0x4e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x10, + 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x05, 0x12, + 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, + 0x06, 0x22, 0xe2, 0x01, 0x0a, 0x09, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x41, 0x53, 0x55, 0x41, 0x4c, 0x5f, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x41, 0x43, 0x54, + 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x42, 0x4f, + 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4d, + 0x50, 0x45, 0x54, 0x49, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x07, + 0x12, 0x13, 0x0a, 0x0f, 0x57, 0x45, 0x45, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x55, 0x52, + 0x4e, 0x45, 0x59, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x42, + 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x50, + 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x45, + 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x0e, 0x12, + 0x15, 0x0a, 0x11, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x43, 0x53, 0x4f, 0x44, 0x4f, + 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x3f, 0x0a, + 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, + 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x52, + 0x0a, 0x16, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x52, 0x14, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x12, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, + 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, + 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, + 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, + 0x66, 0x74, 0x12, 0x34, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x18, 0x43, 0x53, 0x4f, + 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x44, 0x0a, 0x1f, + 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x70, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x12, 0x48, 0x0a, 0x12, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x10, 0x6c, 0x6f, 0x62, 0x62, + 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x80, 0x05, 0x0a, + 0x25, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, + 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x8d, 0x01, + 0x0a, 0x22, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, + 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, + 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x1e, 0x75, + 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x8d, 0x01, + 0x0a, 0x22, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, + 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x65, 0x65, + 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x1e, 0x75, + 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x65, 0x65, 0x6c, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x67, 0x0a, + 0x15, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x65, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x45, 0x6e, 0x64, 0x1a, 0x67, 0x0a, 0x15, 0x50, 0x69, 0x6e, 0x67, 0x57, 0x68, + 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x64, 0x22, + 0x21, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x22, 0x2e, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x50, + 0x6c, 0x61, 0x79, 0x74, 0x65, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6a, 0x73, + 0x6f, 0x6e, 0x22, 0x82, 0x03, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, + 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x11, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, + 0x36, 0x0a, 0x17, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, + 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x15, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x50, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0xee, 0x03, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x61, 0x6b, 0x65, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x6c, 0x75, + 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, + 0x65, 0x61, 0x6d, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x66, 0x78, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x78, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x54, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2a, 0xa5, 0x01, 0x0a, 0x1d, 0x45, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, + 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x61, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4e, 0x6f, + 0x6e, 0x65, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x2c, - 0x0a, 0x28, 0x6b, 0x5f, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x43, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, - 0x6b, 0x5f, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, - 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x65, 0x0a, 0x10, 0x4c, 0x6f, - 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x12, - 0x0a, 0x0e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x5f, 0x31, 0x30, - 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, - 0x56, 0x5f, 0x31, 0x32, 0x30, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x6f, 0x62, 0x62, 0x79, - 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x5f, 0x33, 0x30, 0x30, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x5f, 0x39, 0x30, 0x30, 0x10, - 0x03, 0x2a, 0x83, 0x01, 0x0a, 0x15, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, - 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x1f, 0x4c, - 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x55, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x10, 0x00, - 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, - 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, - 0x64, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, - 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x02, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, - 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, + 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x65, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x02, + 0x2a, 0x65, 0x0a, 0x10, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x44, + 0x65, 0x6c, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, + 0x61, 0x54, 0x56, 0x5f, 0x31, 0x30, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x5f, 0x31, 0x32, 0x30, 0x10, 0x01, 0x12, 0x13, 0x0a, + 0x0f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, 0x56, 0x5f, 0x33, 0x30, 0x30, + 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x54, + 0x56, 0x5f, 0x39, 0x30, 0x30, 0x10, 0x03, 0x2a, 0x83, 0x01, 0x0a, 0x15, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x55, 0x6e, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x64, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x44, + 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x02, 0x42, 0x25, 0x5a, + 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, + 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, + 0x64, 0x6f, 0x74, 0x61, } var ( @@ -4619,19 +4482,17 @@ var file_dota_gcmessages_common_lobby_proto_goTypes = []interface{}{ (*CMsgAdditionalLobbyStartupAccountData_PingWheelMessageRange)(nil), // 36: dota.CMsgAdditionalLobbyStartupAccountData.PingWheelMessageRange (DOTA_GC_TEAM)(0), // 37: dota.DOTA_GC_TEAM (DOTALeaverStatusT)(0), // 38: dota.DOTALeaverStatus_t - (MatchType)(0), // 39: dota.MatchType - (*CMsgPendingEventAward)(nil), // 40: dota.CMsgPendingEventAward - (EDOTAMMRBoostType)(0), // 41: dota.EDOTAMMRBoostType - (EEvent)(0), // 42: dota.EEvent - (DOTA_GameState)(0), // 43: dota.DOTA_GameState - (DOTA_CM_PICK)(0), // 44: dota.DOTA_CM_PICK - (DOTABotDifficulty)(0), // 45: dota.DOTABotDifficulty - (*CDOTASaveGame)(nil), // 46: dota.CDOTASaveGame - (EMatchOutcome)(0), // 47: dota.EMatchOutcome - (DOTALobbyVisibility)(0), // 48: dota.DOTALobbyVisibility - (DOTASelectionPriorityRules)(0), // 49: dota.DOTASelectionPriorityRules - (DOTASelectionPriorityChoice)(0), // 50: dota.DOTASelectionPriorityChoice - (*CExtraMsgBlock)(nil), // 51: dota.CExtraMsgBlock + (*CMsgPendingEventAward)(nil), // 39: dota.CMsgPendingEventAward + (EDOTAMMRBoostType)(0), // 40: dota.EDOTAMMRBoostType + (EEvent)(0), // 41: dota.EEvent + (DOTA_GameState)(0), // 42: dota.DOTA_GameState + (DOTA_CM_PICK)(0), // 43: dota.DOTA_CM_PICK + (DOTABotDifficulty)(0), // 44: dota.DOTABotDifficulty + (EMatchOutcome)(0), // 45: dota.EMatchOutcome + (DOTALobbyVisibility)(0), // 46: dota.DOTALobbyVisibility + (DOTASelectionPriorityRules)(0), // 47: dota.DOTASelectionPriorityRules + (DOTASelectionPriorityChoice)(0), // 48: dota.DOTASelectionPriorityChoice + (*CExtraMsgBlock)(nil), // 49: dota.CExtraMsgBlock } var file_dota_gcmessages_common_lobby_proto_depIdxs = []int32{ 0, // 0: dota.CMsgLobbyCoachFriendRequest.request_state:type_name -> dota.ELobbyMemberCoachRequestState @@ -4641,59 +4502,56 @@ var file_dota_gcmessages_common_lobby_proto_depIdxs = []int32{ 37, // 4: dota.CSODOTALobbyMember.team:type_name -> dota.DOTA_GC_TEAM 38, // 5: dota.CSODOTALobbyMember.leaver_status:type_name -> dota.DOTALeaverStatus_t 37, // 6: dota.CSODOTALobbyMember.coach_team:type_name -> dota.DOTA_GC_TEAM - 39, // 7: dota.CSODOTALobbyMember.search_match_type:type_name -> dota.MatchType - 37, // 8: dota.CSODOTALobbyMember.live_spectator_team:type_name -> dota.DOTA_GC_TEAM - 40, // 9: dota.CSODOTALobbyMember.pending_awards:type_name -> dota.CMsgPendingEventAward - 40, // 10: dota.CSODOTALobbyMember.pending_awards_on_victory:type_name -> dota.CMsgPendingEventAward - 41, // 11: dota.CSODOTALobbyMember.rank_mmr_boost_type:type_name -> dota.EDOTAMMRBoostType - 37, // 12: dota.CLobbyGuildDetails.team_for_guild:type_name -> dota.DOTA_GC_TEAM - 42, // 13: dota.CLobbyGuildChallenge.event_id:type_name -> dota.EEvent - 12, // 14: dota.CSODOTALobby.all_members:type_name -> dota.CSODOTALobbyMember - 3, // 15: dota.CSODOTALobby.state:type_name -> dota.CSODOTALobby.State - 4, // 16: dota.CSODOTALobby.lobby_type:type_name -> dota.CSODOTALobby.LobbyType - 16, // 17: dota.CSODOTALobby.team_details:type_name -> dota.CLobbyTeamDetails - 43, // 18: dota.CSODOTALobby.game_state:type_name -> dota.DOTA_GameState - 44, // 19: dota.CSODOTALobby.cm_pick:type_name -> dota.DOTA_CM_PICK - 45, // 20: dota.CSODOTALobby.bot_difficulty_radiant:type_name -> dota.DOTABotDifficulty - 18, // 21: dota.CSODOTALobby.timed_reward_details:type_name -> dota.CLobbyTimedRewardDetails - 1, // 22: dota.CSODOTALobby.dota_tv_delay:type_name -> dota.LobbyDotaTVDelay - 19, // 23: dota.CSODOTALobby.broadcast_channel_info:type_name -> dota.CLobbyBroadcastChannelInfo - 34, // 24: dota.CSODOTALobby.extra_messages:type_name -> dota.CSODOTALobby.CExtraMsg - 46, // 25: dota.CSODOTALobby.save_game:type_name -> dota.CDOTASaveGame - 47, // 26: dota.CSODOTALobby.match_outcome:type_name -> dota.EMatchOutcome - 48, // 27: dota.CSODOTALobby.visibility:type_name -> dota.DOTALobbyVisibility - 2, // 28: dota.CSODOTALobby.pause_setting:type_name -> dota.LobbyDotaPauseSetting - 45, // 29: dota.CSODOTALobby.bot_difficulty_dire:type_name -> dota.DOTABotDifficulty - 42, // 30: dota.CSODOTALobby.event_progression_enabled:type_name -> dota.EEvent - 49, // 31: dota.CSODOTALobby.selection_priority_rules:type_name -> dota.DOTASelectionPriorityRules - 50, // 32: dota.CSODOTALobby.series_current_priority_team_choice:type_name -> dota.DOTASelectionPriorityChoice - 50, // 33: dota.CSODOTALobby.series_current_non_priority_team_choice:type_name -> dota.DOTASelectionPriorityChoice - 42, // 34: dota.CSODOTALobby.current_primary_event:type_name -> dota.EEvent - 20, // 35: dota.CSODOTALobby.guild_challenges:type_name -> dota.CLobbyGuildChallenge - 17, // 36: dota.CSODOTALobby.guild_details:type_name -> dota.CLobbyGuildDetails - 9, // 37: dota.CSODOTALobby.lobby_event_points:type_name -> dota.CMsgLobbyEventPoints - 5, // 38: dota.CSODOTALobby.coach_friend_requests:type_name -> dota.CMsgLobbyCoachFriendRequest - 34, // 39: dota.CSODOTALobby.extra_startup_messages:type_name -> dota.CSODOTALobby.CExtraMsg - 21, // 40: dota.CSODOTALobby.match_quality_data:type_name -> dota.CDOTALobbyMatchQualityData - 13, // 41: dota.CSODOTAServerLobby.all_members:type_name -> dota.CSODOTAServerLobbyMember - 14, // 42: dota.CSODOTAStaticLobby.all_members:type_name -> dota.CSODOTAStaticLobbyMember - 15, // 43: dota.CSODOTAServerStaticLobby.all_members:type_name -> dota.CSODOTAServerStaticLobbyMember - 6, // 44: dota.CMsgAdditionalLobbyStartupAccountData.plus_data:type_name -> dota.CMsgLobbyPlayerPlusSubscriptionData - 35, // 45: dota.CMsgAdditionalLobbyStartupAccountData.unlocked_chat_wheel_message_ranges:type_name -> dota.CMsgAdditionalLobbyStartupAccountData.ChatWheelMessageRange - 36, // 46: dota.CMsgAdditionalLobbyStartupAccountData.unlocked_ping_wheel_message_ranges:type_name -> dota.CMsgAdditionalLobbyStartupAccountData.PingWheelMessageRange - 42, // 47: dota.CMsgLocalServerGuildData.event_id:type_name -> dota.EEvent - 9, // 48: dota.CMsgLocalServerFakeLobbyData.event_points:type_name -> dota.CMsgLobbyEventPoints - 29, // 49: dota.CMsgLocalServerFakeLobbyData.guild_info:type_name -> dota.CMsgLocalServerGuildData - 26, // 50: dota.CMsgLocalServerFakeLobbyData.additional_data:type_name -> dota.CMsgAdditionalLobbyStartupAccountData - 7, // 51: dota.CMsgLobbyEventPoints.AccountPoints.event_game_custom_actions:type_name -> dota.CMsgEventActionData - 7, // 52: dota.CMsgLobbyEventPoints.AccountPoints.networked_event_actions:type_name -> dota.CMsgEventActionData - 8, // 53: dota.CMsgLobbyEventPoints.AccountPoints.periodic_resources:type_name -> dota.CMsgPeriodicResourceData - 51, // 54: dota.CMsgLobbyEventPoints.AccountPoints.extra_event_messages:type_name -> dota.CExtraMsgBlock - 55, // [55:55] is the sub-list for method output_type - 55, // [55:55] is the sub-list for method input_type - 55, // [55:55] is the sub-list for extension type_name - 55, // [55:55] is the sub-list for extension extendee - 0, // [0:55] is the sub-list for field type_name + 37, // 7: dota.CSODOTALobbyMember.live_spectator_team:type_name -> dota.DOTA_GC_TEAM + 39, // 8: dota.CSODOTALobbyMember.pending_awards:type_name -> dota.CMsgPendingEventAward + 39, // 9: dota.CSODOTALobbyMember.pending_awards_on_victory:type_name -> dota.CMsgPendingEventAward + 40, // 10: dota.CSODOTAServerStaticLobbyMember.rank_mmr_boost_type:type_name -> dota.EDOTAMMRBoostType + 37, // 11: dota.CLobbyGuildDetails.team_for_guild:type_name -> dota.DOTA_GC_TEAM + 41, // 12: dota.CLobbyGuildChallenge.event_id:type_name -> dota.EEvent + 12, // 13: dota.CSODOTALobby.all_members:type_name -> dota.CSODOTALobbyMember + 3, // 14: dota.CSODOTALobby.state:type_name -> dota.CSODOTALobby.State + 4, // 15: dota.CSODOTALobby.lobby_type:type_name -> dota.CSODOTALobby.LobbyType + 16, // 16: dota.CSODOTALobby.team_details:type_name -> dota.CLobbyTeamDetails + 42, // 17: dota.CSODOTALobby.game_state:type_name -> dota.DOTA_GameState + 43, // 18: dota.CSODOTALobby.cm_pick:type_name -> dota.DOTA_CM_PICK + 44, // 19: dota.CSODOTALobby.bot_difficulty_radiant:type_name -> dota.DOTABotDifficulty + 1, // 20: dota.CSODOTALobby.dota_tv_delay:type_name -> dota.LobbyDotaTVDelay + 19, // 21: dota.CSODOTALobby.broadcast_channel_info:type_name -> dota.CLobbyBroadcastChannelInfo + 34, // 22: dota.CSODOTALobby.extra_messages:type_name -> dota.CSODOTALobby.CExtraMsg + 45, // 23: dota.CSODOTALobby.match_outcome:type_name -> dota.EMatchOutcome + 46, // 24: dota.CSODOTALobby.visibility:type_name -> dota.DOTALobbyVisibility + 2, // 25: dota.CSODOTALobby.pause_setting:type_name -> dota.LobbyDotaPauseSetting + 44, // 26: dota.CSODOTALobby.bot_difficulty_dire:type_name -> dota.DOTABotDifficulty + 41, // 27: dota.CSODOTALobby.event_progression_enabled:type_name -> dota.EEvent + 47, // 28: dota.CSODOTALobby.selection_priority_rules:type_name -> dota.DOTASelectionPriorityRules + 48, // 29: dota.CSODOTALobby.series_current_priority_team_choice:type_name -> dota.DOTASelectionPriorityChoice + 48, // 30: dota.CSODOTALobby.series_current_non_priority_team_choice:type_name -> dota.DOTASelectionPriorityChoice + 41, // 31: dota.CSODOTALobby.current_primary_event:type_name -> dota.EEvent + 20, // 32: dota.CSODOTALobby.guild_challenges:type_name -> dota.CLobbyGuildChallenge + 17, // 33: dota.CSODOTALobby.guild_details:type_name -> dota.CLobbyGuildDetails + 5, // 34: dota.CSODOTALobby.coach_friend_requests:type_name -> dota.CMsgLobbyCoachFriendRequest + 21, // 35: dota.CSODOTALobby.match_quality_data:type_name -> dota.CDOTALobbyMatchQualityData + 13, // 36: dota.CSODOTAServerLobby.all_members:type_name -> dota.CSODOTAServerLobbyMember + 34, // 37: dota.CSODOTAServerLobby.extra_startup_messages:type_name -> dota.CSODOTALobby.CExtraMsg + 14, // 38: dota.CSODOTAStaticLobby.all_members:type_name -> dota.CSODOTAStaticLobbyMember + 15, // 39: dota.CSODOTAServerStaticLobby.all_members:type_name -> dota.CSODOTAServerStaticLobbyMember + 9, // 40: dota.CSODOTAServerStaticLobby.lobby_event_points:type_name -> dota.CMsgLobbyEventPoints + 6, // 41: dota.CMsgAdditionalLobbyStartupAccountData.plus_data:type_name -> dota.CMsgLobbyPlayerPlusSubscriptionData + 35, // 42: dota.CMsgAdditionalLobbyStartupAccountData.unlocked_chat_wheel_message_ranges:type_name -> dota.CMsgAdditionalLobbyStartupAccountData.ChatWheelMessageRange + 36, // 43: dota.CMsgAdditionalLobbyStartupAccountData.unlocked_ping_wheel_message_ranges:type_name -> dota.CMsgAdditionalLobbyStartupAccountData.PingWheelMessageRange + 41, // 44: dota.CMsgLocalServerGuildData.event_id:type_name -> dota.EEvent + 9, // 45: dota.CMsgLocalServerFakeLobbyData.event_points:type_name -> dota.CMsgLobbyEventPoints + 29, // 46: dota.CMsgLocalServerFakeLobbyData.guild_info:type_name -> dota.CMsgLocalServerGuildData + 26, // 47: dota.CMsgLocalServerFakeLobbyData.additional_data:type_name -> dota.CMsgAdditionalLobbyStartupAccountData + 7, // 48: dota.CMsgLobbyEventPoints.AccountPoints.event_game_custom_actions:type_name -> dota.CMsgEventActionData + 7, // 49: dota.CMsgLobbyEventPoints.AccountPoints.networked_event_actions:type_name -> dota.CMsgEventActionData + 8, // 50: dota.CMsgLobbyEventPoints.AccountPoints.periodic_resources:type_name -> dota.CMsgPeriodicResourceData + 49, // 51: dota.CMsgLobbyEventPoints.AccountPoints.extra_event_messages:type_name -> dota.CExtraMsgBlock + 52, // [52:52] is the sub-list for method output_type + 52, // [52:52] is the sub-list for method input_type + 52, // [52:52] is the sub-list for extension type_name + 52, // [52:52] is the sub-list for extension extendee + 0, // [0:52] is the sub-list for field type_name } func init() { file_dota_gcmessages_common_lobby_proto_init() } diff --git a/dota/dota_gcmessages_common_lobby.proto b/dota/dota_gcmessages_common_lobby.proto index a8c89134..a04d073e 100644 --- a/dota/dota_gcmessages_common_lobby.proto +++ b/dota/dota_gcmessages_common_lobby.proto @@ -99,55 +99,48 @@ message CSODOTALobbyMember { optional fixed64 id = 1; optional int32 hero_id = 2; optional DOTA_GC_TEAM team = 3; - optional string name = 6; optional uint32 slot = 7; - optional uint64 party_id = 12; - optional uint32 meta_level = 13; - optional uint32 meta_xp = 14; - optional uint32 meta_xp_awarded = 15; optional DOTALeaverStatus_t leaver_status = 16; optional uint32 leaver_actions = 28; - optional uint32 channel = 17; - repeated int32 disabled_hero_id = 20; - repeated int32 enabled_hero_id = 22; optional DOTA_GC_TEAM coach_team = 23; - repeated uint32 coached_account_ids = 53; - optional uint32 coach_rating = 42; - optional uint32 pwrd_cyber_cafe_id = 24; - optional string pwrd_cyber_cafe_name = 25; - repeated fixed32 disabled_random_hero_bits = 41; - optional sint32 rank_change = 29; - optional bool cameraman = 30; repeated uint32 custom_game_product_ids = 31; - optional MatchType search_match_type = 33; - optional uint64 favorite_team_packed = 35; - optional bool is_plus_subscriber = 36; - optional uint32 lane_selection_flags = 38; - optional bool can_earn_rewards = 39; optional DOTA_GC_TEAM live_spectator_team = 40; - optional bool was_mvp_last_game = 43; repeated CMsgPendingEventAward pending_awards = 44; repeated CMsgPendingEventAward pending_awards_on_victory = 45; - optional EDOTAMMRBoostType rank_mmr_boost_type = 46; - optional sint32 queue_point_adjustment = 47; - optional int32 rank_tier = 48; - optional uint32 title = 50; - optional uint32 guild_id = 51; optional uint32 reports_available = 52; - optional bool is_steam_china = 54; optional uint32 live_spectator_account_id = 55; optional uint32 comms_reports_available = 56; - repeated int32 banned_hero_ids = 57; } message CSODOTAServerLobbyMember { } message CSODOTAStaticLobbyMember { + optional string name = 1; + optional uint64 party_id = 2; + optional uint32 channel = 3; + optional bool cameraman = 4; } message CSODOTAServerStaticLobbyMember { optional fixed64 steam_id = 1; + optional int32 rank_tier = 3; + optional int32 leaderboard_rank = 4; + optional int32 lane_selection_flags = 5; + optional EDOTAMMRBoostType rank_mmr_boost_type = 6; + optional int32 coach_rating = 7; + repeated uint32 coached_account_ids = 8; + optional bool was_mvp_last_game = 9; + optional bool can_earn_rewards = 10; + optional bool is_plus_subscriber = 11; + optional uint64 favorite_team_packed = 12; + optional bool is_steam_china = 13; + optional uint32 title = 14; + optional uint32 guild_id = 15; + repeated fixed32 disabled_random_hero_bits = 16; + repeated int32 disabled_hero_id = 17; + repeated int32 enabled_hero_id = 18; + repeated int32 banned_hero_ids = 19; } message CLobbyTeamDetails { @@ -258,10 +251,8 @@ message CSODOTALobby { optional CSODOTALobby.LobbyType lobby_type = 12; optional bool allow_cheats = 13; optional bool fill_with_bots = 14; - optional bool intro_mode = 15; optional string game_name = 16; repeated CLobbyTeamDetails team_details = 17; - optional uint32 tutorial_lesson = 18; optional uint32 tournament_id = 19; optional uint32 tournament_game_id = 20; optional uint32 server_region = 21; @@ -272,17 +263,13 @@ message CSODOTALobby { optional uint64 match_id = 30; optional bool allow_spectating = 31; optional DOTABotDifficulty bot_difficulty_radiant = 36; - repeated CLobbyTimedRewardDetails timed_reward_details = 38; optional string pass_key = 39; optional uint32 leagueid = 42; optional uint32 penalty_level_radiant = 43; optional uint32 penalty_level_dire = 44; - optional uint32 load_game_id = 45; optional uint32 series_type = 46; optional uint32 radiant_series_wins = 47; optional uint32 dire_series_wins = 48; - optional uint32 loot_generated = 49; - optional uint32 loot_awarded = 50; optional bool allchat = 51; optional LobbyDotaTVDelay dota_tv_delay = 53; optional string custom_game_mode = 54; @@ -294,7 +281,6 @@ message CSODOTALobby { optional uint32 series_id = 60; optional bool low_priority = 61; repeated CSODOTALobby.CExtraMsg extra_messages = 62; - optional CDOTASaveGame save_game = 63; optional bool first_blood_happened = 65; optional EMatchOutcome match_outcome = 70; optional bool mass_disconnect = 67; @@ -333,19 +319,19 @@ message CSODOTALobby { optional bool experimental_gameplay_enabled = 116; repeated CLobbyGuildChallenge guild_challenges = 117; repeated CLobbyGuildDetails guild_details = 118; - repeated CMsgLobbyEventPoints lobby_event_points = 119; repeated int32 requested_hero_ids = 124; repeated CMsgLobbyCoachFriendRequest coach_friend_requests = 125; optional bool is_in_steam_china = 126; optional bool with_scenario_save = 127; optional uint32 lobby_creation_time = 128; optional string event_game_definition = 129; - repeated CSODOTALobby.CExtraMsg extra_startup_messages = 130; optional CDOTALobbyMatchQualityData match_quality_data = 131; + repeated int32 requested_hero_teams = 132; } message CSODOTAServerLobby { repeated CSODOTAServerLobbyMember all_members = 1; + repeated CSODOTALobby.CExtraMsg extra_startup_messages = 2; } message CSODOTAStaticLobby { @@ -357,6 +343,7 @@ message CSODOTAStaticLobby { message CSODOTAServerStaticLobby { repeated CSODOTAServerStaticLobbyMember all_members = 1; optional float post_patch_strategy_time_buffer = 2; + repeated CMsgLobbyEventPoints lobby_event_points = 3; } message CMsgAdditionalLobbyStartupAccountData { diff --git a/dota/dota_gcmessages_common_match_management.pb.go b/dota/dota_gcmessages_common_match_management.pb.go index 829cabc1..c629452c 100644 --- a/dota/dota_gcmessages_common_match_management.pb.go +++ b/dota/dota_gcmessages_common_match_management.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_common_match_management.proto package dota @@ -815,6 +815,15 @@ const ( CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Muerta_PierceTheVeilKills CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 276 CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Muerta_MultiHeroDeadShot CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 277 CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Muerta_DeadShotsIntoTheCalling CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 278 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Ringmaster_LongRangeDaggerHits CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 279 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Ringmaster_MultiHeroWhips CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 280 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Ringmaster_MultiHeroMesmerizes CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 281 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Kez_ParryCounterAttacks CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 282 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Kez_RavensVeilKills CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 283 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Kez_RaptorDanceHealing CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 284 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Kez_KillsDuringFalconRush CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 285 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Seasonal_PartyHatsStolen CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 286 + CMvpData_MvpDatum_MvpAccolade_kKillEaterEventType_Seasonal_TallestHat CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType = 287 ) // Enum value maps for CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType. @@ -1092,6 +1101,15 @@ var ( 276: "kKillEaterEventType_Muerta_PierceTheVeilKills", 277: "kKillEaterEventType_Muerta_MultiHeroDeadShot", 278: "kKillEaterEventType_Muerta_DeadShotsIntoTheCalling", + 279: "kKillEaterEventType_Ringmaster_LongRangeDaggerHits", + 280: "kKillEaterEventType_Ringmaster_MultiHeroWhips", + 281: "kKillEaterEventType_Ringmaster_MultiHeroMesmerizes", + 282: "kKillEaterEventType_Kez_ParryCounterAttacks", + 283: "kKillEaterEventType_Kez_RavensVeilKills", + 284: "kKillEaterEventType_Kez_RaptorDanceHealing", + 285: "kKillEaterEventType_Kez_KillsDuringFalconRush", + 286: "kKillEaterEventType_Seasonal_PartyHatsStolen", + 287: "kKillEaterEventType_Seasonal_TallestHat", } CMvpData_MvpDatum_MvpAccolade_MvpAccoladeType_value = map[string]int32{ "kills": 1, @@ -1366,6 +1384,15 @@ var ( "kKillEaterEventType_Muerta_PierceTheVeilKills": 276, "kKillEaterEventType_Muerta_MultiHeroDeadShot": 277, "kKillEaterEventType_Muerta_DeadShotsIntoTheCalling": 278, + "kKillEaterEventType_Ringmaster_LongRangeDaggerHits": 279, + "kKillEaterEventType_Ringmaster_MultiHeroWhips": 280, + "kKillEaterEventType_Ringmaster_MultiHeroMesmerizes": 281, + "kKillEaterEventType_Kez_ParryCounterAttacks": 282, + "kKillEaterEventType_Kez_RavensVeilKills": 283, + "kKillEaterEventType_Kez_RaptorDanceHealing": 284, + "kKillEaterEventType_Kez_KillsDuringFalconRush": 285, + "kKillEaterEventType_Seasonal_PartyHatsStolen": 286, + "kKillEaterEventType_Seasonal_TallestHat": 287, } ) @@ -2552,7 +2579,8 @@ type CMvpData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Mvps []*CMvpData_MvpDatum `protobuf:"bytes,1,rep,name=mvps" json:"mvps,omitempty"` + Mvps []*CMvpData_MvpDatum `protobuf:"bytes,1,rep,name=mvps" json:"mvps,omitempty"` + EventMvps []*CMvpData_MvpDatum `protobuf:"bytes,2,rep,name=event_mvps,json=eventMvps" json:"event_mvps,omitempty"` } func (x *CMvpData) Reset() { @@ -2594,6 +2622,13 @@ func (x *CMvpData) GetMvps() []*CMvpData_MvpDatum { return nil } +func (x *CMvpData) GetEventMvps() []*CMvpData_MvpDatum { + if x != nil { + return x.EventMvps + } + return nil +} + type CSODOTAPartyInvite_PartyMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3153,964 +3188,996 @@ var file_dota_gcmessages_common_match_management_proto_rawDesc = []byte{ 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x15, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x9f, 0x6b, 0x0a, 0x08, 0x43, 0x4d, + 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xa3, 0x6f, 0x0a, 0x08, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x04, 0x6d, 0x76, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x52, 0x04, 0x6d, - 0x76, 0x70, 0x73, 0x1a, 0xe5, 0x6a, 0x0a, 0x08, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x75, 0x6d, - 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, - 0x74, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x2e, 0x4d, 0x76, - 0x70, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x6c, - 0x61, 0x64, 0x65, 0x73, 0x1a, 0xf4, 0x69, 0x0a, 0x0b, 0x4d, 0x76, 0x70, 0x41, 0x63, 0x63, 0x6f, - 0x6c, 0x61, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x2e, 0x4d, 0x76, 0x70, 0x41, - 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x2e, 0x4d, 0x76, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x6c, - 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0xf8, 0x68, 0x0a, 0x0f, 0x4d, 0x76, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x01, 0x12, - 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x61, - 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, - 0x77, 0x6f, 0x72, 0x74, 0x68, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x10, 0x07, 0x12, - 0x10, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x10, - 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x64, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x10, 0x09, 0x12, 0x11, - 0x0a, 0x0d, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x10, - 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x10, 0x0b, - 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x4b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x53, 0x70, 0x72, 0x65, 0x65, 0x73, 0x10, 0x0d, - 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x47, 0x6f, 0x64, 0x6c, 0x69, 0x6b, 0x65, 0x10, 0x0e, 0x12, 0x24, 0x0a, - 0x20, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, - 0x64, 0x10, 0x0f, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, - 0x65, 0x72, 0x5f, 0x53, 0x75, 0x6e, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0x10, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x78, 0x65, 0x5f, 0x43, - 0x75, 0x6c, 0x6c, 0x73, 0x10, 0x11, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x78, - 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0x12, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x77, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x13, 0x12, 0x2c, 0x0a, - 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x54, 0x6f, 0x72, - 0x6e, 0x61, 0x64, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x14, 0x12, 0x28, 0x0a, 0x24, 0x6b, + 0x76, 0x70, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x76, 0x70, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x75, 0x6d, + 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x76, 0x70, 0x73, 0x1a, 0xb1, 0x6e, 0x0a, 0x08, + 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x76, 0x70, + 0x44, 0x61, 0x74, 0x75, 0x6d, 0x2e, 0x4d, 0x76, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, + 0x65, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x73, 0x1a, 0xc0, 0x6d, 0x0a, + 0x0b, 0x4d, 0x76, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x76, 0x70, 0x44, 0x61, + 0x74, 0x75, 0x6d, 0x2e, 0x4d, 0x76, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x2e, + 0x4d, 0x76, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc4, 0x6c, 0x0a, 0x0f, 0x4d, 0x76, 0x70, + 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, + 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, + 0x73, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x10, 0x03, + 0x12, 0x0d, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x10, 0x05, 0x12, + 0x0e, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x06, 0x12, + 0x16, 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, + 0x73, 0x70, 0x65, 0x6e, 0x74, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x64, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x5f, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, + 0x65, 0x73, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, + 0x53, 0x70, 0x72, 0x65, 0x65, 0x73, 0x10, 0x0d, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x47, 0x6f, 0x64, 0x6c, + 0x69, 0x6b, 0x65, 0x10, 0x0e, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x5f, + 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x10, 0x0f, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x53, 0x74, - 0x75, 0x6e, 0x73, 0x10, 0x15, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, - 0x6e, 0x5f, 0x57, 0x61, 0x72, 0x63, 0x72, 0x79, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x10, - 0x16, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, 0x43, 0x6c, - 0x65, 0x61, 0x76, 0x65, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x17, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, 0x54, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, - 0x10, 0x18, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x6c, 0x65, - 0x73, 0x73, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x10, 0x19, - 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x6c, 0x65, 0x73, 0x73, - 0x5f, 0x43, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x1a, 0x12, 0x28, - 0x0a, 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x72, 0x73, 0x61, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x53, 0x68, 0x6f, 0x63, 0x6b, 0x73, 0x10, 0x1b, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x1c, 0x12, 0x28, 0x0a, - 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6f, 0x6e, 0x5f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x1d, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, - 0x69, 0x6b, 0x69, 0x5f, 0x53, 0x6d, 0x6f, 0x6b, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0x20, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x65, 0x72, - 0x6f, 0x65, 0x73, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x44, - 0x75, 0x73, 0x74, 0x10, 0x21, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6b, 0x65, - 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x69, 0x6e, 0x63, 0x61, - 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x22, 0x12, 0x2b, - 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6b, 0x79, 0x77, 0x72, 0x61, 0x74, 0x68, 0x5f, 0x46, - 0x6c, 0x61, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x23, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, + 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x53, 0x75, 0x6e, 0x73, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x10, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x73, 0x68, 0x72, 0x61, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, - 0x45, 0x61, 0x72, 0x74, 0x68, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x24, 0x12, 0x2c, 0x0a, 0x28, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x69, 0x72, 0x61, 0x6e, 0x61, 0x5f, 0x4d, 0x61, 0x78, 0x53, 0x74, - 0x75, 0x6e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x10, 0x25, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x4b, - 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, - 0x6e, 0x5f, 0x43, 0x6f, 0x75, 0x70, 0x64, 0x65, 0x47, 0x72, 0x61, 0x63, 0x65, 0x43, 0x72, 0x69, - 0x74, 0x73, 0x10, 0x26, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x61, 0x6e, - 0x74, 0x6f, 0x6d, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x44, 0x61, 0x67, 0x67, - 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x73, 0x10, 0x27, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x4b, 0x69, + 0x70, 0x65, 0x5f, 0x41, 0x78, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x73, 0x10, 0x11, 0x12, 0x2d, + 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x78, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x12, 0x12, 0x26, 0x0a, + 0x22, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x77, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x10, 0x13, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, + 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x54, 0x6f, 0x72, 0x6e, 0x61, 0x64, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0x14, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x15, 0x12, 0x2a, 0x0a, + 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, 0x57, 0x61, 0x72, 0x63, 0x72, 0x79, + 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x10, 0x16, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4d, 0x65, 0x65, 0x70, 0x6f, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x62, 0x69, 0x6e, 0x64, - 0x73, 0x10, 0x28, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x6c, 0x6f, 0x6f, 0x64, - 0x73, 0x65, 0x65, 0x6b, 0x65, 0x72, 0x5f, 0x52, 0x75, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0x29, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6c, 0x61, - 0x72, 0x6b, 0x5f, 0x4c, 0x65, 0x61, 0x73, 0x68, 0x65, 0x64, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, - 0x73, 0x10, 0x2a, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x72, 0x75, - 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x46, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x47, 0x6c, 0x69, - 0x6d, 0x70, 0x73, 0x65, 0x73, 0x10, 0x2b, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, - 0x75, 0x62, 0x69, 0x63, 0x6b, 0x5f, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x73, 0x53, 0x74, 0x6f, 0x6c, - 0x65, 0x6e, 0x10, 0x2c, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x75, 0x62, 0x69, - 0x63, 0x6b, 0x5f, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x6c, - 0x65, 0x6e, 0x10, 0x2d, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x6f, 0x6d, - 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x44, 0x6f, 0x6f, 0x6d, 0x65, 0x64, 0x10, 0x2e, - 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x6d, 0x6e, 0x69, 0x6b, 0x6e, 0x69, 0x67, - 0x68, 0x74, 0x5f, 0x50, 0x75, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x10, 0x2f, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x6d, 0x6e, 0x69, 0x6b, 0x6e, - 0x69, 0x67, 0x68, 0x74, 0x5f, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x65, 0x70, 0x65, 0x6c, - 0x6c, 0x65, 0x64, 0x10, 0x30, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x6d, 0x6e, - 0x69, 0x6b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x70, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x31, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, + 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x17, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x57, 0x61, 0x72, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x46, 0x69, 0x76, 0x65, 0x48, 0x65, 0x72, - 0x6f, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x6e, 0x64, 0x73, 0x10, 0x32, 0x12, 0x38, 0x0a, - 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x69, 0x64, - 0x65, 0x6e, 0x5f, 0x46, 0x72, 0x6f, 0x73, 0x74, 0x62, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x45, 0x6e, - 0x65, 0x6d, 0x69, 0x65, 0x73, 0x10, 0x33, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, - 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x43, 0x72, 0x79, - 0x73, 0x74, 0x61, 0x6c, 0x4e, 0x6f, 0x76, 0x61, 0x73, 0x10, 0x34, 0x12, 0x31, 0x0a, 0x2d, 0x6b, + 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x10, 0x18, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x43, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x10, 0x19, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x46, 0x61, 0x63, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x43, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x1a, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x72, + 0x73, 0x61, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x68, 0x6f, 0x63, 0x6b, 0x73, 0x10, 0x1b, + 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x10, 0x1c, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6f, + 0x6e, 0x5f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x1d, 0x12, + 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6b, 0x69, 0x5f, 0x53, 0x6d, 0x6f, 0x6b, + 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x20, 0x12, 0x2e, 0x0a, + 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x65, 0x76, 0x65, 0x61, + 0x6c, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x44, 0x75, 0x73, 0x74, 0x10, 0x21, 0x12, 0x37, 0x0a, + 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, + 0x67, 0x5f, 0x52, 0x65, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x22, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6b, + 0x79, 0x77, 0x72, 0x61, 0x74, 0x68, 0x5f, 0x46, 0x6c, 0x61, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0x23, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x73, 0x68, 0x72, + 0x61, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x61, 0x72, 0x74, 0x68, 0x53, 0x74, 0x75, + 0x6e, 0x73, 0x10, 0x24, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x69, 0x72, 0x61, + 0x6e, 0x61, 0x5f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x75, 0x6e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x73, + 0x10, 0x25, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, + 0x6d, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x43, 0x6f, 0x75, 0x70, 0x64, 0x65, + 0x47, 0x72, 0x61, 0x63, 0x65, 0x43, 0x72, 0x69, 0x74, 0x73, 0x10, 0x26, 0x12, 0x33, 0x0a, 0x2f, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x41, 0x73, 0x73, 0x61, 0x73, + 0x73, 0x69, 0x6e, 0x5f, 0x44, 0x61, 0x67, 0x67, 0x65, 0x72, 0x43, 0x72, 0x69, 0x74, 0x73, 0x10, + 0x27, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x65, 0x70, 0x6f, 0x5f, 0x45, + 0x61, 0x72, 0x74, 0x68, 0x62, 0x69, 0x6e, 0x64, 0x73, 0x10, 0x28, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x4b, 0x75, 0x6e, 0x6b, 0x6b, 0x61, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x48, 0x65, 0x72, 0x6f, 0x54, 0x6f, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x35, 0x12, 0x33, - 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x75, 0x6e, 0x6b, 0x6b, 0x61, 0x5f, 0x54, 0x72, 0x69, - 0x70, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x68, 0x69, 0x70, - 0x73, 0x10, 0x36, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x61, 0x67, 0x61, 0x53, - 0x69, 0x72, 0x65, 0x6e, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x73, 0x6e, - 0x61, 0x72, 0x65, 0x64, 0x10, 0x37, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x61, - 0x67, 0x61, 0x53, 0x69, 0x72, 0x65, 0x6e, 0x5f, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x69, 0x70, 0x54, 0x69, 0x64, 0x65, 0x73, 0x10, 0x38, 0x12, 0x33, 0x0a, 0x2f, + 0x70, 0x65, 0x5f, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x73, 0x65, 0x65, 0x6b, 0x65, 0x72, 0x5f, 0x52, + 0x75, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x29, 0x12, 0x2c, 0x0a, + 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6c, 0x61, 0x72, 0x6b, 0x5f, 0x4c, 0x65, 0x61, 0x73, 0x68, + 0x65, 0x64, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x10, 0x2a, 0x12, 0x32, 0x0a, 0x2e, 0x6b, + 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x46, 0x6f, 0x75, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x47, 0x6c, 0x69, 0x6d, 0x70, 0x73, 0x65, 0x73, 0x10, 0x2b, 0x12, + 0x2b, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x75, 0x62, 0x69, 0x63, 0x6b, 0x5f, 0x53, 0x70, + 0x65, 0x6c, 0x6c, 0x73, 0x53, 0x74, 0x6f, 0x6c, 0x65, 0x6e, 0x10, 0x2c, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x79, 0x63, 0x61, 0x6e, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, - 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x70, 0x65, 0x73, 0x68, 0x69, 0x66, 0x74, 0x10, - 0x39, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x44, - 0x69, 0x73, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x3a, 0x12, - 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x45, 0x6e, 0x65, - 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x48, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x10, 0x3b, - 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x48, 0x6f, - 0x6f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x3c, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x50, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x65, - 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x48, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x10, 0x3d, - 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x72, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, - 0x65, 0x64, 0x10, 0x3e, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, - 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x10, 0x3f, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, + 0x79, 0x70, 0x65, 0x5f, 0x52, 0x75, 0x62, 0x69, 0x63, 0x6b, 0x5f, 0x55, 0x6c, 0x74, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x6c, 0x65, 0x6e, 0x10, 0x2d, 0x12, 0x2a, 0x0a, 0x26, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x6f, 0x6d, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, + 0x44, 0x6f, 0x6f, 0x6d, 0x65, 0x64, 0x10, 0x2e, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x4f, 0x6d, 0x6e, 0x69, 0x6b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x50, 0x75, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x2f, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x53, 0x69, 0x6c, - 0x65, 0x6e, 0x63, 0x65, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x40, 0x12, 0x32, 0x0a, 0x2e, + 0x65, 0x5f, 0x4f, 0x6d, 0x6e, 0x69, 0x6b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x41, 0x6c, 0x6c, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x70, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x30, 0x12, 0x32, 0x0a, + 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x6d, 0x6e, 0x69, 0x6b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, + 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x52, 0x65, 0x70, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x10, + 0x31, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x61, 0x72, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x46, 0x69, 0x76, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x42, 0x6f, + 0x6e, 0x64, 0x73, 0x10, 0x32, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x72, 0x79, + 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x46, 0x72, 0x6f, 0x73, 0x74, + 0x62, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x10, 0x33, 0x12, + 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, + 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4e, 0x6f, 0x76, 0x61, + 0x73, 0x10, 0x34, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x75, 0x6e, 0x6b, 0x6b, + 0x61, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x6f, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x73, 0x10, 0x35, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x75, + 0x6e, 0x6b, 0x6b, 0x61, 0x5f, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x47, + 0x68, 0x6f, 0x73, 0x74, 0x53, 0x68, 0x69, 0x70, 0x73, 0x10, 0x36, 0x12, 0x31, 0x0a, 0x2d, 0x6b, + 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x4e, 0x61, 0x67, 0x61, 0x53, 0x69, 0x72, 0x65, 0x6e, 0x5f, 0x45, 0x6e, 0x65, + 0x6d, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x73, 0x6e, 0x61, 0x72, 0x65, 0x64, 0x10, 0x37, 0x12, 0x34, + 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x61, 0x67, 0x61, 0x53, 0x69, 0x72, 0x65, 0x6e, 0x5f, + 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x69, 0x70, 0x54, 0x69, 0x64, + 0x65, 0x73, 0x10, 0x38, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x79, 0x63, 0x61, + 0x6e, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, + 0x70, 0x65, 0x73, 0x68, 0x69, 0x66, 0x74, 0x10, 0x39, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x50, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x3a, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, + 0x75, 0x64, 0x67, 0x65, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, + 0x48, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x10, 0x3b, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x50, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x48, 0x6f, 0x6f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0x3c, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x55, + 0x6e, 0x73, 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, + 0x48, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x10, 0x3d, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, + 0x65, 0x73, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x10, 0x3e, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x46, - 0x72, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x41, - 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x10, 0x3f, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0x40, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x46, 0x72, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x72, 0x6f, + 0x77, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x41, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x4b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x49, 0x6e, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x10, 0x42, + 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x4b, 0x6e, - 0x69, 0x67, 0x68, 0x74, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x49, 0x6e, 0x44, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x10, 0x42, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x5f, 0x42, 0x72, 0x65, 0x61, 0x74, 0x68, 0x65, 0x46, 0x69, 0x72, 0x65, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x43, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x4b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x53, 0x70, 0x6c, 0x61, + 0x73, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x44, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x43, 0x61, 0x73, + 0x6b, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x45, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x4b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x42, 0x72, 0x65, - 0x61, 0x74, 0x68, 0x65, 0x46, 0x69, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x43, 0x12, - 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x4b, 0x6e, 0x69, - 0x67, 0x68, 0x74, 0x5f, 0x53, 0x70, 0x6c, 0x61, 0x73, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x44, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, - 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x43, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x45, - 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, - 0x74, 0x6f, 0x72, 0x5f, 0x4d, 0x61, 0x6c, 0x65, 0x64, 0x69, 0x63, 0x74, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0x46, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, - 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, - 0x4d, 0x61, 0x6c, 0x65, 0x64, 0x69, 0x63, 0x74, 0x73, 0x10, 0x47, 0x12, 0x32, 0x0a, 0x2e, 0x6b, - 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x44, - 0x65, 0x61, 0x74, 0x68, 0x57, 0x61, 0x72, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x48, 0x12, - 0x34, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x6f, 0x72, - 0x5f, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0x49, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x69, 0x73, - 0x72, 0x75, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x47, 0x6c, 0x69, - 0x6d, 0x70, 0x73, 0x65, 0x64, 0x10, 0x4a, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, - 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x46, 0x72, 0x65, - 0x65, 0x7a, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x4b, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x64, 0x75, 0x73, 0x61, 0x5f, - 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x50, 0x65, 0x74, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x10, 0x4d, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x61, 0x72, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x6e, 0x64, 0x73, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0x4e, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x61, 0x72, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x47, 0x6f, 0x6c, 0x65, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x4f, 0x12, - 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x75, 0x73, 0x6b, 0x5f, 0x57, 0x61, 0x6c, 0x72, - 0x75, 0x73, 0x50, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x10, 0x50, 0x12, 0x2a, 0x0a, 0x26, 0x6b, + 0x57, 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x4d, 0x61, 0x6c, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x46, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x54, 0x75, 0x73, 0x6b, 0x5f, 0x53, 0x6e, 0x6f, 0x77, 0x62, 0x61, 0x6c, 0x6c, - 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x51, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, - 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x46, 0x69, 0x73, 0x73, 0x75, - 0x72, 0x65, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x52, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, + 0x70, 0x65, 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x6c, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x73, 0x10, 0x47, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, + 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x57, 0x61, 0x72, 0x64, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x48, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, + 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x49, 0x12, 0x30, 0x0a, + 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x48, + 0x65, 0x72, 0x6f, 0x65, 0x73, 0x47, 0x6c, 0x69, 0x6d, 0x70, 0x73, 0x65, 0x64, 0x10, 0x4a, 0x12, + 0x38, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, + 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x4b, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x33, 0x48, 0x65, - 0x72, 0x6f, 0x45, 0x63, 0x68, 0x6f, 0x73, 0x6c, 0x61, 0x6d, 0x73, 0x10, 0x53, 0x12, 0x32, 0x0a, - 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x61, 0x6e, 0x64, 0x4b, 0x69, 0x6e, 0x67, 0x5f, 0x42, 0x75, - 0x72, 0x72, 0x6f, 0x77, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, - 0x54, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x61, 0x6e, 0x64, 0x4b, 0x69, 0x6e, - 0x67, 0x5f, 0x45, 0x70, 0x69, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x10, 0x55, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6b, 0x79, 0x77, 0x72, 0x61, - 0x74, 0x68, 0x4d, 0x61, 0x67, 0x65, 0x5f, 0x41, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, - 0x61, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x56, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x4b, 0x69, + 0x5f, 0x4d, 0x65, 0x64, 0x75, 0x73, 0x61, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x50, + 0x65, 0x74, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x4d, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x57, 0x61, 0x72, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x42, + 0x6f, 0x6e, 0x64, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x4e, 0x12, 0x2a, 0x0a, 0x26, 0x6b, + 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x57, 0x61, 0x72, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x47, 0x6f, 0x6c, 0x65, 0x6d, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x4f, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, + 0x75, 0x73, 0x6b, 0x5f, 0x57, 0x61, 0x6c, 0x72, 0x75, 0x73, 0x50, 0x75, 0x6e, 0x63, 0x68, 0x65, + 0x73, 0x10, 0x50, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x75, 0x73, 0x6b, 0x5f, + 0x53, 0x6e, 0x6f, 0x77, 0x62, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x51, 0x12, + 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, + 0x65, 0x72, 0x5f, 0x46, 0x69, 0x73, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, + 0x52, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, + 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x33, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x63, 0x68, 0x6f, 0x73, 0x6c, + 0x61, 0x6d, 0x73, 0x10, 0x53, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x61, 0x6e, + 0x64, 0x4b, 0x69, 0x6e, 0x67, 0x5f, 0x42, 0x75, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x54, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x53, 0x6b, 0x79, 0x77, 0x72, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x67, 0x65, 0x5f, 0x43, 0x6f, - 0x6e, 0x63, 0x75, 0x73, 0x73, 0x69, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x74, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0x57, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x75, 0x6e, 0x61, 0x5f, - 0x4c, 0x75, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x65, 0x61, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x58, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x75, 0x6e, 0x61, 0x5f, 0x45, 0x63, - 0x6c, 0x69, 0x70, 0x73, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x59, 0x12, 0x38, 0x0a, 0x34, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x4f, 0x66, 0x54, 0x68, 0x65, 0x4c, - 0x69, 0x67, 0x68, 0x74, 0x5f, 0x49, 0x6c, 0x6c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x5a, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x65, - 0x65, 0x70, 0x65, 0x72, 0x4f, 0x66, 0x54, 0x68, 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x4d, - 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x61, 0x6b, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x5b, 0x12, 0x3a, - 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x4f, 0x66, 0x54, 0x68, - 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x5c, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, + 0x5f, 0x53, 0x61, 0x6e, 0x64, 0x4b, 0x69, 0x6e, 0x67, 0x5f, 0x45, 0x70, 0x69, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x55, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x4c, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, - 0x72, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x73, 0x57, 0x6f, 0x6e, 0x10, 0x5d, 0x12, 0x2d, 0x0a, 0x29, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x52, 0x6f, 0x61, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x5e, 0x12, 0x32, 0x0a, 0x2e, 0x6b, + 0x65, 0x5f, 0x53, 0x6b, 0x79, 0x77, 0x72, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x67, 0x65, 0x5f, 0x41, + 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0x56, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6b, 0x79, 0x77, 0x72, 0x61, 0x74, + 0x68, 0x4d, 0x61, 0x67, 0x65, 0x5f, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x73, 0x73, 0x69, 0x76, 0x65, + 0x53, 0x68, 0x6f, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x57, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x52, - 0x6f, 0x61, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x5f, 0x12, - 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x6e, 0x64, 0x72, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x5f, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x46, 0x69, 0x72, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x10, 0x60, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, - 0x6e, 0x64, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, - 0x6f, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x61, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, + 0x70, 0x65, 0x5f, 0x4c, 0x75, 0x6e, 0x61, 0x5f, 0x4c, 0x75, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x65, + 0x61, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x58, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, - 0x5f, 0x44, 0x61, 0x67, 0x67, 0x65, 0x72, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x10, - 0x62, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x5f, 0x4c, 0x75, 0x6e, 0x61, 0x5f, 0x45, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0x59, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x65, 0x65, 0x70, + 0x65, 0x72, 0x4f, 0x66, 0x54, 0x68, 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x49, 0x6c, 0x6c, + 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x5a, 0x12, 0x36, + 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x4f, 0x66, 0x54, 0x68, + 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x4d, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x61, 0x6b, 0x53, + 0x74, 0x75, 0x6e, 0x73, 0x10, 0x5b, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x65, + 0x65, 0x70, 0x65, 0x72, 0x4f, 0x66, 0x54, 0x68, 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x54, + 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x10, 0x5c, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x73, 0x57, + 0x6f, 0x6e, 0x10, 0x5d, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x61, 0x73, + 0x74, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x52, 0x6f, 0x61, 0x72, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0x5e, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x52, 0x6f, 0x61, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x5f, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, + 0x69, 0x6e, 0x64, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x46, + 0x69, 0x72, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x10, 0x60, 0x12, 0x31, + 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x6e, 0x64, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, + 0x5f, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0x61, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, 0x6d, - 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, 0x6d, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x63, 0x12, 0x34, 0x0a, - 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, - 0x74, 0x5f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0x64, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, - 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x74, 0x5f, 0x45, 0x78, 0x6f, 0x72, 0x63, 0x69, 0x73, 0x6d, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x65, 0x12, - 0x3c, 0x0a, 0x38, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, - 0x68, 0x65, 0x74, 0x5f, 0x45, 0x78, 0x6f, 0x72, 0x63, 0x69, 0x73, 0x6d, 0x53, 0x70, 0x69, 0x72, - 0x69, 0x74, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x65, 0x64, 0x10, 0x66, 0x12, 0x36, 0x0a, - 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, - 0x74, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x69, 0x6c, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x10, 0x67, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x62, 0x61, - 0x64, 0x64, 0x6f, 0x6e, 0x5f, 0x4d, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6c, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x10, 0x68, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x62, 0x61, 0x64, - 0x64, 0x6f, 0x6e, 0x5f, 0x4d, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6c, 0x48, 0x65, 0x61, 0x6c, - 0x65, 0x64, 0x10, 0x69, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x62, 0x61, 0x64, - 0x64, 0x6f, 0x6e, 0x5f, 0x41, 0x70, 0x68, 0x6f, 0x74, 0x69, 0x63, 0x53, 0x68, 0x69, 0x65, 0x6c, - 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6a, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x4c, 0x69, 0x63, 0x68, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x73, 0x74, 0x54, - 0x72, 0x69, 0x70, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6b, 0x12, 0x31, 0x0a, 0x2d, + 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x44, 0x61, 0x67, 0x67, 0x65, 0x72, 0x4c, + 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x10, 0x62, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, + 0x5f, 0x50, 0x68, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x10, 0x63, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, + 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x74, 0x5f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x53, + 0x77, 0x61, 0x72, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x64, 0x12, 0x3a, 0x0a, 0x36, 0x6b, + 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x74, 0x5f, + 0x45, 0x78, 0x6f, 0x72, 0x63, 0x69, 0x73, 0x6d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x65, 0x12, 0x3c, 0x0a, 0x38, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, + 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x74, 0x5f, 0x45, 0x78, 0x6f, 0x72, + 0x63, 0x69, 0x73, 0x6d, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x6f, + 0x6e, 0x65, 0x64, 0x10, 0x66, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, + 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x74, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, + 0x65, 0x72, 0x6f, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x10, 0x67, 0x12, 0x2d, 0x0a, + 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x62, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x5f, 0x4d, 0x69, 0x73, + 0x74, 0x43, 0x6f, 0x69, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x68, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x63, 0x68, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, - 0x6f, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6c, 0x12, - 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x63, 0x68, 0x5f, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x46, 0x72, 0x6f, 0x73, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x73, 0x10, 0x6d, 0x12, - 0x29, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x72, 0x73, 0x61, 0x5f, 0x45, 0x6e, 0x72, 0x61, - 0x67, 0x65, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, - 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x55, 0x72, 0x73, 0x61, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x6f, 0x63, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6f, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x4c, 0x69, 0x6e, 0x61, 0x5f, 0x4c, 0x61, 0x67, 0x75, 0x6e, 0x61, 0x42, 0x6c, 0x61, 0x64, 0x65, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x70, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x79, 0x70, 0x65, 0x5f, 0x41, 0x62, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x5f, 0x4d, 0x69, 0x73, 0x74, + 0x43, 0x6f, 0x69, 0x6c, 0x48, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x10, 0x69, 0x12, 0x32, 0x0a, 0x2e, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x41, 0x62, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x5f, 0x41, 0x70, 0x68, 0x6f, + 0x74, 0x69, 0x63, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6a, + 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x63, 0x68, 0x5f, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x73, 0x74, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0x6b, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x63, 0x68, + 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6c, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, - 0x69, 0x6e, 0x61, 0x5f, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x71, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, - 0x6e, 0x61, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x72, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x4b, - 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x61, - 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, - 0x10, 0x73, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x41, 0x73, 0x73, - 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x4d, 0x65, 0x6c, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x74, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x41, 0x73, 0x73, 0x61, - 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x53, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x10, 0x75, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x6e, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x41, 0x73, - 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x10, 0x76, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x6e, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x48, 0x65, 0x61, - 0x64, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x77, 0x12, 0x2a, 0x0a, 0x26, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x45, 0x61, 0x72, 0x74, 0x68, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x53, 0x6d, 0x61, 0x73, - 0x68, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x78, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x61, 0x72, 0x74, - 0x68, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x47, 0x72, 0x69, 0x70, 0x53, 0x69, 0x6c, 0x65, - 0x6e, 0x63, 0x65, 0x73, 0x10, 0x79, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x53, 0x68, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x53, 0x68, 0x61, 0x63, 0x6b, 0x6c, 0x65, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0x7a, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x53, - 0x68, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x48, 0x65, 0x78, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x7b, - 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x65, 0x6e, 0x74, 0x61, 0x75, 0x72, 0x5f, 0x45, 0x6e, 0x65, 0x6d, - 0x69, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x6d, 0x70, 0x65, 0x64, 0x10, 0x7c, 0x12, 0x2b, 0x0a, 0x27, + 0x69, 0x63, 0x68, 0x5f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x73, 0x74, 0x42, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x73, 0x10, 0x6d, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, + 0x72, 0x73, 0x61, 0x5f, 0x45, 0x6e, 0x72, 0x61, 0x67, 0x65, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, + 0x10, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x72, 0x73, 0x61, 0x5f, 0x45, + 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x6f, 0x63, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x6f, + 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6e, 0x61, 0x5f, 0x4c, 0x61, 0x67, + 0x75, 0x6e, 0x61, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x70, 0x12, + 0x2d, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6e, 0x61, 0x5f, 0x44, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x53, 0x6c, 0x61, 0x76, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x71, 0x12, 0x32, + 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6e, 0x61, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x53, 0x74, 0x75, 0x6e, 0x73, + 0x10, 0x72, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x44, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x10, 0x73, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x4d, 0x65, + 0x6c, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x74, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x72, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x48, 0x65, 0x72, + 0x6f, 0x65, 0x73, 0x53, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x75, 0x12, 0x2d, 0x0a, 0x29, 0x6b, + 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, + 0x6e, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x76, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x6e, + 0x69, 0x70, 0x65, 0x72, 0x5f, 0x48, 0x65, 0x61, 0x64, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x74, 0x75, + 0x6e, 0x73, 0x10, 0x77, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x53, 0x70, 0x69, + 0x72, 0x69, 0x74, 0x5f, 0x53, 0x6d, 0x61, 0x73, 0x68, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x78, + 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, + 0x47, 0x72, 0x69, 0x70, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x10, 0x79, 0x12, 0x2d, + 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x53, 0x68, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x53, + 0x68, 0x61, 0x63, 0x6b, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x7a, 0x12, 0x29, 0x0a, + 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x53, 0x68, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x48, 0x65, + 0x78, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x7b, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x65, 0x6e, 0x74, + 0x61, 0x75, 0x72, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x6d, 0x70, + 0x65, 0x64, 0x10, 0x7c, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x65, 0x6e, 0x74, 0x61, 0x75, 0x72, 0x5f, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x64, 0x67, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0x7d, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x65, 0x6e, 0x74, 0x61, 0x75, 0x72, 0x5f, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x7e, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6d, + 0x62, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, + 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x7f, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6d, + 0x62, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x53, 0x6c, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x4f, 0x66, 0x46, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0x80, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x50, 0x75, 0x63, 0x6b, 0x5f, 0x4f, 0x72, 0x62, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x81, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x56, 0x65, 0x6e, 0x67, + 0x65, 0x66, 0x75, 0x6c, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, + 0x65, 0x73, 0x53, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x82, 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x43, 0x65, 0x6e, 0x74, 0x61, 0x75, 0x72, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x64, - 0x67, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x7d, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x65, 0x6e, - 0x74, 0x61, 0x75, 0x72, 0x5f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x10, 0x7e, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, - 0x74, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x65, 0x64, - 0x10, 0x7f, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, - 0x74, 0x5f, 0x53, 0x6c, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x66, 0x46, 0x69, 0x73, 0x74, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x80, 0x01, 0x12, 0x22, 0x0a, 0x1d, + 0x4c, 0x69, 0x66, 0x65, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x52, 0x61, 0x67, 0x65, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x83, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4c, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x4f, 0x70, 0x65, 0x6e, 0x57, 0x6f, 0x75, 0x6e, + 0x64, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x84, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4c, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x73, 0x74, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x85, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6c, 0x64, 0x65, + 0x72, 0x54, 0x69, 0x74, 0x61, 0x6e, 0x5f, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0x86, 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x69, + 0x74, 0x61, 0x6e, 0x5f, 0x47, 0x6f, 0x6f, 0x64, 0x53, 0x74, 0x6f, 0x6d, 0x70, 0x73, 0x10, 0x87, + 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x65, 0x72, 0x6b, 0x5f, 0x52, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x88, 0x01, 0x12, 0x2f, 0x0a, + 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x65, 0x72, 0x6b, 0x5f, 0x42, 0x6c, 0x69, 0x6e, 0x64, + 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x89, 0x01, 0x12, 0x2a, + 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x42, 0x61, + 0x6c, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8a, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x74, + 0x6f, 0x72, 0x6d, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x6d, 0x6e, 0x61, 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8b, 0x01, 0x12, + 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x56, + 0x6f, 0x72, 0x74, 0x65, 0x78, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8c, 0x01, 0x12, 0x2e, 0x0a, + 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x54, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x69, + 0x73, 0x73, 0x69, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8d, 0x01, 0x12, 0x26, 0x0a, + 0x21, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x54, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x5f, 0x4c, 0x61, 0x73, 0x65, 0x72, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0x8e, 0x01, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x63, 0x68, 0x69, 0x65, 0x73, + 0x5f, 0x53, 0x75, 0x69, 0x63, 0x69, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8f, 0x01, + 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x63, 0x68, 0x69, 0x65, 0x73, 0x5f, 0x4c, 0x61, 0x6e, 0x64, + 0x4d, 0x69, 0x6e, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x90, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x50, 0x75, 0x63, 0x6b, 0x5f, 0x4f, 0x72, 0x62, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x81, 0x01, - 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x56, 0x65, 0x6e, 0x67, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x70, 0x69, 0x72, - 0x69, 0x74, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x53, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x64, 0x10, 0x82, 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4c, 0x69, 0x66, 0x65, 0x73, 0x74, 0x65, 0x61, - 0x6c, 0x65, 0x72, 0x5f, 0x52, 0x61, 0x67, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x83, 0x01, - 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x4c, 0x69, 0x66, 0x65, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x5f, - 0x4f, 0x70, 0x65, 0x6e, 0x57, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x84, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4c, 0x69, 0x66, 0x65, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x65, - 0x72, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x85, 0x01, - 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x45, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x69, 0x74, 0x61, 0x6e, 0x5f, 0x53, - 0x70, 0x69, 0x72, 0x69, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x86, 0x01, 0x12, 0x2a, 0x0a, - 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x45, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x69, 0x74, 0x61, 0x6e, 0x5f, 0x47, 0x6f, 0x6f, 0x64, - 0x53, 0x74, 0x6f, 0x6d, 0x70, 0x73, 0x10, 0x87, 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x6c, 0x6f, - 0x63, 0x6b, 0x77, 0x65, 0x72, 0x6b, 0x5f, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x10, 0x88, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x65, - 0x72, 0x6b, 0x5f, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0x89, 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x53, - 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x42, 0x61, 0x6c, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x8a, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x53, 0x70, 0x69, 0x72, 0x69, - 0x74, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x6d, 0x6e, 0x61, 0x6e, 0x74, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8b, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x74, 0x6f, 0x72, 0x6d, - 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x56, 0x6f, 0x72, 0x74, 0x65, 0x78, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x10, 0x8c, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x5f, - 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6c, 0x65, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x10, 0x8d, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x5f, - 0x4c, 0x61, 0x73, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8e, 0x01, 0x12, 0x29, 0x0a, - 0x24, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x54, 0x65, 0x63, 0x68, 0x69, 0x65, 0x73, 0x5f, 0x53, 0x75, 0x69, 0x63, 0x69, 0x64, 0x65, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8f, 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x63, 0x68, - 0x69, 0x65, 0x73, 0x5f, 0x4c, 0x61, 0x6e, 0x64, 0x4d, 0x69, 0x6e, 0x65, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0x90, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x63, 0x68, 0x69, 0x65, 0x73, 0x5f, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x54, 0x72, 0x61, 0x70, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, - 0x91, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x63, 0x68, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x92, 0x01, - 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, - 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x7a, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x93, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, - 0x64, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x65, 0x6d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0x94, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x51, 0x52, 0x61, 0x7a, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x10, 0x95, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x46, 0x69, 0x65, - 0x6e, 0x64, 0x5f, 0x57, 0x52, 0x61, 0x7a, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x96, 0x01, - 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, - 0x45, 0x52, 0x61, 0x7a, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x97, 0x01, 0x12, 0x2b, 0x0a, - 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x46, 0x61, 0x74, 0x65, 0x73, 0x45, 0x64, 0x69, - 0x63, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x98, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, - 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, - 0x65, 0x53, 0x61, 0x76, 0x65, 0x73, 0x10, 0x99, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4a, 0x75, 0x67, - 0x67, 0x65, 0x72, 0x6e, 0x61, 0x75, 0x74, 0x5f, 0x4f, 0x6d, 0x6e, 0x69, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x9a, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x67, 0x5f, 0x53, 0x6b, - 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x48, 0x65, 0x72, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0x9d, 0x01, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x61, 0x72, 0x6b, 0x57, 0x69, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x43, 0x75, 0x72, 0x73, 0x65, 0x64, 0x43, 0x72, 0x6f, 0x77, 0x6e, - 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x9e, 0x01, 0x12, 0x31, - 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x61, 0x7a, 0x7a, 0x6c, 0x65, 0x5f, 0x53, 0x68, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x61, 0x76, 0x65, 0x53, 0x61, 0x76, 0x65, 0x73, 0x10, 0x9f, - 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x61, 0x7a, 0x7a, 0x6c, 0x65, 0x5f, - 0x50, 0x6f, 0x69, 0x73, 0x6f, 0x6e, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x10, 0xa0, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, - 0x4d, 0x61, 0x6e, 0x4d, 0x65, 0x6b, 0x73, 0x10, 0xa1, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, - 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x56, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x50, 0x6f, 0x69, 0x73, 0x6f, 0x6e, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa2, 0x01, 0x12, 0x31, 0x0a, 0x2c, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x56, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x43, 0x6f, 0x72, 0x72, 0x6f, 0x73, - 0x69, 0x76, 0x65, 0x53, 0x6b, 0x69, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa3, 0x01, 0x12, - 0x27, 0x0a, 0x22, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, - 0x56, 0x65, 0x69, 0x6c, 0x73, 0x10, 0xa4, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x56, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x69, 0x70, 0x65, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x10, 0xa5, 0x01, 0x12, - 0x28, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x43, 0x72, 0x65, 0x73, - 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa6, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x54, 0x69, 0x6e, 0x79, 0x5f, 0x54, 0x72, 0x65, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa7, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, - 0x69, 0x6b, 0x69, 0x5f, 0x42, 0x61, 0x63, 0x6b, 0x73, 0x74, 0x61, 0x62, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0xa8, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x6f, 0x65, - 0x6e, 0x69, 0x78, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x75, 0x70, - 0x65, 0x72, 0x6e, 0x6f, 0x76, 0x61, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0xa9, 0x01, 0x12, 0x37, - 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x62, 0x6c, 0x61, 0x64, - 0x65, 0x5f, 0x4d, 0x65, 0x74, 0x61, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x6f, 0x73, 0x69, 0x73, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xaa, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, - 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x72, 0x65, 0x61, 0x74, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xab, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, - 0x6e, 0x74, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x73, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x41, 0x67, 0x68, 0x61, 0x6e, 0x69, 0x6d, - 0x73, 0x10, 0xac, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x6e, 0x74, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x4d, 0x61, 0x6e, 0x4d, 0x61, 0x6e, - 0x61, 0x56, 0x6f, 0x69, 0x64, 0x73, 0x10, 0xad, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x41, 0x72, 0x63, 0x57, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x65, - 0x73, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xae, 0x01, - 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x63, 0x57, 0x61, 0x72, 0x64, 0x65, - 0x6e, 0x5f, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x61, 0x69, 0x74, 0x68, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x10, 0xaf, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x6e, - 0x65, 0x5f, 0x42, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x61, 0x70, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0xb0, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x6e, 0x65, 0x5f, 0x46, - 0x69, 0x65, 0x6e, 0x64, 0x73, 0x47, 0x72, 0x69, 0x70, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xb1, + 0x54, 0x65, 0x63, 0x68, 0x69, 0x65, 0x73, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x54, 0x72, + 0x61, 0x70, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x91, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, + 0x63, 0x68, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x65, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x92, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x61, + 0x7a, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x93, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, + 0x61, 0x64, 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x65, + 0x6d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x94, 0x01, 0x12, 0x2b, + 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x51, 0x52, + 0x61, 0x7a, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x95, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, + 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x57, 0x52, 0x61, 0x7a, 0x65, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x96, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x45, 0x52, 0x61, 0x7a, 0x65, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0x97, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, + 0x46, 0x61, 0x74, 0x65, 0x73, 0x45, 0x64, 0x69, 0x63, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0x98, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x46, 0x61, 0x6c, + 0x73, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x53, 0x61, 0x76, 0x65, 0x73, 0x10, 0x99, + 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x4a, 0x75, 0x67, 0x67, 0x65, 0x72, 0x6e, 0x61, 0x75, 0x74, 0x5f, + 0x4f, 0x6d, 0x6e, 0x69, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x9a, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x72, 0x69, 0x64, 0x65, - 0x72, 0x5f, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x6c, 0x61, 0x6d, - 0x65, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x10, 0xb2, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, + 0x6e, 0x4b, 0x69, 0x6e, 0x67, 0x5f, 0x53, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x48, 0x65, + 0x72, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x9d, 0x01, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x42, 0x61, 0x74, 0x72, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x61, 0x73, 0x73, 0x6f, 0x65, 0x73, 0x10, 0xb3, 0x01, 0x12, - 0x3a, 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x72, 0x65, 0x77, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, - 0x6d, 0x61, 0x6c, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x10, 0xb4, 0x01, 0x12, 0x3e, 0x0a, 0x39, 0x6b, - 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x42, 0x72, 0x69, 0x73, 0x74, 0x6c, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x46, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x10, 0xb5, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, + 0x65, 0x5f, 0x44, 0x61, 0x72, 0x6b, 0x57, 0x69, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x43, 0x75, 0x72, + 0x73, 0x65, 0x64, 0x43, 0x72, 0x6f, 0x77, 0x6e, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x74, + 0x75, 0x6e, 0x73, 0x10, 0x9e, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x61, + 0x7a, 0x7a, 0x6c, 0x65, 0x5f, 0x53, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x61, 0x76, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x73, 0x10, 0x9f, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x44, 0x61, 0x7a, 0x7a, 0x6c, 0x65, 0x5f, 0x50, 0x6f, 0x69, 0x73, 0x6f, 0x6e, 0x54, 0x6f, + 0x75, 0x63, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa0, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x42, 0x72, 0x69, 0x73, 0x74, 0x6c, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x54, - 0x72, 0x69, 0x70, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x61, 0x73, 0x61, 0x6c, 0x47, 0x6f, - 0x6f, 0x10, 0xb6, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x72, 0x6f, 0x6f, - 0x64, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x53, 0x70, 0x69, 0x64, 0x65, 0x72, 0x6c, 0x69, - 0x6e, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xb7, 0x01, 0x12, 0x33, - 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x72, 0x6f, 0x6f, 0x64, 0x6d, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x57, 0x65, 0x62, - 0x10, 0xb8, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x65, 0x6e, 0x74, 0x61, - 0x75, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x6d, - 0x70, 0x65, 0x64, 0x65, 0x10, 0xb9, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, - 0x68, 0x61, 0x6f, 0x73, 0x4b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x52, 0x65, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x52, 0x69, 0x66, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xba, 0x01, 0x12, 0x30, - 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x68, 0x65, 0x6e, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x6e, 0x69, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x10, 0xbb, 0x01, - 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, - 0x61, 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x54, 0x77, 0x6f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x72, 0x79, - 0x73, 0x74, 0x61, 0x6c, 0x4e, 0x6f, 0x76, 0x61, 0x73, 0x10, 0xbc, 0x01, 0x12, 0x3e, 0x0a, 0x39, + 0x70, 0x65, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x4d, 0x61, 0x6e, 0x4d, 0x65, 0x6b, 0x73, 0x10, + 0xa1, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x69, 0x70, 0x65, 0x72, 0x5f, + 0x50, 0x6f, 0x69, 0x73, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0xa2, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x69, 0x70, 0x65, + 0x72, 0x5f, 0x43, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x69, 0x6e, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa3, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, + 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x56, 0x65, 0x69, 0x6c, 0x73, 0x10, 0xa4, 0x01, + 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x70, 0x65, 0x72, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x10, 0xa5, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, + 0x6f, 0x6c, 0x61, 0x72, 0x43, 0x72, 0x65, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa6, + 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x69, 0x6e, 0x79, 0x5f, 0x54, 0x72, + 0x65, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa7, 0x01, 0x12, + 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6b, 0x69, 0x5f, 0x42, 0x61, 0x63, 0x6b, + 0x73, 0x74, 0x61, 0x62, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xa8, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x69, 0x64, 0x65, - 0x6e, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x7a, - 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x10, 0xbd, 0x01, 0x12, 0x2f, 0x0a, 0x2a, + 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x6f, 0x65, 0x6e, 0x69, 0x78, 0x5f, 0x54, 0x68, 0x72, 0x65, + 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x75, 0x70, 0x65, 0x72, 0x6e, 0x6f, 0x76, 0x61, 0x53, 0x74, + 0x75, 0x6e, 0x73, 0x10, 0xa9, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x62, 0x6c, 0x61, 0x64, 0x65, 0x5f, 0x4d, 0x65, 0x74, 0x61, 0x6d, 0x6f, + 0x72, 0x70, 0x68, 0x6f, 0x73, 0x69, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xaa, 0x01, 0x12, + 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x72, 0x65, 0x61, + 0x74, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xab, 0x01, 0x12, + 0x3b, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x6e, 0x74, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, + 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x57, 0x69, 0x74, + 0x68, 0x41, 0x67, 0x68, 0x61, 0x6e, 0x69, 0x6d, 0x73, 0x10, 0xac, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x44, 0x61, 0x7a, 0x7a, 0x6c, 0x65, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x57, 0x61, 0x76, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xbe, 0x01, 0x12, 0x31, 0x0a, - 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, - 0x74, 0x5f, 0x53, 0x69, 0x70, 0x68, 0x6f, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xbf, 0x01, - 0x12, 0x3d, 0x0a, 0x38, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, - 0x70, 0x68, 0x65, 0x74, 0x5f, 0x45, 0x78, 0x6f, 0x72, 0x63, 0x69, 0x73, 0x6d, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x75, 0x6c, 0x73, 0x10, 0xc0, 0x01, 0x12, - 0x43, 0x0a, 0x3e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x6f, 0x72, - 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x4b, 0x69, 0x6e, 0x65, 0x74, 0x69, - 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x53, 0x74, 0x6f, 0x72, - 0x6d, 0x10, 0xc1, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x6f, 0x6d, - 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x42, 0x75, - 0x72, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xc2, 0x01, 0x12, 0x40, 0x0a, 0x3b, 0x6b, 0x4b, + 0x79, 0x70, 0x65, 0x5f, 0x41, 0x6e, 0x74, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x54, 0x68, 0x72, + 0x65, 0x65, 0x4d, 0x61, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x56, 0x6f, 0x69, 0x64, 0x73, 0x10, 0xad, + 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x63, 0x57, 0x61, 0x72, 0x64, + 0x65, 0x6e, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x73, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xae, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x41, 0x72, 0x63, 0x57, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x5f, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x57, + 0x72, 0x61, 0x69, 0x74, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xaf, 0x01, 0x12, 0x2b, 0x0a, + 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x6e, 0x65, 0x5f, 0x42, 0x72, 0x61, 0x69, 0x6e, 0x53, + 0x61, 0x70, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xb0, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x50, 0x72, 0x65, - 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x72, 0x61, 0x43, 0x72, 0x65, 0x65, 0x70, 0x54, - 0x6f, 0x77, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xc3, 0x01, 0x12, 0x31, 0x0a, 0x2c, + 0x65, 0x5f, 0x42, 0x61, 0x6e, 0x65, 0x5f, 0x46, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x47, 0x72, 0x69, + 0x70, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xb1, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x42, 0x61, 0x74, 0x72, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x46, 0x6c, 0x61, 0x6d, 0x65, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x10, + 0xb2, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x72, 0x69, 0x64, + 0x65, 0x72, 0x5f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x61, 0x73, + 0x73, 0x6f, 0x65, 0x73, 0x10, 0xb3, 0x01, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, + 0x72, 0x65, 0x77, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, + 0x75, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x6c, 0x53, 0x70, 0x6c, 0x69, 0x74, + 0x10, 0xb4, 0x01, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x72, 0x69, 0x73, 0x74, + 0x6c, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x55, 0x6e, 0x64, 0x65, + 0x72, 0x46, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x73, + 0x10, 0xb5, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x72, 0x69, 0x73, 0x74, + 0x6c, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x48, 0x65, 0x72, + 0x6f, 0x4e, 0x61, 0x73, 0x61, 0x6c, 0x47, 0x6f, 0x6f, 0x10, 0xb6, 0x01, 0x12, 0x38, 0x0a, 0x33, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x42, 0x72, 0x6f, 0x6f, 0x64, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, + 0x53, 0x70, 0x69, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x10, 0xb7, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x72, + 0x6f, 0x6f, 0x64, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x49, + 0x6e, 0x73, 0x69, 0x64, 0x65, 0x57, 0x65, 0x62, 0x10, 0xb8, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, + 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x43, 0x65, 0x6e, 0x74, 0x61, 0x75, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x65, 0x10, 0xb9, 0x01, 0x12, + 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x68, 0x61, 0x6f, 0x73, 0x4b, 0x6e, 0x69, 0x67, + 0x68, 0x74, 0x5f, 0x52, 0x65, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x69, 0x66, 0x74, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x10, 0xba, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x68, + 0x65, 0x6e, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x6e, 0x69, + 0x74, 0x65, 0x6e, 0x63, 0x65, 0x10, 0xbb, 0x01, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x54, 0x77, + 0x6f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4e, 0x6f, 0x76, 0x61, + 0x73, 0x10, 0xbc, 0x01, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x72, 0x79, 0x73, + 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x69, 0x64, 0x65, 0x6e, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, + 0x65, 0x72, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x10, 0xbd, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x61, 0x7a, 0x7a, + 0x6c, 0x65, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x57, 0x61, 0x76, 0x65, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0xbe, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x65, 0x61, + 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x74, 0x5f, 0x53, 0x69, 0x70, 0x68, 0x6f, 0x6e, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xbf, 0x01, 0x12, 0x3d, 0x0a, 0x38, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x44, 0x65, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x68, 0x65, 0x74, 0x5f, 0x45, 0x78, 0x6f, + 0x72, 0x63, 0x69, 0x73, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, + 0x45, 0x75, 0x6c, 0x73, 0x10, 0xc0, 0x01, 0x12, 0x43, 0x0a, 0x3e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, + 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, + 0x72, 0x6f, 0x4b, 0x69, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x10, 0xc1, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, - 0x52, 0x65, 0x6d, 0x6e, 0x61, 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xc4, 0x01, 0x12, + 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x6f, 0x6d, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x42, 0x75, 0x72, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0xc2, 0x01, 0x12, 0x40, 0x0a, 0x3b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x77, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x75, + 0x72, 0x61, 0x43, 0x72, 0x65, 0x65, 0x70, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0xc3, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6d, 0x62, 0x65, + 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x52, 0x65, 0x6d, 0x6e, 0x61, 0x6e, 0x74, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xc4, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, + 0x6d, 0x62, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x53, 0x6c, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x4f, 0x66, 0x46, 0x69, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xc5, 0x01, + 0x12, 0x3c, 0x0a, 0x37, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6e, 0x69, 0x67, 0x6d, 0x61, 0x5f, 0x4d, + 0x69, 0x64, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x42, 0x6c, 0x61, 0x63, + 0x6b, 0x48, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x73, 0x10, 0xc6, 0x01, 0x12, 0x32, + 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6e, 0x69, 0x67, 0x6d, 0x61, 0x5f, 0x54, 0x68, 0x72, + 0x65, 0x65, 0x4d, 0x61, 0x6e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x48, 0x6f, 0x6c, 0x65, 0x73, 0x10, + 0xc7, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x6c, 0x65, + 0x73, 0x73, 0x56, 0x6f, 0x69, 0x64, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, + 0x54, 0x69, 0x6d, 0x65, 0x44, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xc8, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, - 0x69, 0x74, 0x5f, 0x53, 0x6c, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x66, 0x46, 0x69, 0x73, 0x74, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xc5, 0x01, 0x12, 0x3c, 0x0a, 0x37, 0x6b, 0x4b, 0x69, 0x6c, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x79, 0x72, 0x6f, 0x63, 0x6f, 0x70, 0x74, 0x65, + 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x6c, 0x61, 0x6b, 0x43, + 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x10, 0xc9, 0x01, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x45, 0x6e, 0x69, 0x67, 0x6d, 0x61, 0x5f, 0x4d, 0x69, 0x64, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x50, - 0x75, 0x6c, 0x73, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x48, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6d, - 0x62, 0x6f, 0x73, 0x10, 0xc6, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6e, - 0x69, 0x67, 0x6d, 0x61, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x4d, 0x61, 0x6e, 0x42, 0x6c, 0x61, - 0x63, 0x6b, 0x48, 0x6f, 0x6c, 0x65, 0x73, 0x10, 0xc7, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x6b, 0x4b, - 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x56, 0x6f, 0x69, 0x64, 0x5f, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x69, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xc8, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, - 0x79, 0x72, 0x6f, 0x63, 0x6f, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, - 0x65, 0x72, 0x6f, 0x46, 0x6c, 0x61, 0x6b, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x10, 0xc9, 0x01, + 0x47, 0x79, 0x72, 0x6f, 0x63, 0x6f, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x48, 0x6f, 0x6d, 0x69, 0x6e, + 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xca, 0x01, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x79, 0x72, 0x6f, 0x63, 0x6f, 0x70, 0x74, - 0x65, 0x72, 0x5f, 0x48, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6c, 0x65, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xca, 0x01, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, + 0x65, 0x72, 0x5f, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x61, 0x72, 0x72, 0x61, 0x67, 0x65, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xcb, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x47, 0x79, 0x72, 0x6f, 0x63, 0x6f, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x52, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x42, 0x61, 0x72, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xcb, 0x01, - 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x75, 0x73, 0x6b, 0x61, 0x72, 0x5f, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x66, 0x65, 0x42, 0x72, - 0x65, 0x61, 0x6b, 0x10, 0xcc, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x75, - 0x73, 0x6b, 0x61, 0x72, 0x5f, 0x42, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x61, - 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xcd, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, + 0x48, 0x75, 0x73, 0x6b, 0x61, 0x72, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, + 0x6e, 0x67, 0x4c, 0x69, 0x66, 0x65, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x10, 0xcc, 0x01, 0x12, 0x31, + 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x75, 0x73, 0x6b, 0x61, 0x72, 0x5f, 0x42, 0x75, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x61, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xcd, + 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, + 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x63, 0x65, 0x57, 0x61, 0x6c, + 0x6c, 0x10, 0xce, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, + 0x6b, 0x65, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x4d, 0x50, + 0x10, 0xcf, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, + 0x65, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, 0x61, 0x66, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x73, 0x74, 0x10, 0xd0, 0x01, 0x12, 0x35, 0x0a, + 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x68, 0x61, 0x6f, 0x73, 0x4d, 0x65, 0x74, 0x65, 0x6f, + 0x72, 0x10, 0xd1, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4a, 0x61, 0x6b, 0x69, + 0x72, 0x6f, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x75, 0x61, 0x6c, + 0x42, 0x72, 0x65, 0x61, 0x74, 0x68, 0x10, 0xd2, 0x01, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, - 0x72, 0x6f, 0x49, 0x63, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x10, 0xce, 0x01, 0x12, 0x2d, 0x0a, 0x28, + 0x5f, 0x4a, 0x61, 0x6b, 0x69, 0x72, 0x6f, 0x5f, 0x49, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4d, + 0x61, 0x63, 0x72, 0x6f, 0x70, 0x79, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x73, 0x10, 0xd3, + 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x73, 0x68, 0x72, 0x61, 0x63, + 0x5f, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x4e, 0x6f, 0x76, 0x61, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0xd4, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x73, 0x68, 0x72, 0x61, + 0x63, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x67, 0x68, 0x74, + 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x10, 0xd5, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, - 0x65, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x4d, 0x50, 0x10, 0xcf, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, - 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, - 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, 0x61, 0x66, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, - 0x73, 0x74, 0x10, 0xd0, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, - 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x68, - 0x61, 0x6f, 0x73, 0x4d, 0x65, 0x74, 0x65, 0x6f, 0x72, 0x10, 0xd1, 0x01, 0x12, 0x33, 0x0a, 0x2e, + 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6f, 0x6e, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, + 0x72, 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x66, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, + 0xd6, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x65, 0x70, 0x6f, 0x5f, + 0x50, 0x6f, 0x6f, 0x66, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xd7, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4a, 0x61, 0x6b, 0x69, 0x72, 0x6f, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x48, 0x65, 0x72, 0x6f, 0x44, 0x75, 0x61, 0x6c, 0x42, 0x72, 0x65, 0x61, 0x74, 0x68, 0x10, 0xd2, - 0x01, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4a, 0x61, 0x6b, 0x69, 0x72, 0x6f, 0x5f, - 0x49, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x70, 0x79, 0x72, 0x65, - 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x73, 0x10, 0xd3, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4c, 0x65, 0x73, 0x68, 0x72, 0x61, 0x63, 0x5f, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x4e, 0x6f, - 0x76, 0x61, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xd4, 0x01, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, + 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x65, 0x70, 0x6f, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, + 0x65, 0x72, 0x6f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x62, 0x69, 0x6e, 0x64, 0x73, 0x10, 0xd8, 0x01, + 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x61, + 0x6c, 0x6b, 0x65, 0x72, 0x5f, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x10, 0xd9, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x6f, + 0x72, 0x70, 0x68, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x10, 0xda, 0x01, 0x12, + 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x67, 0x72, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x5f, + 0x46, 0x69, 0x72, 0x65, 0x62, 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xdb, + 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x67, 0x72, 0x65, 0x4d, 0x61, 0x67, + 0x69, 0x5f, 0x49, 0x67, 0x6e, 0x69, 0x74, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xdc, 0x01, + 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x10, 0xdd, 0x01, + 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x67, 0x61, 0x4b, 0x69, 0x6c, 0x6c, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x10, 0xde, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x4c, 0x65, 0x73, 0x68, 0x72, 0x61, 0x63, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, - 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f, 0x72, - 0x6d, 0x10, 0xd5, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6f, 0x6e, - 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x4f, 0x66, 0x44, 0x65, 0x61, 0x74, 0x68, 0x10, 0xd6, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x4b, + 0x65, 0x5f, 0x41, 0x6c, 0x63, 0x68, 0x65, 0x6d, 0x69, 0x73, 0x74, 0x5f, 0x41, 0x67, 0x68, 0x61, + 0x6e, 0x69, 0x6d, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x10, 0xdf, 0x01, 0x12, 0x2c, 0x0a, 0x27, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x56, 0x65, 0x69, 0x6c, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x54, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe0, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x4d, 0x65, 0x65, 0x70, 0x6f, 0x5f, 0x50, 0x6f, 0x6f, 0x66, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x10, 0xd7, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x65, 0x70, - 0x6f, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x61, 0x72, 0x74, 0x68, - 0x62, 0x69, 0x6e, 0x64, 0x73, 0x10, 0xd8, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x4e, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x5f, 0x4e, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xd9, 0x01, 0x12, 0x37, - 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x6f, 0x72, 0x70, 0x68, 0x6c, 0x69, 0x6e, 0x67, 0x5f, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x10, 0xda, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, - 0x67, 0x72, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x5f, 0x46, 0x69, 0x72, 0x65, 0x62, 0x6c, 0x61, 0x73, - 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xdb, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4f, 0x67, 0x72, 0x65, 0x4d, 0x61, 0x67, 0x69, 0x5f, 0x49, 0x67, 0x6e, 0x69, 0x74, 0x65, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xdc, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6b, 0x73, 0x10, 0xdd, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x4d, 0x65, 0x67, 0x61, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x10, - 0xde, 0x01, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x6c, 0x63, 0x68, 0x65, 0x6d, - 0x69, 0x73, 0x74, 0x5f, 0x41, 0x67, 0x68, 0x61, 0x6e, 0x69, 0x6d, 0x73, 0x47, 0x69, 0x76, 0x65, - 0x6e, 0x10, 0xdf, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x65, 0x69, 0x6c, - 0x73, 0x4c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0xe0, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x75, 0x73, 0x74, 0x4c, 0x65, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe1, 0x01, 0x12, - 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x74, - 0x6f, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x61, 0x73, 0x6b, - 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0xe2, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, - 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x57, 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x53, 0x68, 0x75, 0x6b, 0x75, 0x63, 0x68, 0x69, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe3, 0x01, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x65, 0x5f, 0x44, 0x75, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe1, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, - 0x69, 0x6e, 0x64, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x53, 0x68, 0x61, 0x63, 0x6b, 0x6c, - 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x46, 0x69, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, - 0xe4, 0x01, 0x12, 0x42, 0x0a, 0x3d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x65, 0x6e, 0x67, 0x65, 0x66, - 0x75, 0x6c, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x56, 0x65, 0x6e, 0x67, 0x65, 0x61, 0x6e, - 0x63, 0x65, 0x41, 0x75, 0x72, 0x61, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0xe5, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x75, - 0x73, 0x6b, 0x5f, 0x57, 0x61, 0x6c, 0x72, 0x75, 0x73, 0x50, 0x75, 0x6e, 0x63, 0x68, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0xe6, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x69, - 0x6e, 0x6b, 0x65, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x61, - 0x73, 0x65, 0x72, 0x73, 0x10, 0xe7, 0x01, 0x12, 0x3b, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x73, 0x69, 0x42, 0x6c, 0x61, 0x64, 0x65, - 0x73, 0x10, 0xe8, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, 0x6e, - 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x47, 0x6f, 0x64, 0x73, - 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x10, 0xe9, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, - 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x53, 0x6e, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, - 0x65, 0x72, 0x6f, 0x53, 0x68, 0x72, 0x61, 0x70, 0x6e, 0x65, 0x6c, 0x73, 0x10, 0xea, 0x01, 0x12, - 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6c, 0x61, 0x72, 0x6b, 0x5f, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x44, 0x61, - 0x6e, 0x63, 0x65, 0x10, 0xeb, 0x01, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x53, 0x68, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x48, 0x65, 0x72, 0x6f, 0x45, 0x74, 0x68, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x63, 0x6b, 0x73, 0x10, - 0xec, 0x01, 0x12, 0x3d, 0x0a, 0x38, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x53, 0x68, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x53, 0x65, 0x72, 0x70, 0x65, 0x6e, 0x74, 0x57, 0x61, - 0x72, 0x64, 0x53, 0x68, 0x61, 0x63, 0x6b, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xed, - 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6b, 0x69, 0x5f, 0x54, 0x68, - 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x72, 0x69, 0x63, 0x6b, 0x73, 0x4f, 0x66, 0x54, - 0x68, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x10, 0xee, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, + 0x69, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x48, 0x65, 0x72, 0x6f, 0x43, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0xe2, 0x01, + 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x65, 0x61, 0x76, 0x65, 0x72, 0x5f, 0x53, + 0x68, 0x75, 0x6b, 0x75, 0x63, 0x68, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe3, 0x01, 0x12, + 0x39, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x6e, 0x64, 0x72, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x5f, 0x53, 0x68, 0x61, 0x63, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x46, 0x69, + 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe4, 0x01, 0x12, 0x42, 0x0a, 0x3d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x52, 0x61, 0x7a, 0x6f, 0x72, 0x5f, 0x45, 0x79, 0x65, 0x4f, 0x66, 0x54, 0x68, 0x65, - 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xef, 0x01, 0x12, 0x2d, 0x0a, - 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x75, 0x67, 0x6e, 0x61, 0x5f, 0x4c, 0x69, 0x66, 0x65, 0x44, - 0x72, 0x61, 0x69, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf0, 0x01, 0x12, 0x3e, 0x0a, 0x39, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x62, 0x73, 0x69, 0x64, 0x69, 0x61, 0x6e, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x65, 0x72, 0x5f, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x73, 0x45, 0x63, 0x6c, - 0x69, 0x70, 0x73, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf1, 0x01, 0x12, 0x34, 0x0a, 0x2f, + 0x65, 0x5f, 0x56, 0x65, 0x6e, 0x67, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, + 0x5f, 0x56, 0x65, 0x6e, 0x67, 0x65, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x72, 0x61, 0x49, 0x6c, + 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe5, 0x01, 0x12, 0x2e, + 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x75, 0x73, 0x6b, 0x5f, 0x57, 0x61, 0x6c, 0x72, 0x75, + 0x73, 0x50, 0x75, 0x6e, 0x63, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xe6, 0x01, 0x12, 0x2f, + 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x5f, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x61, 0x73, 0x65, 0x72, 0x73, 0x10, 0xe7, 0x01, 0x12, + 0x3b, 0x0a, 0x36, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x41, 0x73, + 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, + 0x50, 0x73, 0x69, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x73, 0x10, 0xe8, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x48, 0x65, 0x72, 0x6f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x10, - 0xf2, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x6d, 0x6e, 0x69, 0x6b, 0x6e, - 0x69, 0x67, 0x68, 0x74, 0x5f, 0x50, 0x75, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf3, 0x01, 0x12, 0x43, 0x0a, 0x3e, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x5f, 0x45, 0x6e, - 0x65, 0x6d, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x72, - 0x69, 0x70, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x61, 0x72, 0x10, 0xf4, 0x01, 0x12, 0x34, - 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x61, 0x72, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x54, 0x68, - 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x6e, 0x64, - 0x73, 0x10, 0xf5, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6b, 0x69, - 0x5f, 0x54, 0x72, 0x69, 0x63, 0x6b, 0x73, 0x4f, 0x66, 0x54, 0x68, 0x65, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf6, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x41, 0x66, 0x74, - 0x65, 0x72, 0x73, 0x68, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x74, 0x73, 0x31, 0x30, 0x10, 0xf7, 0x01, - 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, - 0x6b, 0x65, 0x72, 0x5f, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x63, 0x68, 0x6f, 0x73, 0x6c, 0x61, - 0x6d, 0x73, 0x10, 0xf8, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6e, - 0x61, 0x5f, 0x4c, 0x61, 0x67, 0x75, 0x6e, 0x61, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x48, 0x65, 0x72, - 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf9, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, + 0x79, 0x70, 0x65, 0x5f, 0x53, 0x76, 0x65, 0x6e, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, + 0x72, 0x69, 0x6e, 0x67, 0x47, 0x6f, 0x64, 0x73, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x10, 0xe9, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6e, 0x69, 0x70, 0x65, + 0x72, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x72, 0x61, 0x70, + 0x6e, 0x65, 0x6c, 0x73, 0x10, 0xea, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, + 0x6c, 0x61, 0x72, 0x6b, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x44, 0x61, 0x6e, 0x63, 0x65, 0x10, 0xeb, 0x01, 0x12, 0x3a, + 0x0a, 0x35, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x53, 0x68, 0x61, 0x6d, + 0x61, 0x6e, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x74, 0x68, 0x65, + 0x72, 0x53, 0x68, 0x6f, 0x63, 0x6b, 0x73, 0x10, 0xec, 0x01, 0x12, 0x3d, 0x0a, 0x38, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x53, 0x68, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x53, + 0x65, 0x72, 0x70, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x72, 0x64, 0x53, 0x68, 0x61, 0x63, 0x6b, 0x6c, + 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xed, 0x01, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4c, 0x69, 0x6e, 0x61, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0xfa, 0x01, 0x12, 0x36, 0x0a, - 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, - 0x5f, 0x46, 0x69, 0x73, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x74, 0x75, - 0x6e, 0x73, 0x10, 0xfb, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x5f, 0x52, 0x69, 0x6b, 0x69, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x54, + 0x72, 0x69, 0x63, 0x6b, 0x73, 0x4f, 0x66, 0x54, 0x68, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x10, + 0xee, 0x01, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x61, 0x7a, 0x6f, 0x72, 0x5f, + 0x45, 0x79, 0x65, 0x4f, 0x66, 0x54, 0x68, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x6d, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x10, 0xef, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x75, 0x67, + 0x6e, 0x61, 0x5f, 0x4c, 0x69, 0x66, 0x65, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0xf0, 0x01, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x62, 0x73, 0x69, + 0x64, 0x69, 0x61, 0x6e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x72, 0x5f, 0x53, 0x61, + 0x6e, 0x69, 0x74, 0x79, 0x73, 0x45, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x65, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0xf1, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x6f, 0x72, 0x74, + 0x75, 0x6e, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xf2, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x4f, 0x6d, 0x6e, 0x69, 0x6b, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x50, 0x75, 0x72, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf3, + 0x01, 0x12, 0x43, 0x0a, 0x3e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, + 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x65, + 0x73, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x72, 0x69, 0x70, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x46, + 0x65, 0x61, 0x72, 0x10, 0xf4, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x61, + 0x72, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, + 0x61, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x6e, 0x64, 0x73, 0x10, 0xf5, 0x01, 0x12, 0x33, 0x0a, 0x2e, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6b, 0x69, 0x5f, 0x54, 0x72, 0x69, 0x63, 0x6b, 0x73, 0x4f, + 0x66, 0x54, 0x68, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf6, + 0x01, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, + 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x41, 0x66, 0x74, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x63, 0x6b, 0x48, + 0x69, 0x74, 0x73, 0x31, 0x30, 0x10, 0xf7, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, + 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x35, 0x48, 0x65, 0x72, + 0x6f, 0x45, 0x63, 0x68, 0x6f, 0x73, 0x6c, 0x61, 0x6d, 0x73, 0x10, 0xf8, 0x01, 0x12, 0x32, 0x0a, + 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6e, 0x61, 0x5f, 0x4c, 0x61, 0x67, 0x75, 0x6e, 0x61, + 0x42, 0x6c, 0x61, 0x64, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xf9, + 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x6e, 0x61, 0x5f, 0x4c, 0x69, + 0x67, 0x68, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x75, + 0x6e, 0x73, 0x10, 0xfa, 0x01, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x61, 0x72, - 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x54, 0x6f, 0x74, 0x65, 0x6d, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x10, 0xfc, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, - 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x61, - 0x6e, 0x67, 0x6f, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x53, 0x77, 0x61, 0x73, 0x68, 0x62, 0x75, 0x63, - 0x6b, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xfd, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, + 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x46, 0x69, 0x73, 0x73, 0x75, 0x72, 0x65, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0xfb, 0x01, 0x12, 0x2f, 0x0a, + 0x2a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x61, 0x72, 0x74, 0x68, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, + 0x5f, 0x54, 0x6f, 0x74, 0x65, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xfc, 0x01, 0x12, 0x33, + 0x0a, 0x2e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x69, 0x65, 0x72, 0x5f, + 0x53, 0x77, 0x61, 0x73, 0x68, 0x62, 0x75, 0x63, 0x6b, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, + 0x10, 0xfd, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x75, 0x72, 0x69, 0x6f, + 0x6e, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x54, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x64, 0x10, 0xfe, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, + 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x48, 0x65, 0x61, 0x72, 0x74, 0x70, 0x69, + 0x65, 0x72, 0x63, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0xff, 0x01, 0x12, 0x32, 0x0a, + 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x64, 0x75, 0x73, 0x61, 0x5f, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x47, 0x61, 0x7a, 0x65, 0x10, 0x80, + 0x02, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x64, 0x75, 0x73, 0x61, 0x5f, + 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x81, + 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x69, 0x72, 0x61, 0x6e, 0x61, 0x5f, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x73, 0x74, 0x6f, + 0x72, 0x6d, 0x10, 0x82, 0x02, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x69, 0x72, + 0x61, 0x6e, 0x61, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, + 0x6e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x10, 0x83, 0x02, 0x12, + 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x67, 0x6e, 0x75, 0x73, 0x5f, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x65, 0x77, 0x65, 0x72, 0x73, 0x10, 0x84, + 0x02, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x67, 0x6e, 0x75, 0x73, 0x5f, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, + 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x10, 0x85, 0x02, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x46, 0x75, 0x72, 0x69, 0x6f, 0x6e, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x48, - 0x65, 0x72, 0x6f, 0x65, 0x73, 0x54, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x10, 0xfe, 0x01, 0x12, - 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x69, 0x65, 0x72, - 0x5f, 0x48, 0x65, 0x61, 0x72, 0x74, 0x70, 0x69, 0x65, 0x72, 0x63, 0x65, 0x72, 0x4b, 0x69, 0x6c, - 0x6c, 0x73, 0x10, 0xff, 0x01, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x65, 0x64, - 0x75, 0x73, 0x61, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x6f, - 0x6e, 0x65, 0x47, 0x61, 0x7a, 0x65, 0x10, 0x80, 0x02, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4d, 0x65, 0x64, 0x75, 0x73, 0x61, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x68, 0x6f, - 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x81, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4d, 0x69, 0x72, 0x61, 0x6e, 0x61, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, - 0x6f, 0x53, 0x74, 0x61, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x6d, 0x10, 0x82, 0x02, 0x12, 0x38, 0x0a, - 0x33, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x69, 0x72, 0x61, 0x6e, 0x61, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, - 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x6e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x53, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x10, 0x83, 0x02, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, - 0x61, 0x67, 0x6e, 0x75, 0x73, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, - 0x6b, 0x65, 0x77, 0x65, 0x72, 0x73, 0x10, 0x84, 0x02, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4d, 0x61, 0x67, 0x6e, 0x75, 0x73, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, - 0x6f, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, - 0x10, 0x85, 0x02, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x67, 0x6e, 0x75, - 0x73, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x53, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x57, 0x69, - 0x74, 0x68, 0x53, 0x68, 0x6f, 0x63, 0x6b, 0x77, 0x61, 0x76, 0x65, 0x10, 0x86, 0x02, 0x12, 0x30, - 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x61, 0x67, 0x61, 0x53, 0x69, 0x72, 0x65, 0x6e, 0x5f, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6f, 0x6e, 0x67, 0x10, 0x87, 0x02, - 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x61, 0x67, 0x61, 0x53, 0x69, 0x72, 0x65, - 0x6e, 0x5f, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x42, 0x79, - 0x53, 0x6f, 0x6e, 0x67, 0x10, 0x88, 0x02, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, - 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, - 0x6f, 0x6e, 0x65, 0x44, 0x72, 0x75, 0x69, 0x64, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x6f, 0x61, 0x72, 0x10, 0x89, 0x02, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, - 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x4c, 0x6f, 0x6e, 0x65, 0x44, 0x72, 0x75, 0x69, 0x64, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x43, 0x72, 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8a, 0x02, 0x12, 0x35, 0x0a, 0x30, - 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x79, 0x76, 0x65, 0x72, 0x6e, - 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x75, 0x72, 0x73, 0x65, 0x73, - 0x10, 0x8b, 0x02, 0x12, 0x3f, 0x0a, 0x3a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x6e, 0x74, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x5f, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, - 0x64, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x70, 0x65, 0x6c, - 0x6c, 0x10, 0x8c, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x72, 0x73, - 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x49, 0x6e, - 0x41, 0x72, 0x65, 0x6e, 0x61, 0x10, 0x8d, 0x02, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, + 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x67, 0x6e, 0x75, 0x73, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, + 0x53, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x53, 0x68, 0x6f, 0x63, 0x6b, 0x77, + 0x61, 0x76, 0x65, 0x10, 0x86, 0x02, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x61, + 0x67, 0x61, 0x53, 0x69, 0x72, 0x65, 0x6e, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x6f, 0x6e, 0x67, 0x10, 0x87, 0x02, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x4d, 0x61, 0x72, 0x73, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, - 0x64, 0x73, 0x52, 0x65, 0x62, 0x75, 0x6b, 0x65, 0x10, 0x8e, 0x02, 0x12, 0x2d, 0x0a, 0x28, 0x6b, + 0x4e, 0x61, 0x67, 0x61, 0x53, 0x69, 0x72, 0x65, 0x6e, 0x5f, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, + 0x48, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x53, 0x6f, 0x6e, 0x67, 0x10, 0x88, 0x02, 0x12, + 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x6e, 0x65, 0x44, 0x72, 0x75, 0x69, 0x64, + 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x61, 0x72, 0x10, 0x89, + 0x02, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x6e, 0x65, 0x44, 0x72, 0x75, + 0x69, 0x64, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x79, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x10, 0x8a, 0x02, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x57, 0x79, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x65, + 0x72, 0x6f, 0x43, 0x75, 0x72, 0x73, 0x65, 0x73, 0x10, 0x8b, 0x02, 0x12, 0x3f, 0x0a, 0x3a, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x72, 0x73, 0x5f, 0x47, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x62, 0x75, - 0x6b, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x8f, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, + 0x70, 0x65, 0x5f, 0x41, 0x6e, 0x74, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x53, 0x70, 0x65, 0x6c, + 0x6c, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x10, 0x8c, 0x02, 0x12, 0x32, 0x0a, 0x2d, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x72, 0x73, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x69, 0x65, 0x73, + 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x10, 0x8d, 0x02, + 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x72, 0x73, 0x5f, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x62, 0x75, 0x6b, 0x65, + 0x10, 0x8e, 0x02, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x72, 0x73, 0x5f, + 0x47, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x62, 0x75, 0x6b, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, + 0x8f, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6e, 0x61, 0x70, 0x66, 0x69, + 0x72, 0x65, 0x5f, 0x4c, 0x69, 0x7a, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x4b, 0x69, + 0x6c, 0x6c, 0x73, 0x10, 0x90, 0x02, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, + 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6e, + 0x61, 0x70, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x54, 0x77, 0x6f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, + 0x6f, 0x6b, 0x69, 0x65, 0x53, 0x74, 0x75, 0x6e, 0x73, 0x10, 0x91, 0x02, 0x12, 0x16, 0x0a, 0x11, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6b, 0x10, 0x92, 0x02, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x75, 0x65, 0x72, + 0x74, 0x61, 0x5f, 0x44, 0x65, 0x61, 0x64, 0x53, 0x68, 0x6f, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, + 0x10, 0x93, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, + 0x61, 0x5f, 0x50, 0x69, 0x65, 0x72, 0x63, 0x65, 0x54, 0x68, 0x65, 0x56, 0x65, 0x69, 0x6c, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x94, 0x02, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, + 0x75, 0x65, 0x72, 0x74, 0x61, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x44, + 0x65, 0x61, 0x64, 0x53, 0x68, 0x6f, 0x74, 0x10, 0x95, 0x02, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x53, 0x6e, 0x61, 0x70, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x4c, 0x69, 0x7a, 0x61, 0x72, - 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x90, 0x02, 0x12, 0x34, - 0x0a, 0x2f, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6e, 0x61, 0x70, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x54, - 0x77, 0x6f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x53, 0x74, 0x75, 0x6e, - 0x73, 0x10, 0x91, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x4b, - 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x10, 0x92, 0x02, 0x12, 0x2d, 0x0a, 0x28, + 0x65, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, 0x5f, 0x44, 0x65, 0x61, 0x64, 0x53, 0x68, 0x6f, + 0x74, 0x73, 0x49, 0x6e, 0x74, 0x6f, 0x54, 0x68, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x10, 0x96, 0x02, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6e, 0x67, 0x6d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, + 0x61, 0x67, 0x67, 0x65, 0x72, 0x48, 0x69, 0x74, 0x73, 0x10, 0x97, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, 0x5f, 0x44, 0x65, 0x61, 0x64, 0x53, - 0x68, 0x6f, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x93, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, + 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x57, 0x68, 0x69, 0x70, 0x73, 0x10, 0x98, 0x02, + 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x65, 0x73, 0x6d, + 0x65, 0x72, 0x69, 0x7a, 0x65, 0x73, 0x10, 0x99, 0x02, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x4b, 0x65, 0x7a, 0x5f, 0x50, 0x61, 0x72, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x10, 0x9a, 0x02, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, 0x5f, 0x50, 0x69, 0x65, 0x72, 0x63, 0x65, - 0x54, 0x68, 0x65, 0x56, 0x65, 0x69, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x94, 0x02, 0x12, - 0x31, 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, 0x5f, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, 0x61, 0x64, 0x53, 0x68, 0x6f, 0x74, 0x10, - 0x95, 0x02, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, - 0x5f, 0x44, 0x65, 0x61, 0x64, 0x53, 0x68, 0x6f, 0x74, 0x73, 0x49, 0x6e, 0x74, 0x6f, 0x54, 0x68, - 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x10, 0x96, 0x02, 0x2a, 0xab, 0x01, 0x0a, 0x0e, - 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, - 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, + 0x70, 0x65, 0x5f, 0x4b, 0x65, 0x7a, 0x5f, 0x52, 0x61, 0x76, 0x65, 0x6e, 0x73, 0x56, 0x65, 0x69, + 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x10, 0x9b, 0x02, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x4b, 0x65, 0x7a, 0x5f, 0x52, 0x61, 0x70, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x6e, 0x63, 0x65, + 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x10, 0x9c, 0x02, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x4b, + 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x4b, 0x65, 0x7a, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x44, 0x75, 0x72, 0x69, 0x6e, + 0x67, 0x46, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x52, 0x75, 0x73, 0x68, 0x10, 0x9d, 0x02, 0x12, 0x31, + 0x0a, 0x2c, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x48, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6f, 0x6c, 0x65, 0x6e, 0x10, 0x9e, + 0x02, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x54, 0x61, 0x6c, 0x6c, 0x65, 0x73, 0x74, 0x48, 0x61, 0x74, 0x10, 0x9f, 0x02, 0x2a, + 0xab, 0x01, 0x0a, 0x0e, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x4c, 0x41, 0x4e, 0x45, 0x10, + 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x01, 0x12, + 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x4d, 0x49, 0x44, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x6b, + 0x6e, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x4d, 0x49, 0x44, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, - 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x53, 0x55, - 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4c, 0x61, - 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x48, 0x41, 0x52, 0x44, - 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x04, 0x2a, 0xdb, 0x02, 0x0a, 0x13, 0x45, 0x4c, - 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x4c, - 0x41, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x4f, - 0x46, 0x46, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4c, - 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x5f, 0x4d, 0x49, 0x44, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x6b, - 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x08, 0x12, 0x25, - 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x48, 0x41, 0x52, 0x44, 0x53, 0x55, 0x50, 0x50, - 0x4f, 0x52, 0x54, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, + 0x48, 0x41, 0x52, 0x44, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x04, 0x2a, 0xdb, 0x02, + 0x0a, 0x13, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x53, + 0x41, 0x46, 0x45, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, - 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x07, 0x12, 0x25, 0x0a, - 0x21, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, - 0x52, 0x54, 0x10, 0x18, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x1f, 0x2a, 0x69, 0x0a, 0x16, 0x45, 0x50, 0x61, 0x72, 0x74, + 0x67, 0x73, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, + 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x4d, 0x49, 0x44, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x04, 0x12, + 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, + 0x10, 0x08, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x48, 0x41, 0x52, 0x44, + 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, + 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, + 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x22, 0x0a, + 0x1e, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x10, + 0x07, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x53, + 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x18, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4c, + 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x1f, 0x2a, 0x69, 0x0a, 0x16, 0x45, + 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x4e, 0x6f, - 0x6e, 0x65, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x5f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, - 0x10, 0x01, 0x2a, 0xdc, 0x02, 0x0a, 0x14, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x6b, - 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, - 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, + 0x73, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x70, + 0x72, 0x65, 0x61, 0x64, 0x10, 0x01, 0x2a, 0xdc, 0x02, 0x0a, 0x14, 0x45, 0x48, 0x69, 0x67, 0x68, + 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x23, + 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x4d, 0x4d, 0x5f, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x4d, 0x44, 0x61, 0x74, + 0x61, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, - 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x4d, 0x44, 0x61, 0x74, 0x61, 0x10, 0x01, 0x12, - 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, - 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x4d, 0x61, 0x6e, 0x75, - 0x61, 0x6c, 0x6c, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x21, - 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x4d, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, - 0x40, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x41, 0x6c, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x41, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, - 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x55, - 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x42, 0x12, 0x1f, - 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x4d, 0x4d, 0x5f, 0x46, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x10, 0x43, 0x12, - 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x10, - 0x44, 0x2a, 0x75, 0x0a, 0x11, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, - 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x55, 0x6e, - 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x52, 0x65, - 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, - 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, - 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x02, 0x2a, 0xf6, 0x01, 0x0a, 0x18, 0x45, 0x52, 0x65, - 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, - 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x30, 0x0a, - 0x2c, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, - 0x61, 0x64, 0x79, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, - 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, - 0x74, 0x49, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, - 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0x04, 0x2a, 0xc1, 0x01, 0x0a, 0x1b, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, + 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x5f, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x10, 0x40, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, + 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x41, 0x6c, 0x6c, 0x52, 0x6f, + 0x6c, 0x65, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x41, 0x12, 0x23, 0x0a, + 0x1f, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x4d, 0x4d, 0x5f, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x10, 0x42, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x46, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x63, + 0x6b, 0x10, 0x43, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x48, 0x69, 0x67, 0x68, 0x50, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x4d, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x44, 0x65, 0x6d, + 0x61, 0x6e, 0x64, 0x10, 0x44, 0x2a, 0x75, 0x0a, 0x11, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, + 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, + 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x01, 0x12, 0x1d, 0x0a, + 0x19, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x02, 0x2a, 0xf6, 0x01, 0x0a, + 0x18, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, + 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, + 0x00, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x02, 0x12, 0x28, + 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x52, 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x65, 0x6e, + 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x52, + 0x65, 0x61, 0x64, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x10, 0x04, 0x2a, 0xc1, 0x01, 0x0a, 0x1b, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, + 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, + 0x65, 0x5f, 0x4c, 0x6f, 0x77, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x4d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x10, + 0x02, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, - 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x4c, 0x6f, - 0x77, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x4d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x10, 0x02, 0x12, 0x26, 0x0a, - 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, - 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x48, - 0x69, 0x67, 0x68, 0x10, 0x03, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, - 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x63, 0x65, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x10, 0x03, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, + 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -4172,14 +4239,15 @@ var file_dota_gcmessages_common_match_management_proto_depIdxs = []int32{ 4, // 12: dota.CMsgPartyReadyCheckAcknowledge.ready_status:type_name -> dota.EReadyCheckStatus 6, // 13: dota.CMsgMatchMatchmakingStats.behavior_score_variance:type_name -> dota.EMatchBehaviorScoreVariance 22, // 14: dota.CMvpData.mvps:type_name -> dota.CMvpData.MvpDatum - 4, // 15: dota.CMsgReadyCheckStatus.ReadyMember.ready_status:type_name -> dota.EReadyCheckStatus - 23, // 16: dota.CMvpData.MvpDatum.accolades:type_name -> dota.CMvpData.MvpDatum.MvpAccolade - 8, // 17: dota.CMvpData.MvpDatum.MvpAccolade.type:type_name -> dota.CMvpData.MvpDatum.MvpAccolade.MvpAccoladeType - 18, // [18:18] is the sub-list for method output_type - 18, // [18:18] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 22, // 15: dota.CMvpData.event_mvps:type_name -> dota.CMvpData.MvpDatum + 4, // 16: dota.CMsgReadyCheckStatus.ReadyMember.ready_status:type_name -> dota.EReadyCheckStatus + 23, // 17: dota.CMvpData.MvpDatum.accolades:type_name -> dota.CMvpData.MvpDatum.MvpAccolade + 8, // 18: dota.CMvpData.MvpDatum.MvpAccolade.type:type_name -> dota.CMvpData.MvpDatum.MvpAccolade.MvpAccoladeType + 19, // [19:19] is the sub-list for method output_type + 19, // [19:19] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_dota_gcmessages_common_match_management_proto_init() } diff --git a/dota/dota_gcmessages_common_match_management.proto b/dota/dota_gcmessages_common_match_management.proto index 943ee228..6a511dec 100644 --- a/dota/dota_gcmessages_common_match_management.proto +++ b/dota/dota_gcmessages_common_match_management.proto @@ -482,6 +482,15 @@ message CMvpData { kKillEaterEventType_Muerta_PierceTheVeilKills = 276; kKillEaterEventType_Muerta_MultiHeroDeadShot = 277; kKillEaterEventType_Muerta_DeadShotsIntoTheCalling = 278; + kKillEaterEventType_Ringmaster_LongRangeDaggerHits = 279; + kKillEaterEventType_Ringmaster_MultiHeroWhips = 280; + kKillEaterEventType_Ringmaster_MultiHeroMesmerizes = 281; + kKillEaterEventType_Kez_ParryCounterAttacks = 282; + kKillEaterEventType_Kez_RavensVeilKills = 283; + kKillEaterEventType_Kez_RaptorDanceHealing = 284; + kKillEaterEventType_Kez_KillsDuringFalconRush = 285; + kKillEaterEventType_Seasonal_PartyHatsStolen = 286; + kKillEaterEventType_Seasonal_TallestHat = 287; } optional CMvpData.MvpDatum.MvpAccolade.MvpAccoladeType type = 1; @@ -493,4 +502,5 @@ message CMvpData { } repeated CMvpData.MvpDatum mvps = 1; + repeated CMvpData.MvpDatum event_mvps = 2; } diff --git a/dota/dota_gcmessages_common_overworld.pb.go b/dota/dota_gcmessages_common_overworld.pb.go index 3deb262f..61a9e2ed 100644 --- a/dota/dota_gcmessages_common_overworld.pb.go +++ b/dota/dota_gcmessages_common_overworld.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_common_overworld.proto package dota @@ -79,6 +79,65 @@ func (EOverworldNodeState) EnumDescriptor() ([]byte, []int) { return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{0} } +type EOverworldPathState int32 + +const ( + EOverworldPathState_k_eOverworldPathState_Invalid EOverworldPathState = 0 + EOverworldPathState_k_eOverworldPathState_Incomplete EOverworldPathState = 1 + EOverworldPathState_k_eOverworldPathState_Complete EOverworldPathState = 2 +) + +// Enum value maps for EOverworldPathState. +var ( + EOverworldPathState_name = map[int32]string{ + 0: "k_eOverworldPathState_Invalid", + 1: "k_eOverworldPathState_Incomplete", + 2: "k_eOverworldPathState_Complete", + } + EOverworldPathState_value = map[string]int32{ + "k_eOverworldPathState_Invalid": 0, + "k_eOverworldPathState_Incomplete": 1, + "k_eOverworldPathState_Complete": 2, + } +) + +func (x EOverworldPathState) Enum() *EOverworldPathState { + p := new(EOverworldPathState) + *p = x + return p +} + +func (x EOverworldPathState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EOverworldPathState) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_common_overworld_proto_enumTypes[1].Descriptor() +} + +func (EOverworldPathState) Type() protoreflect.EnumType { + return &file_dota_gcmessages_common_overworld_proto_enumTypes[1] +} + +func (x EOverworldPathState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EOverworldPathState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EOverworldPathState(num) + return nil +} + +// Deprecated: Use EOverworldPathState.Descriptor instead. +func (EOverworldPathState) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{1} +} + type EOverworldAuditAction int32 const ( @@ -154,11 +213,11 @@ func (x EOverworldAuditAction) String() string { } func (EOverworldAuditAction) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[1].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[2].Descriptor() } func (EOverworldAuditAction) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[1] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[2] } func (x EOverworldAuditAction) Number() protoreflect.EnumNumber { @@ -177,7 +236,78 @@ func (x *EOverworldAuditAction) UnmarshalJSON(b []byte) error { // Deprecated: Use EOverworldAuditAction.Descriptor instead. func (EOverworldAuditAction) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{1} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{2} +} + +type EOverworldMinigameAction int32 + +const ( + EOverworldMinigameAction_k_eOverworldMinigameAction_Invalid EOverworldMinigameAction = 0 + EOverworldMinigameAction_k_eOverworldMinigameAction_DevReset EOverworldMinigameAction = 1 + EOverworldMinigameAction_k_eOverworldMinigameAction_DevGiveCurrency EOverworldMinigameAction = 2 + EOverworldMinigameAction_k_eOverworldMinigameAction_Purchase EOverworldMinigameAction = 3 + EOverworldMinigameAction_k_eOverworldMinigameAction_SetOption EOverworldMinigameAction = 4 + EOverworldMinigameAction_k_eOverworldMinigameAction_ReportCurrencyGained EOverworldMinigameAction = 5 + EOverworldMinigameAction_k_eOverworldMinigameAction_UnlockDifficulty EOverworldMinigameAction = 6 +) + +// Enum value maps for EOverworldMinigameAction. +var ( + EOverworldMinigameAction_name = map[int32]string{ + 0: "k_eOverworldMinigameAction_Invalid", + 1: "k_eOverworldMinigameAction_DevReset", + 2: "k_eOverworldMinigameAction_DevGiveCurrency", + 3: "k_eOverworldMinigameAction_Purchase", + 4: "k_eOverworldMinigameAction_SetOption", + 5: "k_eOverworldMinigameAction_ReportCurrencyGained", + 6: "k_eOverworldMinigameAction_UnlockDifficulty", + } + EOverworldMinigameAction_value = map[string]int32{ + "k_eOverworldMinigameAction_Invalid": 0, + "k_eOverworldMinigameAction_DevReset": 1, + "k_eOverworldMinigameAction_DevGiveCurrency": 2, + "k_eOverworldMinigameAction_Purchase": 3, + "k_eOverworldMinigameAction_SetOption": 4, + "k_eOverworldMinigameAction_ReportCurrencyGained": 5, + "k_eOverworldMinigameAction_UnlockDifficulty": 6, + } +) + +func (x EOverworldMinigameAction) Enum() *EOverworldMinigameAction { + p := new(EOverworldMinigameAction) + *p = x + return p +} + +func (x EOverworldMinigameAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EOverworldMinigameAction) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_common_overworld_proto_enumTypes[3].Descriptor() +} + +func (EOverworldMinigameAction) Type() protoreflect.EnumType { + return &file_dota_gcmessages_common_overworld_proto_enumTypes[3] +} + +func (x EOverworldMinigameAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EOverworldMinigameAction) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EOverworldMinigameAction(num) + return nil +} + +// Deprecated: Use EOverworldMinigameAction.Descriptor instead. +func (EOverworldMinigameAction) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{3} } type CMsgClientToGCOverworldGetUserDataResponse_EResponse int32 @@ -222,11 +352,11 @@ func (x CMsgClientToGCOverworldGetUserDataResponse_EResponse) String() string { } func (CMsgClientToGCOverworldGetUserDataResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[2].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[4].Descriptor() } func (CMsgClientToGCOverworldGetUserDataResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[2] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[4] } func (x CMsgClientToGCOverworldGetUserDataResponse_EResponse) Number() protoreflect.EnumNumber { @@ -245,7 +375,7 @@ func (x *CMsgClientToGCOverworldGetUserDataResponse_EResponse) UnmarshalJSON(b [ // Deprecated: Use CMsgClientToGCOverworldGetUserDataResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldGetUserDataResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{13, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{15, 0} } type CMsgClientToGCOverworldCompletePathResponse_EResponse int32 @@ -302,11 +432,11 @@ func (x CMsgClientToGCOverworldCompletePathResponse_EResponse) String() string { } func (CMsgClientToGCOverworldCompletePathResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[3].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[5].Descriptor() } func (CMsgClientToGCOverworldCompletePathResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[3] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[5] } func (x CMsgClientToGCOverworldCompletePathResponse_EResponse) Number() protoreflect.EnumNumber { @@ -325,7 +455,7 @@ func (x *CMsgClientToGCOverworldCompletePathResponse_EResponse) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCOverworldCompletePathResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldCompletePathResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{16, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{18, 0} } type CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse int32 @@ -346,6 +476,7 @@ const ( CMsgClientToGCOverworldClaimEncounterRewardResponse_k_eInvalidEncounterData CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse = 12 CMsgClientToGCOverworldClaimEncounterRewardResponse_k_eNotEnoughTokensForReward CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse = 13 CMsgClientToGCOverworldClaimEncounterRewardResponse_k_eNotEnoughResourceForReward CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse = 14 + CMsgClientToGCOverworldClaimEncounterRewardResponse_k_eInvalidRewardData CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse = 15 ) // Enum value maps for CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse. @@ -366,6 +497,7 @@ var ( 12: "k_eInvalidEncounterData", 13: "k_eNotEnoughTokensForReward", 14: "k_eNotEnoughResourceForReward", + 15: "k_eInvalidRewardData", } CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse_value = map[string]int32{ "k_eInternalError": 0, @@ -383,6 +515,7 @@ var ( "k_eInvalidEncounterData": 12, "k_eNotEnoughTokensForReward": 13, "k_eNotEnoughResourceForReward": 14, + "k_eInvalidRewardData": 15, } ) @@ -397,11 +530,11 @@ func (x CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse) String() } func (CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[4].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[6].Descriptor() } func (CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[4] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[6] } func (x CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse) Number() protoreflect.EnumNumber { @@ -420,7 +553,7 @@ func (x *CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse) Unmarsha // Deprecated: Use CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{19, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{21, 0} } type CMsgClientToGCOverworldVisitEncounterResponse_EResponse int32 @@ -477,11 +610,11 @@ func (x CMsgClientToGCOverworldVisitEncounterResponse_EResponse) String() string } func (CMsgClientToGCOverworldVisitEncounterResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[5].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[7].Descriptor() } func (CMsgClientToGCOverworldVisitEncounterResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[5] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[7] } func (x CMsgClientToGCOverworldVisitEncounterResponse_EResponse) Number() protoreflect.EnumNumber { @@ -500,7 +633,7 @@ func (x *CMsgClientToGCOverworldVisitEncounterResponse_EResponse) UnmarshalJSON( // Deprecated: Use CMsgClientToGCOverworldVisitEncounterResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldVisitEncounterResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{21, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{23, 0} } type CMsgClientToGCOverworldMoveToNodeResponse_EResponse int32 @@ -551,11 +684,11 @@ func (x CMsgClientToGCOverworldMoveToNodeResponse_EResponse) String() string { } func (CMsgClientToGCOverworldMoveToNodeResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[6].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[8].Descriptor() } func (CMsgClientToGCOverworldMoveToNodeResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[6] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[8] } func (x CMsgClientToGCOverworldMoveToNodeResponse_EResponse) Number() protoreflect.EnumNumber { @@ -574,7 +707,7 @@ func (x *CMsgClientToGCOverworldMoveToNodeResponse_EResponse) UnmarshalJSON(b [] // Deprecated: Use CMsgClientToGCOverworldMoveToNodeResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldMoveToNodeResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{23, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{25, 0} } type CMsgClientToGCOverworldTradeTokensResponse_EResponse int32 @@ -640,11 +773,11 @@ func (x CMsgClientToGCOverworldTradeTokensResponse_EResponse) String() string { } func (CMsgClientToGCOverworldTradeTokensResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[7].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[9].Descriptor() } func (CMsgClientToGCOverworldTradeTokensResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[7] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[9] } func (x CMsgClientToGCOverworldTradeTokensResponse_EResponse) Number() protoreflect.EnumNumber { @@ -663,7 +796,7 @@ func (x *CMsgClientToGCOverworldTradeTokensResponse_EResponse) UnmarshalJSON(b [ // Deprecated: Use CMsgClientToGCOverworldTradeTokensResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldTradeTokensResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{25, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{27, 0} } type CMsgClientToGCOverworldGiftTokensResponse_EResponse int32 @@ -726,11 +859,11 @@ func (x CMsgClientToGCOverworldGiftTokensResponse_EResponse) String() string { } func (CMsgClientToGCOverworldGiftTokensResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[8].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[10].Descriptor() } func (CMsgClientToGCOverworldGiftTokensResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[8] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[10] } func (x CMsgClientToGCOverworldGiftTokensResponse_EResponse) Number() protoreflect.EnumNumber { @@ -749,7 +882,87 @@ func (x *CMsgClientToGCOverworldGiftTokensResponse_EResponse) UnmarshalJSON(b [] // Deprecated: Use CMsgClientToGCOverworldGiftTokensResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldGiftTokensResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{27, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{29, 0} +} + +type CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse int32 + +const ( + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eInternalError CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 0 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eSuccess CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 1 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eTooBusy CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 2 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eDisabled CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 3 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eTimeout CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 4 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eNotAllowed CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 5 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eNodeLocked CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 6 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eInvalidOverworld CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 7 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eInvalidFriend CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 8 + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eTooManyRequests CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse = 9 +) + +// Enum value maps for CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse. +var ( + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 5: "k_eNotAllowed", + 6: "k_eNodeLocked", + 7: "k_eInvalidOverworld", + 8: "k_eInvalidFriend", + 9: "k_eTooManyRequests", + } + CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eNotAllowed": 5, + "k_eNodeLocked": 6, + "k_eInvalidOverworld": 7, + "k_eInvalidFriend": 8, + "k_eTooManyRequests": 9, + } +) + +func (x CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) Enum() *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse { + p := new(CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_common_overworld_proto_enumTypes[11].Descriptor() +} + +func (CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_common_overworld_proto_enumTypes[11] +} + +func (x CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse.Descriptor instead. +func (CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{31, 0} } type CMsgClientToGCOverworldDevResetAllResponse_EResponse int32 @@ -797,11 +1010,11 @@ func (x CMsgClientToGCOverworldDevResetAllResponse_EResponse) String() string { } func (CMsgClientToGCOverworldDevResetAllResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[9].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[12].Descriptor() } func (CMsgClientToGCOverworldDevResetAllResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[9] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[12] } func (x CMsgClientToGCOverworldDevResetAllResponse_EResponse) Number() protoreflect.EnumNumber { @@ -820,7 +1033,7 @@ func (x *CMsgClientToGCOverworldDevResetAllResponse_EResponse) UnmarshalJSON(b [ // Deprecated: Use CMsgClientToGCOverworldDevResetAllResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldDevResetAllResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{29, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{33, 0} } type CMsgClientToGCOverworldDevResetNodeResponse_EResponse int32 @@ -871,11 +1084,11 @@ func (x CMsgClientToGCOverworldDevResetNodeResponse_EResponse) String() string { } func (CMsgClientToGCOverworldDevResetNodeResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[10].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[13].Descriptor() } func (CMsgClientToGCOverworldDevResetNodeResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[10] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[13] } func (x CMsgClientToGCOverworldDevResetNodeResponse_EResponse) Number() protoreflect.EnumNumber { @@ -894,7 +1107,7 @@ func (x *CMsgClientToGCOverworldDevResetNodeResponse_EResponse) UnmarshalJSON(b // Deprecated: Use CMsgClientToGCOverworldDevResetNodeResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldDevResetNodeResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{31, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{35, 0} } type CMsgClientToGCOverworldDevGrantTokensResponse_EResponse int32 @@ -942,11 +1155,11 @@ func (x CMsgClientToGCOverworldDevGrantTokensResponse_EResponse) String() string } func (CMsgClientToGCOverworldDevGrantTokensResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[11].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[14].Descriptor() } func (CMsgClientToGCOverworldDevGrantTokensResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[11] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[14] } func (x CMsgClientToGCOverworldDevGrantTokensResponse_EResponse) Number() protoreflect.EnumNumber { @@ -965,7 +1178,7 @@ func (x *CMsgClientToGCOverworldDevGrantTokensResponse_EResponse) UnmarshalJSON( // Deprecated: Use CMsgClientToGCOverworldDevGrantTokensResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldDevGrantTokensResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{33, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{37, 0} } type CMsgClientToGCOverworldDevClearInventoryResponse_EResponse int32 @@ -1013,11 +1226,11 @@ func (x CMsgClientToGCOverworldDevClearInventoryResponse_EResponse) String() str } func (CMsgClientToGCOverworldDevClearInventoryResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[12].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[15].Descriptor() } func (CMsgClientToGCOverworldDevClearInventoryResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[12] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[15] } func (x CMsgClientToGCOverworldDevClearInventoryResponse_EResponse) Number() protoreflect.EnumNumber { @@ -1036,7 +1249,7 @@ func (x *CMsgClientToGCOverworldDevClearInventoryResponse_EResponse) UnmarshalJS // Deprecated: Use CMsgClientToGCOverworldDevClearInventoryResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldDevClearInventoryResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{35, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{39, 0} } type CMsgClientToGCOverworldFeedbackResponse_EResponse int32 @@ -1084,11 +1297,11 @@ func (x CMsgClientToGCOverworldFeedbackResponse_EResponse) String() string { } func (CMsgClientToGCOverworldFeedbackResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[13].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[16].Descriptor() } func (CMsgClientToGCOverworldFeedbackResponse_EResponse) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[13] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[16] } func (x CMsgClientToGCOverworldFeedbackResponse_EResponse) Number() protoreflect.EnumNumber { @@ -1107,7 +1320,7 @@ func (x *CMsgClientToGCOverworldFeedbackResponse_EResponse) UnmarshalJSON(b []by // Deprecated: Use CMsgClientToGCOverworldFeedbackResponse_EResponse.Descriptor instead. func (CMsgClientToGCOverworldFeedbackResponse_EResponse) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{37, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{41, 0} } type CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat int32 @@ -1143,11 +1356,11 @@ func (x CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat) Stri } func (CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_common_overworld_proto_enumTypes[14].Descriptor() + return file_dota_gcmessages_common_overworld_proto_enumTypes[17].Descriptor() } func (CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat) Type() protoreflect.EnumType { - return &file_dota_gcmessages_common_overworld_proto_enumTypes[14] + return &file_dota_gcmessages_common_overworld_proto_enumTypes[17] } func (x CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat) Number() protoreflect.EnumNumber { @@ -1166,7 +1379,93 @@ func (x *CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat) Unm // Deprecated: Use CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat.Descriptor instead. func (CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{39, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{43, 0} +} + +type CMsgClientToGCOverworldMinigameActionResponse_EResponse int32 + +const ( + CMsgClientToGCOverworldMinigameActionResponse_k_eInternalError CMsgClientToGCOverworldMinigameActionResponse_EResponse = 0 + CMsgClientToGCOverworldMinigameActionResponse_k_eSuccess CMsgClientToGCOverworldMinigameActionResponse_EResponse = 1 + CMsgClientToGCOverworldMinigameActionResponse_k_eTooBusy CMsgClientToGCOverworldMinigameActionResponse_EResponse = 2 + CMsgClientToGCOverworldMinigameActionResponse_k_eDisabled CMsgClientToGCOverworldMinigameActionResponse_EResponse = 3 + CMsgClientToGCOverworldMinigameActionResponse_k_eTimeout CMsgClientToGCOverworldMinigameActionResponse_EResponse = 4 + CMsgClientToGCOverworldMinigameActionResponse_k_eInvalidOverworld CMsgClientToGCOverworldMinigameActionResponse_EResponse = 5 + CMsgClientToGCOverworldMinigameActionResponse_k_eInvalidNode CMsgClientToGCOverworldMinigameActionResponse_EResponse = 6 + CMsgClientToGCOverworldMinigameActionResponse_k_eNodeLocked CMsgClientToGCOverworldMinigameActionResponse_EResponse = 7 + CMsgClientToGCOverworldMinigameActionResponse_k_eInvalidSelection CMsgClientToGCOverworldMinigameActionResponse_EResponse = 8 + CMsgClientToGCOverworldMinigameActionResponse_k_eNotEnoughTokens CMsgClientToGCOverworldMinigameActionResponse_EResponse = 9 + CMsgClientToGCOverworldMinigameActionResponse_k_eNotEnoughMinigameCurrency CMsgClientToGCOverworldMinigameActionResponse_EResponse = 10 + CMsgClientToGCOverworldMinigameActionResponse_k_eNotAllowed CMsgClientToGCOverworldMinigameActionResponse_EResponse = 11 +) + +// Enum value maps for CMsgClientToGCOverworldMinigameActionResponse_EResponse. +var ( + CMsgClientToGCOverworldMinigameActionResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 5: "k_eInvalidOverworld", + 6: "k_eInvalidNode", + 7: "k_eNodeLocked", + 8: "k_eInvalidSelection", + 9: "k_eNotEnoughTokens", + 10: "k_eNotEnoughMinigameCurrency", + 11: "k_eNotAllowed", + } + CMsgClientToGCOverworldMinigameActionResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eInvalidOverworld": 5, + "k_eInvalidNode": 6, + "k_eNodeLocked": 7, + "k_eInvalidSelection": 8, + "k_eNotEnoughTokens": 9, + "k_eNotEnoughMinigameCurrency": 10, + "k_eNotAllowed": 11, + } +) + +func (x CMsgClientToGCOverworldMinigameActionResponse_EResponse) Enum() *CMsgClientToGCOverworldMinigameActionResponse_EResponse { + p := new(CMsgClientToGCOverworldMinigameActionResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCOverworldMinigameActionResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCOverworldMinigameActionResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_common_overworld_proto_enumTypes[18].Descriptor() +} + +func (CMsgClientToGCOverworldMinigameActionResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_common_overworld_proto_enumTypes[18] +} + +func (x CMsgClientToGCOverworldMinigameActionResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCOverworldMinigameActionResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCOverworldMinigameActionResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCOverworldMinigameActionResponse_EResponse.Descriptor instead. +func (CMsgClientToGCOverworldMinigameActionResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{45, 0} } type CMsgOverworldTokenCount struct { @@ -1653,8 +1952,9 @@ type CMsgOverworldPath struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PathId *uint32 `protobuf:"varint,1,opt,name=path_id,json=pathId" json:"path_id,omitempty"` - PathCost *CMsgOverworldTokenQuantity `protobuf:"bytes,2,opt,name=path_cost,json=pathCost" json:"path_cost,omitempty"` + PathId *uint32 `protobuf:"varint,1,opt,name=path_id,json=pathId" json:"path_id,omitempty"` + PathCost *CMsgOverworldTokenQuantity `protobuf:"bytes,2,opt,name=path_cost,json=pathCost" json:"path_cost,omitempty"` + PathState *EOverworldPathState `protobuf:"varint,3,opt,name=path_state,json=pathState,enum=dota.EOverworldPathState" json:"path_state,omitempty"` } func (x *CMsgOverworldPath) Reset() { @@ -1703,19 +2003,26 @@ func (x *CMsgOverworldPath) GetPathCost() *CMsgOverworldTokenQuantity { return nil } -type CMsgOverworldUserData struct { +func (x *CMsgOverworldPath) GetPathState() EOverworldPathState { + if x != nil && x.PathState != nil { + return *x.PathState + } + return EOverworldPathState_k_eOverworldPathState_Invalid +} + +type CMsgOverworldMinigameCustomData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TokenInventory *CMsgOverworldTokenQuantity `protobuf:"bytes,1,opt,name=token_inventory,json=tokenInventory" json:"token_inventory,omitempty"` - OverworldNodes []*CMsgOverworldNode `protobuf:"bytes,2,rep,name=overworld_nodes,json=overworldNodes" json:"overworld_nodes,omitempty"` - OverworldPaths []*CMsgOverworldPath `protobuf:"bytes,3,rep,name=overworld_paths,json=overworldPaths" json:"overworld_paths,omitempty"` - CurrentNodeId *uint32 `protobuf:"varint,4,opt,name=current_node_id,json=currentNodeId" json:"current_node_id,omitempty"` + // Types that are assignable to MinigameType: + // + // *CMsgOverworldMinigameCustomData_SurvivorsData + MinigameType isCMsgOverworldMinigameCustomData_MinigameType `protobuf_oneof:"minigame_type"` } -func (x *CMsgOverworldUserData) Reset() { - *x = CMsgOverworldUserData{} +func (x *CMsgOverworldMinigameCustomData) Reset() { + *x = CMsgOverworldMinigameCustomData{} if protoimpl.UnsafeEnabled { mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1723,13 +2030,13 @@ func (x *CMsgOverworldUserData) Reset() { } } -func (x *CMsgOverworldUserData) String() string { +func (x *CMsgOverworldMinigameCustomData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgOverworldUserData) ProtoMessage() {} +func (*CMsgOverworldMinigameCustomData) ProtoMessage() {} -func (x *CMsgOverworldUserData) ProtoReflect() protoreflect.Message { +func (x *CMsgOverworldMinigameCustomData) ProtoReflect() protoreflect.Message { mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1741,21 +2048,153 @@ func (x *CMsgOverworldUserData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgOverworldUserData.ProtoReflect.Descriptor instead. -func (*CMsgOverworldUserData) Descriptor() ([]byte, []int) { +// Deprecated: Use CMsgOverworldMinigameCustomData.ProtoReflect.Descriptor instead. +func (*CMsgOverworldMinigameCustomData) Descriptor() ([]byte, []int) { return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{10} } -func (x *CMsgOverworldUserData) GetTokenInventory() *CMsgOverworldTokenQuantity { - if x != nil { - return x.TokenInventory +func (m *CMsgOverworldMinigameCustomData) GetMinigameType() isCMsgOverworldMinigameCustomData_MinigameType { + if m != nil { + return m.MinigameType } return nil } -func (x *CMsgOverworldUserData) GetOverworldNodes() []*CMsgOverworldNode { - if x != nil { - return x.OverworldNodes +func (x *CMsgOverworldMinigameCustomData) GetSurvivorsData() *CMsgSurvivorsUserData { + if x, ok := x.GetMinigameType().(*CMsgOverworldMinigameCustomData_SurvivorsData); ok { + return x.SurvivorsData + } + return nil +} + +type isCMsgOverworldMinigameCustomData_MinigameType interface { + isCMsgOverworldMinigameCustomData_MinigameType() +} + +type CMsgOverworldMinigameCustomData_SurvivorsData struct { + SurvivorsData *CMsgSurvivorsUserData `protobuf:"bytes,1,opt,name=survivors_data,json=survivorsData,oneof"` +} + +func (*CMsgOverworldMinigameCustomData_SurvivorsData) isCMsgOverworldMinigameCustomData_MinigameType() { +} + +type CMsgOverworldMinigameUserData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId *uint32 `protobuf:"varint,1,opt,name=node_id,json=nodeId" json:"node_id,omitempty"` + CurrencyAmount *uint32 `protobuf:"varint,2,opt,name=currency_amount,json=currencyAmount" json:"currency_amount,omitempty"` + CustomData *CMsgOverworldMinigameCustomData `protobuf:"bytes,3,opt,name=custom_data,json=customData" json:"custom_data,omitempty"` +} + +func (x *CMsgOverworldMinigameUserData) Reset() { + *x = CMsgOverworldMinigameUserData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgOverworldMinigameUserData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgOverworldMinigameUserData) ProtoMessage() {} + +func (x *CMsgOverworldMinigameUserData) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgOverworldMinigameUserData.ProtoReflect.Descriptor instead. +func (*CMsgOverworldMinigameUserData) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{11} +} + +func (x *CMsgOverworldMinigameUserData) GetNodeId() uint32 { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return 0 +} + +func (x *CMsgOverworldMinigameUserData) GetCurrencyAmount() uint32 { + if x != nil && x.CurrencyAmount != nil { + return *x.CurrencyAmount + } + return 0 +} + +func (x *CMsgOverworldMinigameUserData) GetCustomData() *CMsgOverworldMinigameCustomData { + if x != nil { + return x.CustomData + } + return nil +} + +type CMsgOverworldUserData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TokenInventory *CMsgOverworldTokenQuantity `protobuf:"bytes,1,opt,name=token_inventory,json=tokenInventory" json:"token_inventory,omitempty"` + OverworldNodes []*CMsgOverworldNode `protobuf:"bytes,2,rep,name=overworld_nodes,json=overworldNodes" json:"overworld_nodes,omitempty"` + OverworldPaths []*CMsgOverworldPath `protobuf:"bytes,3,rep,name=overworld_paths,json=overworldPaths" json:"overworld_paths,omitempty"` + CurrentNodeId *uint32 `protobuf:"varint,4,opt,name=current_node_id,json=currentNodeId" json:"current_node_id,omitempty"` + MinigameData []*CMsgOverworldUserData_MinigameDataEntry `protobuf:"bytes,5,rep,name=minigame_data,json=minigameData" json:"minigame_data,omitempty"` +} + +func (x *CMsgOverworldUserData) Reset() { + *x = CMsgOverworldUserData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgOverworldUserData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgOverworldUserData) ProtoMessage() {} + +func (x *CMsgOverworldUserData) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgOverworldUserData.ProtoReflect.Descriptor instead. +func (*CMsgOverworldUserData) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{12} +} + +func (x *CMsgOverworldUserData) GetTokenInventory() *CMsgOverworldTokenQuantity { + if x != nil { + return x.TokenInventory + } + return nil +} + +func (x *CMsgOverworldUserData) GetOverworldNodes() []*CMsgOverworldNode { + if x != nil { + return x.OverworldNodes } return nil } @@ -1774,6 +2213,13 @@ func (x *CMsgOverworldUserData) GetCurrentNodeId() uint32 { return 0 } +func (x *CMsgOverworldUserData) GetMinigameData() []*CMsgOverworldUserData_MinigameDataEntry { + if x != nil { + return x.MinigameData + } + return nil +} + type CMsgOverworldMatchRewards struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1785,7 +2231,7 @@ type CMsgOverworldMatchRewards struct { func (x *CMsgOverworldMatchRewards) Reset() { *x = CMsgOverworldMatchRewards{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[11] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1798,7 +2244,7 @@ func (x *CMsgOverworldMatchRewards) String() string { func (*CMsgOverworldMatchRewards) ProtoMessage() {} func (x *CMsgOverworldMatchRewards) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[11] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1811,7 +2257,7 @@ func (x *CMsgOverworldMatchRewards) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgOverworldMatchRewards.ProtoReflect.Descriptor instead. func (*CMsgOverworldMatchRewards) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{11} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{13} } func (x *CMsgOverworldMatchRewards) GetPlayers() []*CMsgOverworldMatchRewards_Player { @@ -1832,7 +2278,7 @@ type CMsgClientToGCOverworldGetUserData struct { func (x *CMsgClientToGCOverworldGetUserData) Reset() { *x = CMsgClientToGCOverworldGetUserData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[12] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1845,7 +2291,7 @@ func (x *CMsgClientToGCOverworldGetUserData) String() string { func (*CMsgClientToGCOverworldGetUserData) ProtoMessage() {} func (x *CMsgClientToGCOverworldGetUserData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[12] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1858,7 +2304,7 @@ func (x *CMsgClientToGCOverworldGetUserData) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCOverworldGetUserData.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldGetUserData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{12} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{14} } func (x *CMsgClientToGCOverworldGetUserData) GetOverworldId() uint32 { @@ -1880,7 +2326,7 @@ type CMsgClientToGCOverworldGetUserDataResponse struct { func (x *CMsgClientToGCOverworldGetUserDataResponse) Reset() { *x = CMsgClientToGCOverworldGetUserDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[13] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1893,7 +2339,7 @@ func (x *CMsgClientToGCOverworldGetUserDataResponse) String() string { func (*CMsgClientToGCOverworldGetUserDataResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldGetUserDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[13] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1906,7 +2352,7 @@ func (x *CMsgClientToGCOverworldGetUserDataResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCOverworldGetUserDataResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldGetUserDataResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{13} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{15} } func (x *CMsgClientToGCOverworldGetUserDataResponse) GetResponse() CMsgClientToGCOverworldGetUserDataResponse_EResponse { @@ -1935,7 +2381,7 @@ type CMsgGCToClientOverworldUserDataUpdated struct { func (x *CMsgGCToClientOverworldUserDataUpdated) Reset() { *x = CMsgGCToClientOverworldUserDataUpdated{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[14] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1948,7 +2394,7 @@ func (x *CMsgGCToClientOverworldUserDataUpdated) String() string { func (*CMsgGCToClientOverworldUserDataUpdated) ProtoMessage() {} func (x *CMsgGCToClientOverworldUserDataUpdated) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[14] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1961,7 +2407,7 @@ func (x *CMsgGCToClientOverworldUserDataUpdated) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCToClientOverworldUserDataUpdated.ProtoReflect.Descriptor instead. func (*CMsgGCToClientOverworldUserDataUpdated) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{14} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{16} } func (x *CMsgGCToClientOverworldUserDataUpdated) GetOverworldId() uint32 { @@ -1990,7 +2436,7 @@ type CMsgClientToGCOverworldCompletePath struct { func (x *CMsgClientToGCOverworldCompletePath) Reset() { *x = CMsgClientToGCOverworldCompletePath{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[15] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2003,7 +2449,7 @@ func (x *CMsgClientToGCOverworldCompletePath) String() string { func (*CMsgClientToGCOverworldCompletePath) ProtoMessage() {} func (x *CMsgClientToGCOverworldCompletePath) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[15] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2016,7 +2462,7 @@ func (x *CMsgClientToGCOverworldCompletePath) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCOverworldCompletePath.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldCompletePath) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{15} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{17} } func (x *CMsgClientToGCOverworldCompletePath) GetOverworldId() uint32 { @@ -2045,7 +2491,7 @@ type CMsgClientToGCOverworldCompletePathResponse struct { func (x *CMsgClientToGCOverworldCompletePathResponse) Reset() { *x = CMsgClientToGCOverworldCompletePathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[16] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2058,7 +2504,7 @@ func (x *CMsgClientToGCOverworldCompletePathResponse) String() string { func (*CMsgClientToGCOverworldCompletePathResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldCompletePathResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[16] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2071,7 +2517,7 @@ func (x *CMsgClientToGCOverworldCompletePathResponse) ProtoReflect() protoreflec // Deprecated: Use CMsgClientToGCOverworldCompletePathResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldCompletePathResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{16} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{18} } func (x *CMsgClientToGCOverworldCompletePathResponse) GetResponse() CMsgClientToGCOverworldCompletePathResponse_EResponse { @@ -2100,7 +2546,7 @@ type CMsgOverworldEncounterPitFighterRewardData struct { func (x *CMsgOverworldEncounterPitFighterRewardData) Reset() { *x = CMsgOverworldEncounterPitFighterRewardData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[17] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2113,7 +2559,7 @@ func (x *CMsgOverworldEncounterPitFighterRewardData) String() string { func (*CMsgOverworldEncounterPitFighterRewardData) ProtoMessage() {} func (x *CMsgOverworldEncounterPitFighterRewardData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[17] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2126,7 +2572,7 @@ func (x *CMsgOverworldEncounterPitFighterRewardData) ProtoReflect() protoreflect // Deprecated: Use CMsgOverworldEncounterPitFighterRewardData.ProtoReflect.Descriptor instead. func (*CMsgOverworldEncounterPitFighterRewardData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{17} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{19} } func (x *CMsgOverworldEncounterPitFighterRewardData) GetTokenId() uint32 { @@ -2153,12 +2599,15 @@ type CMsgClientToGCOverworldClaimEncounterReward struct { RewardData *uint32 `protobuf:"varint,3,opt,name=reward_data,json=rewardData" json:"reward_data,omitempty"` PeriodicResourceId *uint32 `protobuf:"varint,4,opt,name=periodic_resource_id,json=periodicResourceId" json:"periodic_resource_id,omitempty"` ExtraRewardData *CMsgOverworldEncounterData `protobuf:"bytes,5,opt,name=extra_reward_data,json=extraRewardData" json:"extra_reward_data,omitempty"` + LeaderboardData *uint32 `protobuf:"varint,6,opt,name=leaderboard_data,json=leaderboardData" json:"leaderboard_data,omitempty"` + LeaderboardIndex *uint32 `protobuf:"varint,7,opt,name=leaderboard_index,json=leaderboardIndex" json:"leaderboard_index,omitempty"` + ShouldClaimReward *bool `protobuf:"varint,8,opt,name=should_claim_reward,json=shouldClaimReward" json:"should_claim_reward,omitempty"` } func (x *CMsgClientToGCOverworldClaimEncounterReward) Reset() { *x = CMsgClientToGCOverworldClaimEncounterReward{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[18] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2171,7 +2620,7 @@ func (x *CMsgClientToGCOverworldClaimEncounterReward) String() string { func (*CMsgClientToGCOverworldClaimEncounterReward) ProtoMessage() {} func (x *CMsgClientToGCOverworldClaimEncounterReward) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[18] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2184,7 +2633,7 @@ func (x *CMsgClientToGCOverworldClaimEncounterReward) ProtoReflect() protoreflec // Deprecated: Use CMsgClientToGCOverworldClaimEncounterReward.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldClaimEncounterReward) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{18} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{20} } func (x *CMsgClientToGCOverworldClaimEncounterReward) GetOverworldId() uint32 { @@ -2222,6 +2671,27 @@ func (x *CMsgClientToGCOverworldClaimEncounterReward) GetExtraRewardData() *CMsg return nil } +func (x *CMsgClientToGCOverworldClaimEncounterReward) GetLeaderboardData() uint32 { + if x != nil && x.LeaderboardData != nil { + return *x.LeaderboardData + } + return 0 +} + +func (x *CMsgClientToGCOverworldClaimEncounterReward) GetLeaderboardIndex() uint32 { + if x != nil && x.LeaderboardIndex != nil { + return *x.LeaderboardIndex + } + return 0 +} + +func (x *CMsgClientToGCOverworldClaimEncounterReward) GetShouldClaimReward() bool { + if x != nil && x.ShouldClaimReward != nil { + return *x.ShouldClaimReward + } + return false +} + type CMsgClientToGCOverworldClaimEncounterRewardResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2235,7 +2705,7 @@ type CMsgClientToGCOverworldClaimEncounterRewardResponse struct { func (x *CMsgClientToGCOverworldClaimEncounterRewardResponse) Reset() { *x = CMsgClientToGCOverworldClaimEncounterRewardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[19] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2248,7 +2718,7 @@ func (x *CMsgClientToGCOverworldClaimEncounterRewardResponse) String() string { func (*CMsgClientToGCOverworldClaimEncounterRewardResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldClaimEncounterRewardResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[19] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2261,7 +2731,7 @@ func (x *CMsgClientToGCOverworldClaimEncounterRewardResponse) ProtoReflect() pro // Deprecated: Use CMsgClientToGCOverworldClaimEncounterRewardResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldClaimEncounterRewardResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{19} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{21} } func (x *CMsgClientToGCOverworldClaimEncounterRewardResponse) GetResponse() CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse { @@ -2297,7 +2767,7 @@ type CMsgClientToGCOverworldVisitEncounter struct { func (x *CMsgClientToGCOverworldVisitEncounter) Reset() { *x = CMsgClientToGCOverworldVisitEncounter{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[20] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2310,7 +2780,7 @@ func (x *CMsgClientToGCOverworldVisitEncounter) String() string { func (*CMsgClientToGCOverworldVisitEncounter) ProtoMessage() {} func (x *CMsgClientToGCOverworldVisitEncounter) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[20] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2323,7 +2793,7 @@ func (x *CMsgClientToGCOverworldVisitEncounter) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCOverworldVisitEncounter.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldVisitEncounter) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{20} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{22} } func (x *CMsgClientToGCOverworldVisitEncounter) GetOverworldId() uint32 { @@ -2351,7 +2821,7 @@ type CMsgClientToGCOverworldVisitEncounterResponse struct { func (x *CMsgClientToGCOverworldVisitEncounterResponse) Reset() { *x = CMsgClientToGCOverworldVisitEncounterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[21] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2364,7 +2834,7 @@ func (x *CMsgClientToGCOverworldVisitEncounterResponse) String() string { func (*CMsgClientToGCOverworldVisitEncounterResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldVisitEncounterResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[21] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2377,7 +2847,7 @@ func (x *CMsgClientToGCOverworldVisitEncounterResponse) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCOverworldVisitEncounterResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldVisitEncounterResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{21} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{23} } func (x *CMsgClientToGCOverworldVisitEncounterResponse) GetResponse() CMsgClientToGCOverworldVisitEncounterResponse_EResponse { @@ -2399,7 +2869,7 @@ type CMsgClientToGCOverworldMoveToNode struct { func (x *CMsgClientToGCOverworldMoveToNode) Reset() { *x = CMsgClientToGCOverworldMoveToNode{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[22] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2412,7 +2882,7 @@ func (x *CMsgClientToGCOverworldMoveToNode) String() string { func (*CMsgClientToGCOverworldMoveToNode) ProtoMessage() {} func (x *CMsgClientToGCOverworldMoveToNode) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[22] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2425,7 +2895,7 @@ func (x *CMsgClientToGCOverworldMoveToNode) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCOverworldMoveToNode.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldMoveToNode) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{22} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{24} } func (x *CMsgClientToGCOverworldMoveToNode) GetOverworldId() uint32 { @@ -2453,7 +2923,7 @@ type CMsgClientToGCOverworldMoveToNodeResponse struct { func (x *CMsgClientToGCOverworldMoveToNodeResponse) Reset() { *x = CMsgClientToGCOverworldMoveToNodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[23] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2466,7 +2936,7 @@ func (x *CMsgClientToGCOverworldMoveToNodeResponse) String() string { func (*CMsgClientToGCOverworldMoveToNodeResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldMoveToNodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[23] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2479,7 +2949,7 @@ func (x *CMsgClientToGCOverworldMoveToNodeResponse) ProtoReflect() protoreflect. // Deprecated: Use CMsgClientToGCOverworldMoveToNodeResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldMoveToNodeResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{23} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{25} } func (x *CMsgClientToGCOverworldMoveToNodeResponse) GetResponse() CMsgClientToGCOverworldMoveToNodeResponse_EResponse { @@ -2504,7 +2974,7 @@ type CMsgClientToGCOverworldTradeTokens struct { func (x *CMsgClientToGCOverworldTradeTokens) Reset() { *x = CMsgClientToGCOverworldTradeTokens{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[24] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2517,7 +2987,7 @@ func (x *CMsgClientToGCOverworldTradeTokens) String() string { func (*CMsgClientToGCOverworldTradeTokens) ProtoMessage() {} func (x *CMsgClientToGCOverworldTradeTokens) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[24] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2530,7 +3000,7 @@ func (x *CMsgClientToGCOverworldTradeTokens) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCOverworldTradeTokens.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldTradeTokens) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{24} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{26} } func (x *CMsgClientToGCOverworldTradeTokens) GetOverworldId() uint32 { @@ -2580,7 +3050,7 @@ type CMsgClientToGCOverworldTradeTokensResponse struct { func (x *CMsgClientToGCOverworldTradeTokensResponse) Reset() { *x = CMsgClientToGCOverworldTradeTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[25] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2593,7 +3063,7 @@ func (x *CMsgClientToGCOverworldTradeTokensResponse) String() string { func (*CMsgClientToGCOverworldTradeTokensResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldTradeTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[25] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2606,7 +3076,7 @@ func (x *CMsgClientToGCOverworldTradeTokensResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgClientToGCOverworldTradeTokensResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldTradeTokensResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{25} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{27} } func (x *CMsgClientToGCOverworldTradeTokensResponse) GetResponse() CMsgClientToGCOverworldTradeTokensResponse_EResponse { @@ -2637,7 +3107,7 @@ type CMsgClientToGCOverworldGiftTokens struct { func (x *CMsgClientToGCOverworldGiftTokens) Reset() { *x = CMsgClientToGCOverworldGiftTokens{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[26] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2650,7 +3120,7 @@ func (x *CMsgClientToGCOverworldGiftTokens) String() string { func (*CMsgClientToGCOverworldGiftTokens) ProtoMessage() {} func (x *CMsgClientToGCOverworldGiftTokens) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[26] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2663,7 +3133,7 @@ func (x *CMsgClientToGCOverworldGiftTokens) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgClientToGCOverworldGiftTokens.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldGiftTokens) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{26} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{28} } func (x *CMsgClientToGCOverworldGiftTokens) GetOverworldId() uint32 { @@ -2705,7 +3175,7 @@ type CMsgClientToGCOverworldGiftTokensResponse struct { func (x *CMsgClientToGCOverworldGiftTokensResponse) Reset() { *x = CMsgClientToGCOverworldGiftTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[27] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2718,7 +3188,7 @@ func (x *CMsgClientToGCOverworldGiftTokensResponse) String() string { func (*CMsgClientToGCOverworldGiftTokensResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldGiftTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[27] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2731,7 +3201,7 @@ func (x *CMsgClientToGCOverworldGiftTokensResponse) ProtoReflect() protoreflect. // Deprecated: Use CMsgClientToGCOverworldGiftTokensResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldGiftTokensResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{27} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{29} } func (x *CMsgClientToGCOverworldGiftTokensResponse) GetResponse() CMsgClientToGCOverworldGiftTokensResponse_EResponse { @@ -2741,31 +3211,32 @@ func (x *CMsgClientToGCOverworldGiftTokensResponse) GetResponse() CMsgClientToGC return CMsgClientToGCOverworldGiftTokensResponse_k_eInternalError } -type CMsgClientToGCOverworldDevResetAll struct { +type CMsgClientToGCOverworldRequestTokensNeededByFriend struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OverworldId *uint32 `protobuf:"varint,1,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` + FriendAccountId *uint32 `protobuf:"varint,1,opt,name=friend_account_id,json=friendAccountId" json:"friend_account_id,omitempty"` + OverworldId *uint32 `protobuf:"varint,2,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` } -func (x *CMsgClientToGCOverworldDevResetAll) Reset() { - *x = CMsgClientToGCOverworldDevResetAll{} +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriend) Reset() { + *x = CMsgClientToGCOverworldRequestTokensNeededByFriend{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[28] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgClientToGCOverworldDevResetAll) String() string { +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriend) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgClientToGCOverworldDevResetAll) ProtoMessage() {} +func (*CMsgClientToGCOverworldRequestTokensNeededByFriend) ProtoMessage() {} -func (x *CMsgClientToGCOverworldDevResetAll) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[28] +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriend) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2776,43 +3247,51 @@ func (x *CMsgClientToGCOverworldDevResetAll) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use CMsgClientToGCOverworldDevResetAll.ProtoReflect.Descriptor instead. -func (*CMsgClientToGCOverworldDevResetAll) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{28} +// Deprecated: Use CMsgClientToGCOverworldRequestTokensNeededByFriend.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCOverworldRequestTokensNeededByFriend) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{30} } -func (x *CMsgClientToGCOverworldDevResetAll) GetOverworldId() uint32 { +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriend) GetFriendAccountId() uint32 { + if x != nil && x.FriendAccountId != nil { + return *x.FriendAccountId + } + return 0 +} + +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriend) GetOverworldId() uint32 { if x != nil && x.OverworldId != nil { return *x.OverworldId } return 0 } -type CMsgClientToGCOverworldDevResetAllResponse struct { +type CMsgClientToGCOverworldRequestTokensNeededByFriendResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Response *CMsgClientToGCOverworldDevResetAllResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCOverworldDevResetAllResponse_EResponse" json:"response,omitempty"` + Response *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse" json:"response,omitempty"` + TokenQuantity *CMsgOverworldTokenQuantity `protobuf:"bytes,2,opt,name=token_quantity,json=tokenQuantity" json:"token_quantity,omitempty"` } -func (x *CMsgClientToGCOverworldDevResetAllResponse) Reset() { - *x = CMsgClientToGCOverworldDevResetAllResponse{} +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse) Reset() { + *x = CMsgClientToGCOverworldRequestTokensNeededByFriendResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[29] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgClientToGCOverworldDevResetAllResponse) String() string { +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgClientToGCOverworldDevResetAllResponse) ProtoMessage() {} +func (*CMsgClientToGCOverworldRequestTokensNeededByFriendResponse) ProtoMessage() {} -func (x *CMsgClientToGCOverworldDevResetAllResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[29] +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2823,9 +3302,110 @@ func (x *CMsgClientToGCOverworldDevResetAllResponse) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use CMsgClientToGCOverworldDevResetAllResponse.ProtoReflect.Descriptor instead. +// Deprecated: Use CMsgClientToGCOverworldRequestTokensNeededByFriendResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCOverworldRequestTokensNeededByFriendResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{31} +} + +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse) GetResponse() CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_k_eInternalError +} + +func (x *CMsgClientToGCOverworldRequestTokensNeededByFriendResponse) GetTokenQuantity() *CMsgOverworldTokenQuantity { + if x != nil { + return x.TokenQuantity + } + return nil +} + +type CMsgClientToGCOverworldDevResetAll struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OverworldId *uint32 `protobuf:"varint,1,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` +} + +func (x *CMsgClientToGCOverworldDevResetAll) Reset() { + *x = CMsgClientToGCOverworldDevResetAll{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCOverworldDevResetAll) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCOverworldDevResetAll) ProtoMessage() {} + +func (x *CMsgClientToGCOverworldDevResetAll) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCOverworldDevResetAll.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCOverworldDevResetAll) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{32} +} + +func (x *CMsgClientToGCOverworldDevResetAll) GetOverworldId() uint32 { + if x != nil && x.OverworldId != nil { + return *x.OverworldId + } + return 0 +} + +type CMsgClientToGCOverworldDevResetAllResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCOverworldDevResetAllResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCOverworldDevResetAllResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCOverworldDevResetAllResponse) Reset() { + *x = CMsgClientToGCOverworldDevResetAllResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCOverworldDevResetAllResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCOverworldDevResetAllResponse) ProtoMessage() {} + +func (x *CMsgClientToGCOverworldDevResetAllResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCOverworldDevResetAllResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldDevResetAllResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{29} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{33} } func (x *CMsgClientToGCOverworldDevResetAllResponse) GetResponse() CMsgClientToGCOverworldDevResetAllResponse_EResponse { @@ -2847,7 +3427,7 @@ type CMsgClientToGCOverworldDevResetNode struct { func (x *CMsgClientToGCOverworldDevResetNode) Reset() { *x = CMsgClientToGCOverworldDevResetNode{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[30] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2860,7 +3440,7 @@ func (x *CMsgClientToGCOverworldDevResetNode) String() string { func (*CMsgClientToGCOverworldDevResetNode) ProtoMessage() {} func (x *CMsgClientToGCOverworldDevResetNode) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[30] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2873,7 +3453,7 @@ func (x *CMsgClientToGCOverworldDevResetNode) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgClientToGCOverworldDevResetNode.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldDevResetNode) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{30} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{34} } func (x *CMsgClientToGCOverworldDevResetNode) GetOverworldId() uint32 { @@ -2901,7 +3481,7 @@ type CMsgClientToGCOverworldDevResetNodeResponse struct { func (x *CMsgClientToGCOverworldDevResetNodeResponse) Reset() { *x = CMsgClientToGCOverworldDevResetNodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[31] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2914,7 +3494,7 @@ func (x *CMsgClientToGCOverworldDevResetNodeResponse) String() string { func (*CMsgClientToGCOverworldDevResetNodeResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldDevResetNodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[31] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2927,7 +3507,7 @@ func (x *CMsgClientToGCOverworldDevResetNodeResponse) ProtoReflect() protoreflec // Deprecated: Use CMsgClientToGCOverworldDevResetNodeResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldDevResetNodeResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{31} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{35} } func (x *CMsgClientToGCOverworldDevResetNodeResponse) GetResponse() CMsgClientToGCOverworldDevResetNodeResponse_EResponse { @@ -2949,7 +3529,7 @@ type CMsgClientToGCOverworldDevGrantTokens struct { func (x *CMsgClientToGCOverworldDevGrantTokens) Reset() { *x = CMsgClientToGCOverworldDevGrantTokens{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[32] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2962,7 +3542,7 @@ func (x *CMsgClientToGCOverworldDevGrantTokens) String() string { func (*CMsgClientToGCOverworldDevGrantTokens) ProtoMessage() {} func (x *CMsgClientToGCOverworldDevGrantTokens) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[32] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2975,7 +3555,7 @@ func (x *CMsgClientToGCOverworldDevGrantTokens) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgClientToGCOverworldDevGrantTokens.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldDevGrantTokens) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{32} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{36} } func (x *CMsgClientToGCOverworldDevGrantTokens) GetOverworldId() uint32 { @@ -3003,7 +3583,7 @@ type CMsgClientToGCOverworldDevGrantTokensResponse struct { func (x *CMsgClientToGCOverworldDevGrantTokensResponse) Reset() { *x = CMsgClientToGCOverworldDevGrantTokensResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[33] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3016,7 +3596,7 @@ func (x *CMsgClientToGCOverworldDevGrantTokensResponse) String() string { func (*CMsgClientToGCOverworldDevGrantTokensResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldDevGrantTokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[33] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3029,7 +3609,7 @@ func (x *CMsgClientToGCOverworldDevGrantTokensResponse) ProtoReflect() protorefl // Deprecated: Use CMsgClientToGCOverworldDevGrantTokensResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldDevGrantTokensResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{33} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{37} } func (x *CMsgClientToGCOverworldDevGrantTokensResponse) GetResponse() CMsgClientToGCOverworldDevGrantTokensResponse_EResponse { @@ -3050,7 +3630,7 @@ type CMsgClientToGCOverworldDevClearInventory struct { func (x *CMsgClientToGCOverworldDevClearInventory) Reset() { *x = CMsgClientToGCOverworldDevClearInventory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[34] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3063,7 +3643,7 @@ func (x *CMsgClientToGCOverworldDevClearInventory) String() string { func (*CMsgClientToGCOverworldDevClearInventory) ProtoMessage() {} func (x *CMsgClientToGCOverworldDevClearInventory) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[34] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3076,7 +3656,7 @@ func (x *CMsgClientToGCOverworldDevClearInventory) ProtoReflect() protoreflect.M // Deprecated: Use CMsgClientToGCOverworldDevClearInventory.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldDevClearInventory) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{34} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{38} } func (x *CMsgClientToGCOverworldDevClearInventory) GetOverworldId() uint32 { @@ -3097,7 +3677,7 @@ type CMsgClientToGCOverworldDevClearInventoryResponse struct { func (x *CMsgClientToGCOverworldDevClearInventoryResponse) Reset() { *x = CMsgClientToGCOverworldDevClearInventoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[35] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3110,7 +3690,7 @@ func (x *CMsgClientToGCOverworldDevClearInventoryResponse) String() string { func (*CMsgClientToGCOverworldDevClearInventoryResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldDevClearInventoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[35] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3123,7 +3703,7 @@ func (x *CMsgClientToGCOverworldDevClearInventoryResponse) ProtoReflect() protor // Deprecated: Use CMsgClientToGCOverworldDevClearInventoryResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldDevClearInventoryResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{35} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{39} } func (x *CMsgClientToGCOverworldDevClearInventoryResponse) GetResponse() CMsgClientToGCOverworldDevClearInventoryResponse_EResponse { @@ -3146,7 +3726,7 @@ type CMsgClientToGCOverworldFeedback struct { func (x *CMsgClientToGCOverworldFeedback) Reset() { *x = CMsgClientToGCOverworldFeedback{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[36] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3159,7 +3739,7 @@ func (x *CMsgClientToGCOverworldFeedback) String() string { func (*CMsgClientToGCOverworldFeedback) ProtoMessage() {} func (x *CMsgClientToGCOverworldFeedback) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[36] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3172,7 +3752,7 @@ func (x *CMsgClientToGCOverworldFeedback) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgClientToGCOverworldFeedback.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldFeedback) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{36} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{40} } func (x *CMsgClientToGCOverworldFeedback) GetLanguage() uint32 { @@ -3207,7 +3787,7 @@ type CMsgClientToGCOverworldFeedbackResponse struct { func (x *CMsgClientToGCOverworldFeedbackResponse) Reset() { *x = CMsgClientToGCOverworldFeedbackResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[37] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3220,7 +3800,7 @@ func (x *CMsgClientToGCOverworldFeedbackResponse) String() string { func (*CMsgClientToGCOverworldFeedbackResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldFeedbackResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[37] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3233,7 +3813,7 @@ func (x *CMsgClientToGCOverworldFeedbackResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgClientToGCOverworldFeedbackResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldFeedbackResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{37} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{41} } func (x *CMsgClientToGCOverworldFeedbackResponse) GetResponse() CMsgClientToGCOverworldFeedbackResponse_EResponse { @@ -3256,7 +3836,7 @@ type CMsgClientToGCOverworldGetDynamicImage struct { func (x *CMsgClientToGCOverworldGetDynamicImage) Reset() { *x = CMsgClientToGCOverworldGetDynamicImage{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[38] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3269,7 +3849,7 @@ func (x *CMsgClientToGCOverworldGetDynamicImage) String() string { func (*CMsgClientToGCOverworldGetDynamicImage) ProtoMessage() {} func (x *CMsgClientToGCOverworldGetDynamicImage) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[38] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3282,7 +3862,7 @@ func (x *CMsgClientToGCOverworldGetDynamicImage) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgClientToGCOverworldGetDynamicImage.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldGetDynamicImage) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{38} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{42} } func (x *CMsgClientToGCOverworldGetDynamicImage) GetMagic() uint32 { @@ -3318,7 +3898,7 @@ type CMsgClientToGCOverworldGetDynamicImageResponse struct { func (x *CMsgClientToGCOverworldGetDynamicImageResponse) Reset() { *x = CMsgClientToGCOverworldGetDynamicImageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[39] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3331,7 +3911,7 @@ func (x *CMsgClientToGCOverworldGetDynamicImageResponse) String() string { func (*CMsgClientToGCOverworldGetDynamicImageResponse) ProtoMessage() {} func (x *CMsgClientToGCOverworldGetDynamicImageResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[39] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3344,7 +3924,7 @@ func (x *CMsgClientToGCOverworldGetDynamicImageResponse) ProtoReflect() protoref // Deprecated: Use CMsgClientToGCOverworldGetDynamicImageResponse.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldGetDynamicImageResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{39} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{43} } func (x *CMsgClientToGCOverworldGetDynamicImageResponse) GetImageId() uint32 { @@ -3361,6 +3941,140 @@ func (x *CMsgClientToGCOverworldGetDynamicImageResponse) GetImages() []*CMsgClie return nil } +type CMsgClientToGCOverworldMinigameAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OverworldId *uint32 `protobuf:"varint,1,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` + NodeId *uint32 `protobuf:"varint,2,opt,name=node_id,json=nodeId" json:"node_id,omitempty"` + Action *EOverworldMinigameAction `protobuf:"varint,3,opt,name=action,enum=dota.EOverworldMinigameAction" json:"action,omitempty"` + Selection *uint32 `protobuf:"varint,4,opt,name=selection" json:"selection,omitempty"` + OptionValue *uint32 `protobuf:"varint,5,opt,name=option_value,json=optionValue" json:"option_value,omitempty"` + CurrencyAmount *uint32 `protobuf:"varint,6,opt,name=currency_amount,json=currencyAmount" json:"currency_amount,omitempty"` +} + +func (x *CMsgClientToGCOverworldMinigameAction) Reset() { + *x = CMsgClientToGCOverworldMinigameAction{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCOverworldMinigameAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCOverworldMinigameAction) ProtoMessage() {} + +func (x *CMsgClientToGCOverworldMinigameAction) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCOverworldMinigameAction.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCOverworldMinigameAction) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{44} +} + +func (x *CMsgClientToGCOverworldMinigameAction) GetOverworldId() uint32 { + if x != nil && x.OverworldId != nil { + return *x.OverworldId + } + return 0 +} + +func (x *CMsgClientToGCOverworldMinigameAction) GetNodeId() uint32 { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return 0 +} + +func (x *CMsgClientToGCOverworldMinigameAction) GetAction() EOverworldMinigameAction { + if x != nil && x.Action != nil { + return *x.Action + } + return EOverworldMinigameAction_k_eOverworldMinigameAction_Invalid +} + +func (x *CMsgClientToGCOverworldMinigameAction) GetSelection() uint32 { + if x != nil && x.Selection != nil { + return *x.Selection + } + return 0 +} + +func (x *CMsgClientToGCOverworldMinigameAction) GetOptionValue() uint32 { + if x != nil && x.OptionValue != nil { + return *x.OptionValue + } + return 0 +} + +func (x *CMsgClientToGCOverworldMinigameAction) GetCurrencyAmount() uint32 { + if x != nil && x.CurrencyAmount != nil { + return *x.CurrencyAmount + } + return 0 +} + +type CMsgClientToGCOverworldMinigameActionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCOverworldMinigameActionResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCOverworldMinigameActionResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCOverworldMinigameActionResponse) Reset() { + *x = CMsgClientToGCOverworldMinigameActionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCOverworldMinigameActionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCOverworldMinigameActionResponse) ProtoMessage() {} + +func (x *CMsgClientToGCOverworldMinigameActionResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCOverworldMinigameActionResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCOverworldMinigameActionResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{45} +} + +func (x *CMsgClientToGCOverworldMinigameActionResponse) GetResponse() CMsgClientToGCOverworldMinigameActionResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCOverworldMinigameActionResponse_k_eInternalError +} + type CMsgOverworldEncounterTokenTreasureData_RewardOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3374,7 +4088,7 @@ type CMsgOverworldEncounterTokenTreasureData_RewardOption struct { func (x *CMsgOverworldEncounterTokenTreasureData_RewardOption) Reset() { *x = CMsgOverworldEncounterTokenTreasureData_RewardOption{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[40] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3387,7 +4101,7 @@ func (x *CMsgOverworldEncounterTokenTreasureData_RewardOption) String() string { func (*CMsgOverworldEncounterTokenTreasureData_RewardOption) ProtoMessage() {} func (x *CMsgOverworldEncounterTokenTreasureData_RewardOption) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[40] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3437,7 +4151,7 @@ type CMsgOverworldEncounterTokenQuestData_Quest struct { func (x *CMsgOverworldEncounterTokenQuestData_Quest) Reset() { *x = CMsgOverworldEncounterTokenQuestData_Quest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[41] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3450,7 +4164,7 @@ func (x *CMsgOverworldEncounterTokenQuestData_Quest) String() string { func (*CMsgOverworldEncounterTokenQuestData_Quest) ProtoMessage() {} func (x *CMsgOverworldEncounterTokenQuestData_Quest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[41] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3487,33 +4201,88 @@ func (x *CMsgOverworldEncounterTokenQuestData_Quest) GetTokenReward() *CMsgOverw return nil } -type CMsgOverworldMatchRewards_Player struct { +type CMsgOverworldUserData_MinigameDataEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PlayerSlot *uint32 `protobuf:"varint,1,opt,name=player_slot,json=playerSlot" json:"player_slot,omitempty"` - Tokens *CMsgOverworldTokenQuantity `protobuf:"bytes,2,opt,name=tokens" json:"tokens,omitempty"` - OverworldId *uint32 `protobuf:"varint,3,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` + Key *uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value *CMsgOverworldMinigameUserData `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` } -func (x *CMsgOverworldMatchRewards_Player) Reset() { - *x = CMsgOverworldMatchRewards_Player{} +func (x *CMsgOverworldUserData_MinigameDataEntry) Reset() { + *x = CMsgOverworldUserData_MinigameDataEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[42] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgOverworldMatchRewards_Player) String() string { +func (x *CMsgOverworldUserData_MinigameDataEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgOverworldMatchRewards_Player) ProtoMessage() {} +func (*CMsgOverworldUserData_MinigameDataEntry) ProtoMessage() {} + +func (x *CMsgOverworldUserData_MinigameDataEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgOverworldUserData_MinigameDataEntry.ProtoReflect.Descriptor instead. +func (*CMsgOverworldUserData_MinigameDataEntry) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *CMsgOverworldUserData_MinigameDataEntry) GetKey() uint32 { + if x != nil && x.Key != nil { + return *x.Key + } + return 0 +} + +func (x *CMsgOverworldUserData_MinigameDataEntry) GetValue() *CMsgOverworldMinigameUserData { + if x != nil { + return x.Value + } + return nil +} + +type CMsgOverworldMatchRewards_Player struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerSlot *uint32 `protobuf:"varint,1,opt,name=player_slot,json=playerSlot" json:"player_slot,omitempty"` + Tokens *CMsgOverworldTokenQuantity `protobuf:"bytes,2,opt,name=tokens" json:"tokens,omitempty"` + OverworldId *uint32 `protobuf:"varint,3,opt,name=overworld_id,json=overworldId" json:"overworld_id,omitempty"` +} + +func (x *CMsgOverworldMatchRewards_Player) Reset() { + *x = CMsgOverworldMatchRewards_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgOverworldMatchRewards_Player) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgOverworldMatchRewards_Player) ProtoMessage() {} func (x *CMsgOverworldMatchRewards_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[42] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3526,7 +4295,7 @@ func (x *CMsgOverworldMatchRewards_Player) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgOverworldMatchRewards_Player.ProtoReflect.Descriptor instead. func (*CMsgOverworldMatchRewards_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{11, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{13, 0} } func (x *CMsgOverworldMatchRewards_Player) GetPlayerSlot() uint32 { @@ -3564,7 +4333,7 @@ type CMsgClientToGCOverworldGetDynamicImageResponse_Image struct { func (x *CMsgClientToGCOverworldGetDynamicImageResponse_Image) Reset() { *x = CMsgClientToGCOverworldGetDynamicImageResponse_Image{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[43] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3577,7 +4346,7 @@ func (x *CMsgClientToGCOverworldGetDynamicImageResponse_Image) String() string { func (*CMsgClientToGCOverworldGetDynamicImageResponse_Image) ProtoMessage() {} func (x *CMsgClientToGCOverworldGetDynamicImageResponse_Image) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[43] + mi := &file_dota_gcmessages_common_overworld_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3590,7 +4359,7 @@ func (x *CMsgClientToGCOverworldGetDynamicImageResponse_Image) ProtoReflect() pr // Deprecated: Use CMsgClientToGCOverworldGetDynamicImageResponse_Image.ProtoReflect.Descriptor instead. func (*CMsgClientToGCOverworldGetDynamicImageResponse_Image) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{39, 0} + return file_dota_gcmessages_common_overworld_proto_rawDescGZIP(), []int{43, 0} } func (x *CMsgClientToGCOverworldGetDynamicImageResponse_Image) GetWidth() uint32 { @@ -3631,352 +4400,439 @@ var file_dota_gcmessages_common_overworld_proto_rawDesc = []byte{ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, - 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5e, 0x0a, 0x1a, 0x43, 0x4d, 0x73, - 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x64, 0x6f, 0x74, 0x61, + 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x17, 0x43, 0x4d, + 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x5e, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x40, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x22, 0xc4, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, + 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0xb5, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, + 0x6f, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, + 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x48, 0x0a, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xae, 0x01, 0x0a, 0x05, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x09, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xc4, 0x02, 0x0a, 0x27, 0x43, 0x4d, - 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, + 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x32, 0x0a, 0x15, + 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x48, 0x65, 0x72, + 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, + 0x22, 0x7c, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x95, + 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, + 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, + 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x22, 0x64, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, + 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x12, 0x65, 0x78, 0x74, 0x72, 0x61, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb8, 0x01, 0x0a, + 0x11, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0xa5, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x0a, + 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, + 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x61, 0x74, + 0x68, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x78, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0e, 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x55, + 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x75, 0x72, 0x76, 0x69, + 0x76, 0x6f, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x69, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1d, 0x43, 0x4d, + 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, + 0x61, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, + 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x44, 0x61, 0x74, 0x61, 0x22, 0xc4, 0x03, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x49, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0e, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x0f, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0f, + 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0e, + 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, + 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb5, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0a, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0c, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x67, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x69, + 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x60, 0x0a, 0x11, 0x4d, 0x69, + 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe6, 0x01, 0x0a, + 0x19, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0x86, 0x01, 0x0a, + 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x6f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, 0xbb, + 0x02, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, + 0x7b, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, + 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, + 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x22, 0x85, 0x01, 0x0a, + 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x61, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x22, 0xb0, 0x03, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xd8, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, + 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, + 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x74, 0x68, 0x10, + 0x06, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, + 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x08, 0x12, 0x1a, + 0x0a, 0x16, 0x6b, 0x5f, 0x65, 0x50, 0x61, 0x74, 0x68, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, + 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x09, 0x22, 0x5f, 0x0a, 0x2a, 0x43, 0x4d, + 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x92, 0x03, 0x0a, 0x2b, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x22, 0xca, 0x05, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x22, 0xa1, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x06, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x1a, 0xae, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, - 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x12, - 0x43, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x22, 0x32, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, 0x7c, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x38, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x22, 0x64, - 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x14, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x12, 0x65, 0x78, 0x74, 0x72, 0x61, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x22, 0xb8, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, - 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, - 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, - 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x6e, 0x6f, - 0x64, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, - 0x6b, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x3d, 0x0a, - 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x73, 0x74, 0x22, 0x8e, 0x02, 0x0a, - 0x15, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x55, 0x73, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, - 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x52, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x40, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6e, - 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xe6, 0x01, - 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0x86, 0x01, - 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, - 0xbb, 0x02, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x55, 0x73, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x7b, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x69, 0x74, 0x79, 0x52, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x22, 0x97, 0x03, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, + 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, + 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 0x65, 0x64, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x09, 0x12, 0x1e, + 0x0a, 0x1a, 0x6b, 0x5f, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x10, 0x0a, 0x12, 0x22, + 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x53, 0x74, 0x79, 0x6c, 0x65, + 0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0c, 0x12, + 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0d, + 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0f, 0x22, 0x63, 0x0a, + 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, + 0x49, 0x64, 0x22, 0xdf, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, + 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xd2, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x22, 0x85, 0x01, - 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x61, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x22, 0xb0, 0x03, 0x0a, 0x2b, 0x43, 0x4d, 0x73, + 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, + 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x10, + 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, + 0x65, 0x64, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4e, + 0x6f, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x08, 0x12, 0x15, 0x0a, + 0x11, 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x56, 0x69, 0x73, 0x69, 0x74, + 0x65, 0x64, 0x10, 0x09, 0x22, 0x5f, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, + 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, + 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xa7, 0x02, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xd8, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x09, 0x45, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, + 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, + 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, + 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x07, 0x22, + 0x8c, 0x02, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0d, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0xee, + 0x03, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x52, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x22, 0x9c, 0x02, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x12, - 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x74, 0x68, - 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, - 0x67, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, - 0x65, 0x50, 0x61, 0x74, 0x68, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x08, 0x12, - 0x1a, 0x0a, 0x16, 0x6b, 0x5f, 0x65, 0x50, 0x61, 0x74, 0x68, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, - 0x79, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x09, 0x22, 0x5f, 0x0a, 0x2a, 0x43, - 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x8a, 0x02, 0x0a, - 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, - 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb0, 0x05, 0x0a, 0x33, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0e, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x22, 0xfd, 0x02, 0x0a, - 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, - 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, - 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x06, 0x12, 0x11, - 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, - 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x6c, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x10, 0x08, 0x12, 0x17, - 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x65, 0x45, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x6b, - 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0c, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x4e, - 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, - 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, - 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0e, 0x22, 0x63, 0x0a, 0x25, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, - 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x22, 0xdf, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, - 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, - 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x06, - 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, - 0x64, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x6f, - 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, - 0x6b, 0x5f, 0x65, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, - 0x64, 0x10, 0x09, 0x22, 0x5f, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x6f, - 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x64, 0x22, 0xa7, 0x02, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x09, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, - 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x17, - 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, - 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x07, 0x22, 0x8c, - 0x02, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, + 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, + 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, + 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, + 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x0b, 0x12, 0x1f, + 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x65, 0x73, 0x4e, + 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x10, 0x0c, 0x22, + 0xe8, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, - 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, - 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0d, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0xee, 0x03, - 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, - 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x22, - 0x9c, 0x02, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x47, 0x69, 0x66, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x29, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x88, 0x02, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, @@ -3986,271 +4842,338 @@ var file_dota_gcmessages_common_overworld_proto_rawDesc = []byte{ 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, - 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x09, - 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x0b, 0x12, 0x1f, 0x0a, - 0x1b, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x6f, 0x65, 0x73, 0x4e, 0x6f, - 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x10, 0x0c, 0x22, 0xe8, - 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x5f, 0x67, 0x69, 0x66, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x47, 0x69, 0x66, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x29, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, - 0x02, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x47, 0x69, 0x66, 0x74, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x09, 0x12, 0x17, - 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x0a, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, - 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x0b, 0x22, 0x47, 0x0a, 0x22, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, - 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x49, 0x64, 0x22, 0x95, 0x02, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x64, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x47, 0x69, 0x66, 0x74, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, + 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x09, 0x12, + 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x0a, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x65, 0x4e, + 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x0b, 0x22, 0x83, 0x01, 0x0a, 0x32, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, + 0x22, 0xbf, 0x03, 0x0a, 0x3a, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, + 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x66, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x4a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x4e, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x42, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x22, 0xcf, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, + 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, + 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, + 0x65, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x10, 0x09, 0x22, 0x47, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x95, 0x02, 0x0a, 0x2a, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, + 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, + 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, + 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x10, 0x06, 0x22, 0x61, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, - 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x56, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, + 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xab, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, - 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, - 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, - 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, - 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x06, 0x22, 0x61, 0x0a, 0x23, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xab, 0x02, - 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, - 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, - 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, - 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, - 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x17, - 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x07, 0x22, 0x93, 0x01, 0x0a, 0x25, + 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, - 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x22, 0x9b, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xa2, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, + 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x06, + 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x10, 0x07, 0x22, 0x93, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, + 0x64, 0x12, 0x47, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x9b, 0x02, 0x0a, 0x2d, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, - 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x06, 0x22, - 0x4d, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, - 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, 0xa1, - 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, - 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, - 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x10, 0x06, 0x22, 0x7c, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x22, 0x8f, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, - 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, + 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, + 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, + 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, + 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, + 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x06, 0x22, 0x4d, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, - 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x10, 0x06, 0x22, 0x75, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, - 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x6d, 0x61, 0x67, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x67, - 0x69, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x9a, 0x03, 0x0a, 0x2e, 0x43, 0x4d, + 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, + 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, + 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, + 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x06, 0x22, 0x7c, 0x0a, 0x1f, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x8f, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x45, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, + 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, + 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x06, 0x22, 0x75, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x1a, 0xb8, 0x01, 0x0a, 0x05, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x60, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x47, 0x65, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x44, 0x79, 0x6e, 0x61, 0x6d, - 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x13, 0x45, 0x44, 0x79, 0x6e, 0x61, 0x6d, - 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0e, 0x0a, - 0x0a, 0x6b, 0x5f, 0x65, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x6b, 0x5f, 0x65, 0x50, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x5f, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x10, 0x02, 0x2a, 0x7e, 0x0a, 0x13, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, - 0x1d, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, - 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, - 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x10, 0x02, 0x2a, 0xa8, 0x06, 0x0a, 0x15, 0x45, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x22, 0x9a, 0x03, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, + 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, + 0x12, 0x52, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, + 0x65, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x73, 0x1a, 0xb8, 0x01, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x60, 0x0a, 0x06, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x44, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x45, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, + 0x3e, 0x0a, 0x13, 0x45, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x55, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x6b, 0x5f, 0x65, 0x50, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x6b, 0x5f, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x02, 0x22, + 0x85, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, + 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, + 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x95, 0x03, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, + 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, + 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, + 0x67, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, + 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, + 0x6d, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, + 0x6b, 0x5f, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x0b, 0x2a, + 0x7e, 0x0a, 0x13, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x65, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x6b, + 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x02, 0x2a, + 0x82, 0x01, 0x0a, 0x13, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, + 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, + 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x01, + 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x10, 0x02, 0x2a, 0xa8, 0x06, 0x0a, 0x15, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x1f, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, + 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x01, + 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x43, + 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x02, 0x12, + 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, + 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x6b, + 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x10, 0x04, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x44, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, - 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, - 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x03, 0x12, 0x28, 0x0a, - 0x24, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, - 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x61, 0x74, 0x68, 0x10, 0x04, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x65, 0x4f, 0x76, + 0x5f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, - 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x10, 0x07, 0x12, 0x2c, 0x0a, - 0x28, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, - 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x08, 0x12, 0x2c, 0x0a, 0x28, 0x6b, + 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x10, + 0x06, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x10, 0x07, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x48, 0x61, 0x6c, 0x66, 0x10, 0x09, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x65, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x10, 0x0a, 0x12, 0x2b, 0x0a, 0x27, - 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x74, 0x10, 0x0b, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x65, + 0x72, 0x64, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x08, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x72, - 0x47, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x0c, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x65, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x0d, 0x12, 0x36, - 0x0a, 0x32, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, - 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x10, 0x0e, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, - 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x10, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x48, 0x61, 0x6c, 0x66, 0x10, 0x09, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x65, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x10, 0x0a, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, + 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x72, 0x4c, 0x6f, 0x73, 0x74, 0x10, 0x0b, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x65, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, + 0x69, 0x6e, 0x65, 0x64, 0x10, 0x0c, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x69, 0x66, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x10, - 0x11, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, - 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x6e, 0x5f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x0d, 0x12, 0x36, 0x0a, 0x32, + 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x10, 0x0e, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x10, 0x10, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x69, 0x66, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x10, 0x11, 0x2a, + 0xd4, 0x02, 0x0a, 0x18, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, + 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, + 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, + 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, 0x01, 0x12, 0x2e, 0x0a, + 0x2a, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, + 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x76, 0x47, + 0x69, 0x76, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x10, 0x02, 0x12, 0x27, 0x0a, + 0x23, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, + 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x50, 0x75, 0x72, 0x63, + 0x68, 0x61, 0x73, 0x65, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x04, + 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x61, 0x69, + 0x6e, 0x65, 0x64, 0x10, 0x05, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x65, 0x4f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x10, 0x06, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, + 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -4265,119 +5188,140 @@ func file_dota_gcmessages_common_overworld_proto_rawDescGZIP() []byte { return file_dota_gcmessages_common_overworld_proto_rawDescData } -var file_dota_gcmessages_common_overworld_proto_enumTypes = make([]protoimpl.EnumInfo, 15) -var file_dota_gcmessages_common_overworld_proto_msgTypes = make([]protoimpl.MessageInfo, 44) +var file_dota_gcmessages_common_overworld_proto_enumTypes = make([]protoimpl.EnumInfo, 19) +var file_dota_gcmessages_common_overworld_proto_msgTypes = make([]protoimpl.MessageInfo, 51) var file_dota_gcmessages_common_overworld_proto_goTypes = []interface{}{ - (EOverworldNodeState)(0), // 0: dota.EOverworldNodeState - (EOverworldAuditAction)(0), // 1: dota.EOverworldAuditAction - (CMsgClientToGCOverworldGetUserDataResponse_EResponse)(0), // 2: dota.CMsgClientToGCOverworldGetUserDataResponse.EResponse - (CMsgClientToGCOverworldCompletePathResponse_EResponse)(0), // 3: dota.CMsgClientToGCOverworldCompletePathResponse.EResponse - (CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse)(0), // 4: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.EResponse - (CMsgClientToGCOverworldVisitEncounterResponse_EResponse)(0), // 5: dota.CMsgClientToGCOverworldVisitEncounterResponse.EResponse - (CMsgClientToGCOverworldMoveToNodeResponse_EResponse)(0), // 6: dota.CMsgClientToGCOverworldMoveToNodeResponse.EResponse - (CMsgClientToGCOverworldTradeTokensResponse_EResponse)(0), // 7: dota.CMsgClientToGCOverworldTradeTokensResponse.EResponse - (CMsgClientToGCOverworldGiftTokensResponse_EResponse)(0), // 8: dota.CMsgClientToGCOverworldGiftTokensResponse.EResponse - (CMsgClientToGCOverworldDevResetAllResponse_EResponse)(0), // 9: dota.CMsgClientToGCOverworldDevResetAllResponse.EResponse - (CMsgClientToGCOverworldDevResetNodeResponse_EResponse)(0), // 10: dota.CMsgClientToGCOverworldDevResetNodeResponse.EResponse - (CMsgClientToGCOverworldDevGrantTokensResponse_EResponse)(0), // 11: dota.CMsgClientToGCOverworldDevGrantTokensResponse.EResponse - (CMsgClientToGCOverworldDevClearInventoryResponse_EResponse)(0), // 12: dota.CMsgClientToGCOverworldDevClearInventoryResponse.EResponse - (CMsgClientToGCOverworldFeedbackResponse_EResponse)(0), // 13: dota.CMsgClientToGCOverworldFeedbackResponse.EResponse - (CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat)(0), // 14: dota.CMsgClientToGCOverworldGetDynamicImageResponse.EDynamicImageFormat - (*CMsgOverworldTokenCount)(nil), // 15: dota.CMsgOverworldTokenCount - (*CMsgOverworldTokenQuantity)(nil), // 16: dota.CMsgOverworldTokenQuantity - (*CMsgOverworldEncounterTokenTreasureData)(nil), // 17: dota.CMsgOverworldEncounterTokenTreasureData - (*CMsgOverworldEncounterTokenQuestData)(nil), // 18: dota.CMsgOverworldEncounterTokenQuestData - (*CMsgOverworldHeroList)(nil), // 19: dota.CMsgOverworldHeroList - (*CMsgOverworldEncounterChooseHeroData)(nil), // 20: dota.CMsgOverworldEncounterChooseHeroData - (*CMsgOverworldEncounterProgressData)(nil), // 21: dota.CMsgOverworldEncounterProgressData - (*CMsgOverworldEncounterData)(nil), // 22: dota.CMsgOverworldEncounterData - (*CMsgOverworldNode)(nil), // 23: dota.CMsgOverworldNode - (*CMsgOverworldPath)(nil), // 24: dota.CMsgOverworldPath - (*CMsgOverworldUserData)(nil), // 25: dota.CMsgOverworldUserData - (*CMsgOverworldMatchRewards)(nil), // 26: dota.CMsgOverworldMatchRewards - (*CMsgClientToGCOverworldGetUserData)(nil), // 27: dota.CMsgClientToGCOverworldGetUserData - (*CMsgClientToGCOverworldGetUserDataResponse)(nil), // 28: dota.CMsgClientToGCOverworldGetUserDataResponse - (*CMsgGCToClientOverworldUserDataUpdated)(nil), // 29: dota.CMsgGCToClientOverworldUserDataUpdated - (*CMsgClientToGCOverworldCompletePath)(nil), // 30: dota.CMsgClientToGCOverworldCompletePath - (*CMsgClientToGCOverworldCompletePathResponse)(nil), // 31: dota.CMsgClientToGCOverworldCompletePathResponse - (*CMsgOverworldEncounterPitFighterRewardData)(nil), // 32: dota.CMsgOverworldEncounterPitFighterRewardData - (*CMsgClientToGCOverworldClaimEncounterReward)(nil), // 33: dota.CMsgClientToGCOverworldClaimEncounterReward - (*CMsgClientToGCOverworldClaimEncounterRewardResponse)(nil), // 34: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse - (*CMsgClientToGCOverworldVisitEncounter)(nil), // 35: dota.CMsgClientToGCOverworldVisitEncounter - (*CMsgClientToGCOverworldVisitEncounterResponse)(nil), // 36: dota.CMsgClientToGCOverworldVisitEncounterResponse - (*CMsgClientToGCOverworldMoveToNode)(nil), // 37: dota.CMsgClientToGCOverworldMoveToNode - (*CMsgClientToGCOverworldMoveToNodeResponse)(nil), // 38: dota.CMsgClientToGCOverworldMoveToNodeResponse - (*CMsgClientToGCOverworldTradeTokens)(nil), // 39: dota.CMsgClientToGCOverworldTradeTokens - (*CMsgClientToGCOverworldTradeTokensResponse)(nil), // 40: dota.CMsgClientToGCOverworldTradeTokensResponse - (*CMsgClientToGCOverworldGiftTokens)(nil), // 41: dota.CMsgClientToGCOverworldGiftTokens - (*CMsgClientToGCOverworldGiftTokensResponse)(nil), // 42: dota.CMsgClientToGCOverworldGiftTokensResponse - (*CMsgClientToGCOverworldDevResetAll)(nil), // 43: dota.CMsgClientToGCOverworldDevResetAll - (*CMsgClientToGCOverworldDevResetAllResponse)(nil), // 44: dota.CMsgClientToGCOverworldDevResetAllResponse - (*CMsgClientToGCOverworldDevResetNode)(nil), // 45: dota.CMsgClientToGCOverworldDevResetNode - (*CMsgClientToGCOverworldDevResetNodeResponse)(nil), // 46: dota.CMsgClientToGCOverworldDevResetNodeResponse - (*CMsgClientToGCOverworldDevGrantTokens)(nil), // 47: dota.CMsgClientToGCOverworldDevGrantTokens - (*CMsgClientToGCOverworldDevGrantTokensResponse)(nil), // 48: dota.CMsgClientToGCOverworldDevGrantTokensResponse - (*CMsgClientToGCOverworldDevClearInventory)(nil), // 49: dota.CMsgClientToGCOverworldDevClearInventory - (*CMsgClientToGCOverworldDevClearInventoryResponse)(nil), // 50: dota.CMsgClientToGCOverworldDevClearInventoryResponse - (*CMsgClientToGCOverworldFeedback)(nil), // 51: dota.CMsgClientToGCOverworldFeedback - (*CMsgClientToGCOverworldFeedbackResponse)(nil), // 52: dota.CMsgClientToGCOverworldFeedbackResponse - (*CMsgClientToGCOverworldGetDynamicImage)(nil), // 53: dota.CMsgClientToGCOverworldGetDynamicImage - (*CMsgClientToGCOverworldGetDynamicImageResponse)(nil), // 54: dota.CMsgClientToGCOverworldGetDynamicImageResponse - (*CMsgOverworldEncounterTokenTreasureData_RewardOption)(nil), // 55: dota.CMsgOverworldEncounterTokenTreasureData.RewardOption - (*CMsgOverworldEncounterTokenQuestData_Quest)(nil), // 56: dota.CMsgOverworldEncounterTokenQuestData.Quest - (*CMsgOverworldMatchRewards_Player)(nil), // 57: dota.CMsgOverworldMatchRewards.Player - (*CMsgClientToGCOverworldGetDynamicImageResponse_Image)(nil), // 58: dota.CMsgClientToGCOverworldGetDynamicImageResponse.Image - (*CExtraMsgBlock)(nil), // 59: dota.CExtraMsgBlock - (*CMsgDOTAClaimEventActionResponse)(nil), // 60: dota.CMsgDOTAClaimEventActionResponse + (EOverworldNodeState)(0), // 0: dota.EOverworldNodeState + (EOverworldPathState)(0), // 1: dota.EOverworldPathState + (EOverworldAuditAction)(0), // 2: dota.EOverworldAuditAction + (EOverworldMinigameAction)(0), // 3: dota.EOverworldMinigameAction + (CMsgClientToGCOverworldGetUserDataResponse_EResponse)(0), // 4: dota.CMsgClientToGCOverworldGetUserDataResponse.EResponse + (CMsgClientToGCOverworldCompletePathResponse_EResponse)(0), // 5: dota.CMsgClientToGCOverworldCompletePathResponse.EResponse + (CMsgClientToGCOverworldClaimEncounterRewardResponse_EResponse)(0), // 6: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.EResponse + (CMsgClientToGCOverworldVisitEncounterResponse_EResponse)(0), // 7: dota.CMsgClientToGCOverworldVisitEncounterResponse.EResponse + (CMsgClientToGCOverworldMoveToNodeResponse_EResponse)(0), // 8: dota.CMsgClientToGCOverworldMoveToNodeResponse.EResponse + (CMsgClientToGCOverworldTradeTokensResponse_EResponse)(0), // 9: dota.CMsgClientToGCOverworldTradeTokensResponse.EResponse + (CMsgClientToGCOverworldGiftTokensResponse_EResponse)(0), // 10: dota.CMsgClientToGCOverworldGiftTokensResponse.EResponse + (CMsgClientToGCOverworldRequestTokensNeededByFriendResponse_EResponse)(0), // 11: dota.CMsgClientToGCOverworldRequestTokensNeededByFriendResponse.EResponse + (CMsgClientToGCOverworldDevResetAllResponse_EResponse)(0), // 12: dota.CMsgClientToGCOverworldDevResetAllResponse.EResponse + (CMsgClientToGCOverworldDevResetNodeResponse_EResponse)(0), // 13: dota.CMsgClientToGCOverworldDevResetNodeResponse.EResponse + (CMsgClientToGCOverworldDevGrantTokensResponse_EResponse)(0), // 14: dota.CMsgClientToGCOverworldDevGrantTokensResponse.EResponse + (CMsgClientToGCOverworldDevClearInventoryResponse_EResponse)(0), // 15: dota.CMsgClientToGCOverworldDevClearInventoryResponse.EResponse + (CMsgClientToGCOverworldFeedbackResponse_EResponse)(0), // 16: dota.CMsgClientToGCOverworldFeedbackResponse.EResponse + (CMsgClientToGCOverworldGetDynamicImageResponse_EDynamicImageFormat)(0), // 17: dota.CMsgClientToGCOverworldGetDynamicImageResponse.EDynamicImageFormat + (CMsgClientToGCOverworldMinigameActionResponse_EResponse)(0), // 18: dota.CMsgClientToGCOverworldMinigameActionResponse.EResponse + (*CMsgOverworldTokenCount)(nil), // 19: dota.CMsgOverworldTokenCount + (*CMsgOverworldTokenQuantity)(nil), // 20: dota.CMsgOverworldTokenQuantity + (*CMsgOverworldEncounterTokenTreasureData)(nil), // 21: dota.CMsgOverworldEncounterTokenTreasureData + (*CMsgOverworldEncounterTokenQuestData)(nil), // 22: dota.CMsgOverworldEncounterTokenQuestData + (*CMsgOverworldHeroList)(nil), // 23: dota.CMsgOverworldHeroList + (*CMsgOverworldEncounterChooseHeroData)(nil), // 24: dota.CMsgOverworldEncounterChooseHeroData + (*CMsgOverworldEncounterProgressData)(nil), // 25: dota.CMsgOverworldEncounterProgressData + (*CMsgOverworldEncounterData)(nil), // 26: dota.CMsgOverworldEncounterData + (*CMsgOverworldNode)(nil), // 27: dota.CMsgOverworldNode + (*CMsgOverworldPath)(nil), // 28: dota.CMsgOverworldPath + (*CMsgOverworldMinigameCustomData)(nil), // 29: dota.CMsgOverworldMinigameCustomData + (*CMsgOverworldMinigameUserData)(nil), // 30: dota.CMsgOverworldMinigameUserData + (*CMsgOverworldUserData)(nil), // 31: dota.CMsgOverworldUserData + (*CMsgOverworldMatchRewards)(nil), // 32: dota.CMsgOverworldMatchRewards + (*CMsgClientToGCOverworldGetUserData)(nil), // 33: dota.CMsgClientToGCOverworldGetUserData + (*CMsgClientToGCOverworldGetUserDataResponse)(nil), // 34: dota.CMsgClientToGCOverworldGetUserDataResponse + (*CMsgGCToClientOverworldUserDataUpdated)(nil), // 35: dota.CMsgGCToClientOverworldUserDataUpdated + (*CMsgClientToGCOverworldCompletePath)(nil), // 36: dota.CMsgClientToGCOverworldCompletePath + (*CMsgClientToGCOverworldCompletePathResponse)(nil), // 37: dota.CMsgClientToGCOverworldCompletePathResponse + (*CMsgOverworldEncounterPitFighterRewardData)(nil), // 38: dota.CMsgOverworldEncounterPitFighterRewardData + (*CMsgClientToGCOverworldClaimEncounterReward)(nil), // 39: dota.CMsgClientToGCOverworldClaimEncounterReward + (*CMsgClientToGCOverworldClaimEncounterRewardResponse)(nil), // 40: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse + (*CMsgClientToGCOverworldVisitEncounter)(nil), // 41: dota.CMsgClientToGCOverworldVisitEncounter + (*CMsgClientToGCOverworldVisitEncounterResponse)(nil), // 42: dota.CMsgClientToGCOverworldVisitEncounterResponse + (*CMsgClientToGCOverworldMoveToNode)(nil), // 43: dota.CMsgClientToGCOverworldMoveToNode + (*CMsgClientToGCOverworldMoveToNodeResponse)(nil), // 44: dota.CMsgClientToGCOverworldMoveToNodeResponse + (*CMsgClientToGCOverworldTradeTokens)(nil), // 45: dota.CMsgClientToGCOverworldTradeTokens + (*CMsgClientToGCOverworldTradeTokensResponse)(nil), // 46: dota.CMsgClientToGCOverworldTradeTokensResponse + (*CMsgClientToGCOverworldGiftTokens)(nil), // 47: dota.CMsgClientToGCOverworldGiftTokens + (*CMsgClientToGCOverworldGiftTokensResponse)(nil), // 48: dota.CMsgClientToGCOverworldGiftTokensResponse + (*CMsgClientToGCOverworldRequestTokensNeededByFriend)(nil), // 49: dota.CMsgClientToGCOverworldRequestTokensNeededByFriend + (*CMsgClientToGCOverworldRequestTokensNeededByFriendResponse)(nil), // 50: dota.CMsgClientToGCOverworldRequestTokensNeededByFriendResponse + (*CMsgClientToGCOverworldDevResetAll)(nil), // 51: dota.CMsgClientToGCOverworldDevResetAll + (*CMsgClientToGCOverworldDevResetAllResponse)(nil), // 52: dota.CMsgClientToGCOverworldDevResetAllResponse + (*CMsgClientToGCOverworldDevResetNode)(nil), // 53: dota.CMsgClientToGCOverworldDevResetNode + (*CMsgClientToGCOverworldDevResetNodeResponse)(nil), // 54: dota.CMsgClientToGCOverworldDevResetNodeResponse + (*CMsgClientToGCOverworldDevGrantTokens)(nil), // 55: dota.CMsgClientToGCOverworldDevGrantTokens + (*CMsgClientToGCOverworldDevGrantTokensResponse)(nil), // 56: dota.CMsgClientToGCOverworldDevGrantTokensResponse + (*CMsgClientToGCOverworldDevClearInventory)(nil), // 57: dota.CMsgClientToGCOverworldDevClearInventory + (*CMsgClientToGCOverworldDevClearInventoryResponse)(nil), // 58: dota.CMsgClientToGCOverworldDevClearInventoryResponse + (*CMsgClientToGCOverworldFeedback)(nil), // 59: dota.CMsgClientToGCOverworldFeedback + (*CMsgClientToGCOverworldFeedbackResponse)(nil), // 60: dota.CMsgClientToGCOverworldFeedbackResponse + (*CMsgClientToGCOverworldGetDynamicImage)(nil), // 61: dota.CMsgClientToGCOverworldGetDynamicImage + (*CMsgClientToGCOverworldGetDynamicImageResponse)(nil), // 62: dota.CMsgClientToGCOverworldGetDynamicImageResponse + (*CMsgClientToGCOverworldMinigameAction)(nil), // 63: dota.CMsgClientToGCOverworldMinigameAction + (*CMsgClientToGCOverworldMinigameActionResponse)(nil), // 64: dota.CMsgClientToGCOverworldMinigameActionResponse + (*CMsgOverworldEncounterTokenTreasureData_RewardOption)(nil), // 65: dota.CMsgOverworldEncounterTokenTreasureData.RewardOption + (*CMsgOverworldEncounterTokenQuestData_Quest)(nil), // 66: dota.CMsgOverworldEncounterTokenQuestData.Quest + (*CMsgOverworldUserData_MinigameDataEntry)(nil), // 67: dota.CMsgOverworldUserData.MinigameDataEntry + (*CMsgOverworldMatchRewards_Player)(nil), // 68: dota.CMsgOverworldMatchRewards.Player + (*CMsgClientToGCOverworldGetDynamicImageResponse_Image)(nil), // 69: dota.CMsgClientToGCOverworldGetDynamicImageResponse.Image + (*CExtraMsgBlock)(nil), // 70: dota.CExtraMsgBlock + (*CMsgSurvivorsUserData)(nil), // 71: dota.CMsgSurvivorsUserData + (*CMsgDOTAClaimEventActionResponse)(nil), // 72: dota.CMsgDOTAClaimEventActionResponse } var file_dota_gcmessages_common_overworld_proto_depIdxs = []int32{ - 15, // 0: dota.CMsgOverworldTokenQuantity.token_counts:type_name -> dota.CMsgOverworldTokenCount - 55, // 1: dota.CMsgOverworldEncounterTokenTreasureData.reward_options:type_name -> dota.CMsgOverworldEncounterTokenTreasureData.RewardOption - 56, // 2: dota.CMsgOverworldEncounterTokenQuestData.quests:type_name -> dota.CMsgOverworldEncounterTokenQuestData.Quest - 19, // 3: dota.CMsgOverworldEncounterChooseHeroData.hero_list:type_name -> dota.CMsgOverworldHeroList - 59, // 4: dota.CMsgOverworldEncounterData.extra_encounter_data:type_name -> dota.CExtraMsgBlock + 19, // 0: dota.CMsgOverworldTokenQuantity.token_counts:type_name -> dota.CMsgOverworldTokenCount + 65, // 1: dota.CMsgOverworldEncounterTokenTreasureData.reward_options:type_name -> dota.CMsgOverworldEncounterTokenTreasureData.RewardOption + 66, // 2: dota.CMsgOverworldEncounterTokenQuestData.quests:type_name -> dota.CMsgOverworldEncounterTokenQuestData.Quest + 23, // 3: dota.CMsgOverworldEncounterChooseHeroData.hero_list:type_name -> dota.CMsgOverworldHeroList + 70, // 4: dota.CMsgOverworldEncounterData.extra_encounter_data:type_name -> dota.CExtraMsgBlock 0, // 5: dota.CMsgOverworldNode.node_state:type_name -> dota.EOverworldNodeState - 22, // 6: dota.CMsgOverworldNode.node_encounter_data:type_name -> dota.CMsgOverworldEncounterData - 16, // 7: dota.CMsgOverworldPath.path_cost:type_name -> dota.CMsgOverworldTokenQuantity - 16, // 8: dota.CMsgOverworldUserData.token_inventory:type_name -> dota.CMsgOverworldTokenQuantity - 23, // 9: dota.CMsgOverworldUserData.overworld_nodes:type_name -> dota.CMsgOverworldNode - 24, // 10: dota.CMsgOverworldUserData.overworld_paths:type_name -> dota.CMsgOverworldPath - 57, // 11: dota.CMsgOverworldMatchRewards.players:type_name -> dota.CMsgOverworldMatchRewards.Player - 2, // 12: dota.CMsgClientToGCOverworldGetUserDataResponse.response:type_name -> dota.CMsgClientToGCOverworldGetUserDataResponse.EResponse - 25, // 13: dota.CMsgClientToGCOverworldGetUserDataResponse.user_data:type_name -> dota.CMsgOverworldUserData - 25, // 14: dota.CMsgGCToClientOverworldUserDataUpdated.user_data:type_name -> dota.CMsgOverworldUserData - 3, // 15: dota.CMsgClientToGCOverworldCompletePathResponse.response:type_name -> dota.CMsgClientToGCOverworldCompletePathResponse.EResponse - 60, // 16: dota.CMsgClientToGCOverworldCompletePathResponse.claim_response:type_name -> dota.CMsgDOTAClaimEventActionResponse - 22, // 17: dota.CMsgClientToGCOverworldClaimEncounterReward.extra_reward_data:type_name -> dota.CMsgOverworldEncounterData - 4, // 18: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.response:type_name -> dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.EResponse - 60, // 19: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.claim_response:type_name -> dota.CMsgDOTAClaimEventActionResponse - 16, // 20: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.tokens_received:type_name -> dota.CMsgOverworldTokenQuantity - 5, // 21: dota.CMsgClientToGCOverworldVisitEncounterResponse.response:type_name -> dota.CMsgClientToGCOverworldVisitEncounterResponse.EResponse - 6, // 22: dota.CMsgClientToGCOverworldMoveToNodeResponse.response:type_name -> dota.CMsgClientToGCOverworldMoveToNodeResponse.EResponse - 16, // 23: dota.CMsgClientToGCOverworldTradeTokens.token_offer:type_name -> dota.CMsgOverworldTokenQuantity - 16, // 24: dota.CMsgClientToGCOverworldTradeTokens.token_request:type_name -> dota.CMsgOverworldTokenQuantity - 7, // 25: dota.CMsgClientToGCOverworldTradeTokensResponse.response:type_name -> dota.CMsgClientToGCOverworldTradeTokensResponse.EResponse - 16, // 26: dota.CMsgClientToGCOverworldTradeTokensResponse.tokens_received:type_name -> dota.CMsgOverworldTokenQuantity - 15, // 27: dota.CMsgClientToGCOverworldGiftTokens.token_gift:type_name -> dota.CMsgOverworldTokenCount - 8, // 28: dota.CMsgClientToGCOverworldGiftTokensResponse.response:type_name -> dota.CMsgClientToGCOverworldGiftTokensResponse.EResponse - 9, // 29: dota.CMsgClientToGCOverworldDevResetAllResponse.response:type_name -> dota.CMsgClientToGCOverworldDevResetAllResponse.EResponse - 10, // 30: dota.CMsgClientToGCOverworldDevResetNodeResponse.response:type_name -> dota.CMsgClientToGCOverworldDevResetNodeResponse.EResponse - 16, // 31: dota.CMsgClientToGCOverworldDevGrantTokens.token_quantity:type_name -> dota.CMsgOverworldTokenQuantity - 11, // 32: dota.CMsgClientToGCOverworldDevGrantTokensResponse.response:type_name -> dota.CMsgClientToGCOverworldDevGrantTokensResponse.EResponse - 12, // 33: dota.CMsgClientToGCOverworldDevClearInventoryResponse.response:type_name -> dota.CMsgClientToGCOverworldDevClearInventoryResponse.EResponse - 13, // 34: dota.CMsgClientToGCOverworldFeedbackResponse.response:type_name -> dota.CMsgClientToGCOverworldFeedbackResponse.EResponse - 58, // 35: dota.CMsgClientToGCOverworldGetDynamicImageResponse.images:type_name -> dota.CMsgClientToGCOverworldGetDynamicImageResponse.Image - 16, // 36: dota.CMsgOverworldEncounterTokenTreasureData.RewardOption.token_cost:type_name -> dota.CMsgOverworldTokenQuantity - 16, // 37: dota.CMsgOverworldEncounterTokenTreasureData.RewardOption.token_reward:type_name -> dota.CMsgOverworldTokenQuantity - 16, // 38: dota.CMsgOverworldEncounterTokenQuestData.Quest.token_cost:type_name -> dota.CMsgOverworldTokenQuantity - 16, // 39: dota.CMsgOverworldEncounterTokenQuestData.Quest.token_reward:type_name -> dota.CMsgOverworldTokenQuantity - 16, // 40: dota.CMsgOverworldMatchRewards.Player.tokens:type_name -> dota.CMsgOverworldTokenQuantity - 14, // 41: dota.CMsgClientToGCOverworldGetDynamicImageResponse.Image.format:type_name -> dota.CMsgClientToGCOverworldGetDynamicImageResponse.EDynamicImageFormat - 42, // [42:42] is the sub-list for method output_type - 42, // [42:42] is the sub-list for method input_type - 42, // [42:42] is the sub-list for extension type_name - 42, // [42:42] is the sub-list for extension extendee - 0, // [0:42] is the sub-list for field type_name + 26, // 6: dota.CMsgOverworldNode.node_encounter_data:type_name -> dota.CMsgOverworldEncounterData + 20, // 7: dota.CMsgOverworldPath.path_cost:type_name -> dota.CMsgOverworldTokenQuantity + 1, // 8: dota.CMsgOverworldPath.path_state:type_name -> dota.EOverworldPathState + 71, // 9: dota.CMsgOverworldMinigameCustomData.survivors_data:type_name -> dota.CMsgSurvivorsUserData + 29, // 10: dota.CMsgOverworldMinigameUserData.custom_data:type_name -> dota.CMsgOverworldMinigameCustomData + 20, // 11: dota.CMsgOverworldUserData.token_inventory:type_name -> dota.CMsgOverworldTokenQuantity + 27, // 12: dota.CMsgOverworldUserData.overworld_nodes:type_name -> dota.CMsgOverworldNode + 28, // 13: dota.CMsgOverworldUserData.overworld_paths:type_name -> dota.CMsgOverworldPath + 67, // 14: dota.CMsgOverworldUserData.minigame_data:type_name -> dota.CMsgOverworldUserData.MinigameDataEntry + 68, // 15: dota.CMsgOverworldMatchRewards.players:type_name -> dota.CMsgOverworldMatchRewards.Player + 4, // 16: dota.CMsgClientToGCOverworldGetUserDataResponse.response:type_name -> dota.CMsgClientToGCOverworldGetUserDataResponse.EResponse + 31, // 17: dota.CMsgClientToGCOverworldGetUserDataResponse.user_data:type_name -> dota.CMsgOverworldUserData + 31, // 18: dota.CMsgGCToClientOverworldUserDataUpdated.user_data:type_name -> dota.CMsgOverworldUserData + 5, // 19: dota.CMsgClientToGCOverworldCompletePathResponse.response:type_name -> dota.CMsgClientToGCOverworldCompletePathResponse.EResponse + 72, // 20: dota.CMsgClientToGCOverworldCompletePathResponse.claim_response:type_name -> dota.CMsgDOTAClaimEventActionResponse + 26, // 21: dota.CMsgClientToGCOverworldClaimEncounterReward.extra_reward_data:type_name -> dota.CMsgOverworldEncounterData + 6, // 22: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.response:type_name -> dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.EResponse + 72, // 23: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.claim_response:type_name -> dota.CMsgDOTAClaimEventActionResponse + 20, // 24: dota.CMsgClientToGCOverworldClaimEncounterRewardResponse.tokens_received:type_name -> dota.CMsgOverworldTokenQuantity + 7, // 25: dota.CMsgClientToGCOverworldVisitEncounterResponse.response:type_name -> dota.CMsgClientToGCOverworldVisitEncounterResponse.EResponse + 8, // 26: dota.CMsgClientToGCOverworldMoveToNodeResponse.response:type_name -> dota.CMsgClientToGCOverworldMoveToNodeResponse.EResponse + 20, // 27: dota.CMsgClientToGCOverworldTradeTokens.token_offer:type_name -> dota.CMsgOverworldTokenQuantity + 20, // 28: dota.CMsgClientToGCOverworldTradeTokens.token_request:type_name -> dota.CMsgOverworldTokenQuantity + 9, // 29: dota.CMsgClientToGCOverworldTradeTokensResponse.response:type_name -> dota.CMsgClientToGCOverworldTradeTokensResponse.EResponse + 20, // 30: dota.CMsgClientToGCOverworldTradeTokensResponse.tokens_received:type_name -> dota.CMsgOverworldTokenQuantity + 19, // 31: dota.CMsgClientToGCOverworldGiftTokens.token_gift:type_name -> dota.CMsgOverworldTokenCount + 10, // 32: dota.CMsgClientToGCOverworldGiftTokensResponse.response:type_name -> dota.CMsgClientToGCOverworldGiftTokensResponse.EResponse + 11, // 33: dota.CMsgClientToGCOverworldRequestTokensNeededByFriendResponse.response:type_name -> dota.CMsgClientToGCOverworldRequestTokensNeededByFriendResponse.EResponse + 20, // 34: dota.CMsgClientToGCOverworldRequestTokensNeededByFriendResponse.token_quantity:type_name -> dota.CMsgOverworldTokenQuantity + 12, // 35: dota.CMsgClientToGCOverworldDevResetAllResponse.response:type_name -> dota.CMsgClientToGCOverworldDevResetAllResponse.EResponse + 13, // 36: dota.CMsgClientToGCOverworldDevResetNodeResponse.response:type_name -> dota.CMsgClientToGCOverworldDevResetNodeResponse.EResponse + 20, // 37: dota.CMsgClientToGCOverworldDevGrantTokens.token_quantity:type_name -> dota.CMsgOverworldTokenQuantity + 14, // 38: dota.CMsgClientToGCOverworldDevGrantTokensResponse.response:type_name -> dota.CMsgClientToGCOverworldDevGrantTokensResponse.EResponse + 15, // 39: dota.CMsgClientToGCOverworldDevClearInventoryResponse.response:type_name -> dota.CMsgClientToGCOverworldDevClearInventoryResponse.EResponse + 16, // 40: dota.CMsgClientToGCOverworldFeedbackResponse.response:type_name -> dota.CMsgClientToGCOverworldFeedbackResponse.EResponse + 69, // 41: dota.CMsgClientToGCOverworldGetDynamicImageResponse.images:type_name -> dota.CMsgClientToGCOverworldGetDynamicImageResponse.Image + 3, // 42: dota.CMsgClientToGCOverworldMinigameAction.action:type_name -> dota.EOverworldMinigameAction + 18, // 43: dota.CMsgClientToGCOverworldMinigameActionResponse.response:type_name -> dota.CMsgClientToGCOverworldMinigameActionResponse.EResponse + 20, // 44: dota.CMsgOverworldEncounterTokenTreasureData.RewardOption.token_cost:type_name -> dota.CMsgOverworldTokenQuantity + 20, // 45: dota.CMsgOverworldEncounterTokenTreasureData.RewardOption.token_reward:type_name -> dota.CMsgOverworldTokenQuantity + 20, // 46: dota.CMsgOverworldEncounterTokenQuestData.Quest.token_cost:type_name -> dota.CMsgOverworldTokenQuantity + 20, // 47: dota.CMsgOverworldEncounterTokenQuestData.Quest.token_reward:type_name -> dota.CMsgOverworldTokenQuantity + 30, // 48: dota.CMsgOverworldUserData.MinigameDataEntry.value:type_name -> dota.CMsgOverworldMinigameUserData + 20, // 49: dota.CMsgOverworldMatchRewards.Player.tokens:type_name -> dota.CMsgOverworldTokenQuantity + 17, // 50: dota.CMsgClientToGCOverworldGetDynamicImageResponse.Image.format:type_name -> dota.CMsgClientToGCOverworldGetDynamicImageResponse.EDynamicImageFormat + 51, // [51:51] is the sub-list for method output_type + 51, // [51:51] is the sub-list for method input_type + 51, // [51:51] is the sub-list for extension type_name + 51, // [51:51] is the sub-list for extension extendee + 0, // [0:51] is the sub-list for field type_name } func init() { file_dota_gcmessages_common_overworld_proto_init() } @@ -4388,6 +5332,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { file_steammessages_proto_init() file_dota_shared_enums_proto_init() file_dota_gcmessages_common_proto_init() + file_dota_gcmessages_common_survivors_proto_init() file_gcsdk_gcmessages_proto_init() if !protoimpl.UnsafeEnabled { file_dota_gcmessages_common_overworld_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { @@ -4511,7 +5456,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgOverworldUserData); i { + switch v := v.(*CMsgOverworldMinigameCustomData); i { case 0: return &v.state case 1: @@ -4523,7 +5468,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgOverworldMatchRewards); i { + switch v := v.(*CMsgOverworldMinigameUserData); i { case 0: return &v.state case 1: @@ -4535,7 +5480,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldGetUserData); i { + switch v := v.(*CMsgOverworldUserData); i { case 0: return &v.state case 1: @@ -4547,7 +5492,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldGetUserDataResponse); i { + switch v := v.(*CMsgOverworldMatchRewards); i { case 0: return &v.state case 1: @@ -4559,7 +5504,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientOverworldUserDataUpdated); i { + switch v := v.(*CMsgClientToGCOverworldGetUserData); i { case 0: return &v.state case 1: @@ -4571,7 +5516,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldCompletePath); i { + switch v := v.(*CMsgClientToGCOverworldGetUserDataResponse); i { case 0: return &v.state case 1: @@ -4583,7 +5528,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldCompletePathResponse); i { + switch v := v.(*CMsgGCToClientOverworldUserDataUpdated); i { case 0: return &v.state case 1: @@ -4595,7 +5540,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgOverworldEncounterPitFighterRewardData); i { + switch v := v.(*CMsgClientToGCOverworldCompletePath); i { case 0: return &v.state case 1: @@ -4607,7 +5552,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldClaimEncounterReward); i { + switch v := v.(*CMsgClientToGCOverworldCompletePathResponse); i { case 0: return &v.state case 1: @@ -4619,7 +5564,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldClaimEncounterRewardResponse); i { + switch v := v.(*CMsgOverworldEncounterPitFighterRewardData); i { case 0: return &v.state case 1: @@ -4631,7 +5576,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldVisitEncounter); i { + switch v := v.(*CMsgClientToGCOverworldClaimEncounterReward); i { case 0: return &v.state case 1: @@ -4643,7 +5588,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldVisitEncounterResponse); i { + switch v := v.(*CMsgClientToGCOverworldClaimEncounterRewardResponse); i { case 0: return &v.state case 1: @@ -4655,7 +5600,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldMoveToNode); i { + switch v := v.(*CMsgClientToGCOverworldVisitEncounter); i { case 0: return &v.state case 1: @@ -4667,7 +5612,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldMoveToNodeResponse); i { + switch v := v.(*CMsgClientToGCOverworldVisitEncounterResponse); i { case 0: return &v.state case 1: @@ -4679,7 +5624,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldTradeTokens); i { + switch v := v.(*CMsgClientToGCOverworldMoveToNode); i { case 0: return &v.state case 1: @@ -4691,7 +5636,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldTradeTokensResponse); i { + switch v := v.(*CMsgClientToGCOverworldMoveToNodeResponse); i { case 0: return &v.state case 1: @@ -4703,7 +5648,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldGiftTokens); i { + switch v := v.(*CMsgClientToGCOverworldTradeTokens); i { case 0: return &v.state case 1: @@ -4715,7 +5660,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldGiftTokensResponse); i { + switch v := v.(*CMsgClientToGCOverworldTradeTokensResponse); i { case 0: return &v.state case 1: @@ -4727,7 +5672,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevResetAll); i { + switch v := v.(*CMsgClientToGCOverworldGiftTokens); i { case 0: return &v.state case 1: @@ -4739,7 +5684,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevResetAllResponse); i { + switch v := v.(*CMsgClientToGCOverworldGiftTokensResponse); i { case 0: return &v.state case 1: @@ -4751,7 +5696,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevResetNode); i { + switch v := v.(*CMsgClientToGCOverworldRequestTokensNeededByFriend); i { case 0: return &v.state case 1: @@ -4763,7 +5708,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevResetNodeResponse); i { + switch v := v.(*CMsgClientToGCOverworldRequestTokensNeededByFriendResponse); i { case 0: return &v.state case 1: @@ -4775,7 +5720,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevGrantTokens); i { + switch v := v.(*CMsgClientToGCOverworldDevResetAll); i { case 0: return &v.state case 1: @@ -4787,7 +5732,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevGrantTokensResponse); i { + switch v := v.(*CMsgClientToGCOverworldDevResetAllResponse); i { case 0: return &v.state case 1: @@ -4799,7 +5744,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevClearInventory); i { + switch v := v.(*CMsgClientToGCOverworldDevResetNode); i { case 0: return &v.state case 1: @@ -4811,7 +5756,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldDevClearInventoryResponse); i { + switch v := v.(*CMsgClientToGCOverworldDevResetNodeResponse); i { case 0: return &v.state case 1: @@ -4823,7 +5768,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldFeedback); i { + switch v := v.(*CMsgClientToGCOverworldDevGrantTokens); i { case 0: return &v.state case 1: @@ -4835,7 +5780,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldFeedbackResponse); i { + switch v := v.(*CMsgClientToGCOverworldDevGrantTokensResponse); i { case 0: return &v.state case 1: @@ -4847,7 +5792,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldGetDynamicImage); i { + switch v := v.(*CMsgClientToGCOverworldDevClearInventory); i { case 0: return &v.state case 1: @@ -4859,7 +5804,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgClientToGCOverworldGetDynamicImageResponse); i { + switch v := v.(*CMsgClientToGCOverworldDevClearInventoryResponse); i { case 0: return &v.state case 1: @@ -4871,7 +5816,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgOverworldEncounterTokenTreasureData_RewardOption); i { + switch v := v.(*CMsgClientToGCOverworldFeedback); i { case 0: return &v.state case 1: @@ -4883,7 +5828,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgOverworldEncounterTokenQuestData_Quest); i { + switch v := v.(*CMsgClientToGCOverworldFeedbackResponse); i { case 0: return &v.state case 1: @@ -4895,7 +5840,7 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgOverworldMatchRewards_Player); i { + switch v := v.(*CMsgClientToGCOverworldGetDynamicImage); i { case 0: return &v.state case 1: @@ -4907,6 +5852,90 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } file_dota_gcmessages_common_overworld_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCOverworldGetDynamicImageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_overworld_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCOverworldMinigameAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_overworld_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCOverworldMinigameActionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_overworld_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgOverworldEncounterTokenTreasureData_RewardOption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_overworld_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgOverworldEncounterTokenQuestData_Quest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_overworld_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgOverworldUserData_MinigameDataEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_overworld_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgOverworldMatchRewards_Player); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_overworld_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgClientToGCOverworldGetDynamicImageResponse_Image); i { case 0: return &v.state @@ -4919,13 +5948,16 @@ func file_dota_gcmessages_common_overworld_proto_init() { } } } + file_dota_gcmessages_common_overworld_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*CMsgOverworldMinigameCustomData_SurvivorsData)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_gcmessages_common_overworld_proto_rawDesc, - NumEnums: 15, - NumMessages: 44, + NumEnums: 19, + NumMessages: 51, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_gcmessages_common_overworld.proto b/dota/dota_gcmessages_common_overworld.proto index e5e075cc..007ab7d1 100644 --- a/dota/dota_gcmessages_common_overworld.proto +++ b/dota/dota_gcmessages_common_overworld.proto @@ -6,6 +6,7 @@ option go_package = "github.com/dotabuff/manta/dota;dota"; import "steammessages.proto"; import "dota_shared_enums.proto"; import "dota_gcmessages_common.proto"; +import "dota_gcmessages_common_survivors.proto"; import "gcsdk_gcmessages.proto"; enum EOverworldNodeState { @@ -14,6 +15,12 @@ enum EOverworldNodeState { k_eOverworldNodeState_Unlocked = 2; } +enum EOverworldPathState { + k_eOverworldPathState_Invalid = 0; + k_eOverworldPathState_Incomplete = 1; + k_eOverworldPathState_Complete = 2; +} + enum EOverworldAuditAction { k_eOverworldAuditAction_Invalid = 0; k_eOverworldAuditAction_DevModifyTokens = 1; @@ -34,6 +41,16 @@ enum EOverworldAuditAction { k_eOverworldAuditAction_TokenGiftSent = 17; } +enum EOverworldMinigameAction { + k_eOverworldMinigameAction_Invalid = 0; + k_eOverworldMinigameAction_DevReset = 1; + k_eOverworldMinigameAction_DevGiveCurrency = 2; + k_eOverworldMinigameAction_Purchase = 3; + k_eOverworldMinigameAction_SetOption = 4; + k_eOverworldMinigameAction_ReportCurrencyGained = 5; + k_eOverworldMinigameAction_UnlockDifficulty = 6; +} + message CMsgOverworldTokenCount { optional uint32 token_id = 1; optional uint32 token_count = 2; @@ -92,13 +109,32 @@ message CMsgOverworldNode { message CMsgOverworldPath { optional uint32 path_id = 1; optional CMsgOverworldTokenQuantity path_cost = 2; + optional EOverworldPathState path_state = 3; +} + +message CMsgOverworldMinigameCustomData { + oneof minigame_type { + CMsgSurvivorsUserData survivors_data = 1; + } +} + +message CMsgOverworldMinigameUserData { + optional uint32 node_id = 1; + optional uint32 currency_amount = 2; + optional CMsgOverworldMinigameCustomData custom_data = 3; } message CMsgOverworldUserData { + message MinigameDataEntry { + optional uint32 key = 1; + optional CMsgOverworldMinigameUserData value = 2; + } + optional CMsgOverworldTokenQuantity token_inventory = 1; repeated CMsgOverworldNode overworld_nodes = 2; repeated CMsgOverworldPath overworld_paths = 3; optional uint32 current_node_id = 4; + repeated CMsgOverworldUserData.MinigameDataEntry minigame_data = 5; } message CMsgOverworldMatchRewards { @@ -168,6 +204,9 @@ message CMsgClientToGCOverworldClaimEncounterReward { optional uint32 reward_data = 3; optional uint32 periodic_resource_id = 4; optional CMsgOverworldEncounterData extra_reward_data = 5; + optional uint32 leaderboard_data = 6; + optional uint32 leaderboard_index = 7; + optional bool should_claim_reward = 8; } message CMsgClientToGCOverworldClaimEncounterRewardResponse { @@ -187,6 +226,7 @@ message CMsgClientToGCOverworldClaimEncounterRewardResponse { k_eInvalidEncounterData = 12; k_eNotEnoughTokensForReward = 13; k_eNotEnoughResourceForReward = 14; + k_eInvalidRewardData = 15; } optional CMsgClientToGCOverworldClaimEncounterRewardResponse.EResponse response = 1; @@ -291,6 +331,29 @@ message CMsgClientToGCOverworldGiftTokensResponse { optional CMsgClientToGCOverworldGiftTokensResponse.EResponse response = 1; } +message CMsgClientToGCOverworldRequestTokensNeededByFriend { + optional uint32 friend_account_id = 1; + optional uint32 overworld_id = 2; +} + +message CMsgClientToGCOverworldRequestTokensNeededByFriendResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eNodeLocked = 6; + k_eInvalidOverworld = 7; + k_eInvalidFriend = 8; + k_eTooManyRequests = 9; + } + + optional CMsgClientToGCOverworldRequestTokensNeededByFriendResponse.EResponse response = 1; + optional CMsgOverworldTokenQuantity token_quantity = 2; +} + message CMsgClientToGCOverworldDevResetAll { optional uint32 overworld_id = 1; } @@ -409,3 +472,31 @@ message CMsgClientToGCOverworldGetDynamicImageResponse { optional uint32 image_id = 1; repeated CMsgClientToGCOverworldGetDynamicImageResponse.Image images = 2; } + +message CMsgClientToGCOverworldMinigameAction { + optional uint32 overworld_id = 1; + optional uint32 node_id = 2; + optional EOverworldMinigameAction action = 3; + optional uint32 selection = 4; + optional uint32 option_value = 5; + optional uint32 currency_amount = 6; +} + +message CMsgClientToGCOverworldMinigameActionResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidOverworld = 5; + k_eInvalidNode = 6; + k_eNodeLocked = 7; + k_eInvalidSelection = 8; + k_eNotEnoughTokens = 9; + k_eNotEnoughMinigameCurrency = 10; + k_eNotAllowed = 11; + } + + optional CMsgClientToGCOverworldMinigameActionResponse.EResponse response = 1; +} diff --git a/dota/dota_gcmessages_common_survivors.pb.go b/dota/dota_gcmessages_common_survivors.pb.go new file mode 100644 index 00000000..8145ed44 --- /dev/null +++ b/dota/dota_gcmessages_common_survivors.pb.go @@ -0,0 +1,651 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v3.21.12 +// source: dota_gcmessages_common_survivors.proto + +package dota + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse int32 + +const ( + CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eInternalError CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse = 0 + CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eSuccess CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse = 1 + CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eTooBusy CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse = 2 + CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eDisabled CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse = 3 + CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eTimeout CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse = 4 + CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eNotAllowed CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse = 5 + CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eInvalidItem CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse = 6 +) + +// Enum value maps for CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse. +var ( + CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse_name = map[int32]string{ + 0: "k_eInternalError", + 1: "k_eSuccess", + 2: "k_eTooBusy", + 3: "k_eDisabled", + 4: "k_eTimeout", + 5: "k_eNotAllowed", + 6: "k_eInvalidItem", + } + CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse_value = map[string]int32{ + "k_eInternalError": 0, + "k_eSuccess": 1, + "k_eTooBusy": 2, + "k_eDisabled": 3, + "k_eTimeout": 4, + "k_eNotAllowed": 5, + "k_eInvalidItem": 6, + } +) + +func (x CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) Enum() *CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse { + p := new(CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) + *p = x + return p +} + +func (x CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) Descriptor() protoreflect.EnumDescriptor { + return file_dota_gcmessages_common_survivors_proto_enumTypes[0].Descriptor() +} + +func (CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) Type() protoreflect.EnumType { + return &file_dota_gcmessages_common_survivors_proto_enumTypes[0] +} + +func (x CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse(num) + return nil +} + +// Deprecated: Use CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse.Descriptor instead. +func (CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse) EnumDescriptor() ([]byte, []int) { + return file_dota_gcmessages_common_survivors_proto_rawDescGZIP(), []int{3, 0} +} + +type CMsgSurvivorsUserData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttributeLevels []*CMsgSurvivorsUserData_AttributeLevelsEntry `protobuf:"bytes,1,rep,name=attribute_levels,json=attributeLevels" json:"attribute_levels,omitempty"` + UnlockedDifficulty *uint32 `protobuf:"varint,2,opt,name=unlocked_difficulty,json=unlockedDifficulty" json:"unlocked_difficulty,omitempty"` +} + +func (x *CMsgSurvivorsUserData) Reset() { + *x = CMsgSurvivorsUserData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSurvivorsUserData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSurvivorsUserData) ProtoMessage() {} + +func (x *CMsgSurvivorsUserData) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSurvivorsUserData.ProtoReflect.Descriptor instead. +func (*CMsgSurvivorsUserData) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_survivors_proto_rawDescGZIP(), []int{0} +} + +func (x *CMsgSurvivorsUserData) GetAttributeLevels() []*CMsgSurvivorsUserData_AttributeLevelsEntry { + if x != nil { + return x.AttributeLevels + } + return nil +} + +func (x *CMsgSurvivorsUserData) GetUnlockedDifficulty() uint32 { + if x != nil && x.UnlockedDifficulty != nil { + return *x.UnlockedDifficulty + } + return 0 +} + +type CMsgClientToGCSurvivorsPowerUpTelemetryData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PowerupId *uint32 `protobuf:"varint,1,opt,name=powerup_id,json=powerupId" json:"powerup_id,omitempty"` + Level *uint32 `protobuf:"varint,2,opt,name=level" json:"level,omitempty"` + TimeReceived *uint32 `protobuf:"varint,3,opt,name=time_received,json=timeReceived" json:"time_received,omitempty"` + TimeHeld *uint32 `protobuf:"varint,4,opt,name=time_held,json=timeHeld" json:"time_held,omitempty"` + TotalDamage *uint64 `protobuf:"varint,5,opt,name=total_damage,json=totalDamage" json:"total_damage,omitempty"` + Dps *uint32 `protobuf:"varint,6,opt,name=dps" json:"dps,omitempty"` + HasScepter *uint32 `protobuf:"varint,7,opt,name=has_scepter,json=hasScepter" json:"has_scepter,omitempty"` +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) Reset() { + *x = CMsgClientToGCSurvivorsPowerUpTelemetryData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCSurvivorsPowerUpTelemetryData) ProtoMessage() {} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCSurvivorsPowerUpTelemetryData.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCSurvivorsPowerUpTelemetryData) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_survivors_proto_rawDescGZIP(), []int{1} +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) GetPowerupId() uint32 { + if x != nil && x.PowerupId != nil { + return *x.PowerupId + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) GetLevel() uint32 { + if x != nil && x.Level != nil { + return *x.Level + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) GetTimeReceived() uint32 { + if x != nil && x.TimeReceived != nil { + return *x.TimeReceived + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) GetTimeHeld() uint32 { + if x != nil && x.TimeHeld != nil { + return *x.TimeHeld + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) GetTotalDamage() uint64 { + if x != nil && x.TotalDamage != nil { + return *x.TotalDamage + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) GetDps() uint32 { + if x != nil && x.Dps != nil { + return *x.Dps + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsPowerUpTelemetryData) GetHasScepter() uint32 { + if x != nil && x.HasScepter != nil { + return *x.HasScepter + } + return 0 +} + +type CMsgClientToGCSurvivorsGameTelemetryData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimeSurvived *uint32 `protobuf:"varint,1,opt,name=time_survived,json=timeSurvived" json:"time_survived,omitempty"` + PlayerLevel *uint32 `protobuf:"varint,2,opt,name=player_level,json=playerLevel" json:"player_level,omitempty"` + GameResult *uint32 `protobuf:"varint,3,opt,name=game_result,json=gameResult" json:"game_result,omitempty"` + GoldEarned *uint32 `protobuf:"varint,4,opt,name=gold_earned,json=goldEarned" json:"gold_earned,omitempty"` + Powerups []*CMsgClientToGCSurvivorsPowerUpTelemetryData `protobuf:"bytes,5,rep,name=powerups" json:"powerups,omitempty"` + Difficulty *uint32 `protobuf:"varint,6,opt,name=difficulty" json:"difficulty,omitempty"` + MetaprogressionLevel *uint32 `protobuf:"varint,7,opt,name=metaprogression_level,json=metaprogressionLevel" json:"metaprogression_level,omitempty"` +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) Reset() { + *x = CMsgClientToGCSurvivorsGameTelemetryData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCSurvivorsGameTelemetryData) ProtoMessage() {} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCSurvivorsGameTelemetryData.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCSurvivorsGameTelemetryData) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_survivors_proto_rawDescGZIP(), []int{2} +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) GetTimeSurvived() uint32 { + if x != nil && x.TimeSurvived != nil { + return *x.TimeSurvived + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) GetPlayerLevel() uint32 { + if x != nil && x.PlayerLevel != nil { + return *x.PlayerLevel + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) GetGameResult() uint32 { + if x != nil && x.GameResult != nil { + return *x.GameResult + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) GetGoldEarned() uint32 { + if x != nil && x.GoldEarned != nil { + return *x.GoldEarned + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) GetPowerups() []*CMsgClientToGCSurvivorsPowerUpTelemetryData { + if x != nil { + return x.Powerups + } + return nil +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) GetDifficulty() uint32 { + if x != nil && x.Difficulty != nil { + return *x.Difficulty + } + return 0 +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryData) GetMetaprogressionLevel() uint32 { + if x != nil && x.MetaprogressionLevel != nil { + return *x.MetaprogressionLevel + } + return 0 +} + +type CMsgClientToGCSurvivorsGameTelemetryDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Response *CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse `protobuf:"varint,1,opt,name=response,enum=dota.CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse" json:"response,omitempty"` +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryDataResponse) Reset() { + *x = CMsgClientToGCSurvivorsGameTelemetryDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgClientToGCSurvivorsGameTelemetryDataResponse) ProtoMessage() {} + +func (x *CMsgClientToGCSurvivorsGameTelemetryDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgClientToGCSurvivorsGameTelemetryDataResponse.ProtoReflect.Descriptor instead. +func (*CMsgClientToGCSurvivorsGameTelemetryDataResponse) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_survivors_proto_rawDescGZIP(), []int{3} +} + +func (x *CMsgClientToGCSurvivorsGameTelemetryDataResponse) GetResponse() CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse { + if x != nil && x.Response != nil { + return *x.Response + } + return CMsgClientToGCSurvivorsGameTelemetryDataResponse_k_eInternalError +} + +type CMsgSurvivorsUserData_AttributeLevelsEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *int32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` +} + +func (x *CMsgSurvivorsUserData_AttributeLevelsEntry) Reset() { + *x = CMsgSurvivorsUserData_AttributeLevelsEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSurvivorsUserData_AttributeLevelsEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSurvivorsUserData_AttributeLevelsEntry) ProtoMessage() {} + +func (x *CMsgSurvivorsUserData_AttributeLevelsEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_common_survivors_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSurvivorsUserData_AttributeLevelsEntry.ProtoReflect.Descriptor instead. +func (*CMsgSurvivorsUserData_AttributeLevelsEntry) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_common_survivors_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *CMsgSurvivorsUserData_AttributeLevelsEntry) GetKey() int32 { + if x != nil && x.Key != nil { + return *x.Key + } + return 0 +} + +func (x *CMsgSurvivorsUserData_AttributeLevelsEntry) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +var File_dota_gcmessages_common_survivors_proto protoreflect.FileDescriptor + +var file_dota_gcmessages_common_survivors_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, 0x13, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x64, 0x6f, + 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, + 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xe5, 0x01, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x72, 0x76, 0x69, + 0x76, 0x6f, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x10, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x1a, 0x3e, 0x0a, 0x14, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x2b, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x72, + 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x55, 0x70, 0x54, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x75, 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x65, 0x6c, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x65, 0x6c, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x64, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x63, + 0x65, 0x70, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x61, 0x73, + 0x53, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x22, 0xd8, 0x02, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, + 0x6f, 0x72, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x72, + 0x76, 0x69, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x45, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x12, 0x4d, + 0x0a, 0x08, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x75, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x50, + 0x6f, 0x77, 0x65, 0x72, 0x55, 0x70, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x75, 0x70, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x33, 0x0a, + 0x15, 0x6d, 0x65, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6d, 0x65, + 0x74, 0x61, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x22, 0x9c, 0x02, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x47, 0x61, + 0x6d, 0x65, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, + 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, + 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, + 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, + 0x0e, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x10, + 0x06, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, + 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, +} + +var ( + file_dota_gcmessages_common_survivors_proto_rawDescOnce sync.Once + file_dota_gcmessages_common_survivors_proto_rawDescData = file_dota_gcmessages_common_survivors_proto_rawDesc +) + +func file_dota_gcmessages_common_survivors_proto_rawDescGZIP() []byte { + file_dota_gcmessages_common_survivors_proto_rawDescOnce.Do(func() { + file_dota_gcmessages_common_survivors_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_gcmessages_common_survivors_proto_rawDescData) + }) + return file_dota_gcmessages_common_survivors_proto_rawDescData +} + +var file_dota_gcmessages_common_survivors_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_dota_gcmessages_common_survivors_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_dota_gcmessages_common_survivors_proto_goTypes = []interface{}{ + (CMsgClientToGCSurvivorsGameTelemetryDataResponse_EResponse)(0), // 0: dota.CMsgClientToGCSurvivorsGameTelemetryDataResponse.EResponse + (*CMsgSurvivorsUserData)(nil), // 1: dota.CMsgSurvivorsUserData + (*CMsgClientToGCSurvivorsPowerUpTelemetryData)(nil), // 2: dota.CMsgClientToGCSurvivorsPowerUpTelemetryData + (*CMsgClientToGCSurvivorsGameTelemetryData)(nil), // 3: dota.CMsgClientToGCSurvivorsGameTelemetryData + (*CMsgClientToGCSurvivorsGameTelemetryDataResponse)(nil), // 4: dota.CMsgClientToGCSurvivorsGameTelemetryDataResponse + (*CMsgSurvivorsUserData_AttributeLevelsEntry)(nil), // 5: dota.CMsgSurvivorsUserData.AttributeLevelsEntry +} +var file_dota_gcmessages_common_survivors_proto_depIdxs = []int32{ + 5, // 0: dota.CMsgSurvivorsUserData.attribute_levels:type_name -> dota.CMsgSurvivorsUserData.AttributeLevelsEntry + 2, // 1: dota.CMsgClientToGCSurvivorsGameTelemetryData.powerups:type_name -> dota.CMsgClientToGCSurvivorsPowerUpTelemetryData + 0, // 2: dota.CMsgClientToGCSurvivorsGameTelemetryDataResponse.response:type_name -> dota.CMsgClientToGCSurvivorsGameTelemetryDataResponse.EResponse + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_dota_gcmessages_common_survivors_proto_init() } +func file_dota_gcmessages_common_survivors_proto_init() { + if File_dota_gcmessages_common_survivors_proto != nil { + return + } + file_steammessages_proto_init() + file_dota_shared_enums_proto_init() + file_dota_gcmessages_common_proto_init() + file_gcsdk_gcmessages_proto_init() + if !protoimpl.UnsafeEnabled { + file_dota_gcmessages_common_survivors_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSurvivorsUserData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_survivors_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCSurvivorsPowerUpTelemetryData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_survivors_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCSurvivorsGameTelemetryData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_survivors_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgClientToGCSurvivorsGameTelemetryDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_gcmessages_common_survivors_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSurvivorsUserData_AttributeLevelsEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_dota_gcmessages_common_survivors_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_dota_gcmessages_common_survivors_proto_goTypes, + DependencyIndexes: file_dota_gcmessages_common_survivors_proto_depIdxs, + EnumInfos: file_dota_gcmessages_common_survivors_proto_enumTypes, + MessageInfos: file_dota_gcmessages_common_survivors_proto_msgTypes, + }.Build() + File_dota_gcmessages_common_survivors_proto = out.File + file_dota_gcmessages_common_survivors_proto_rawDesc = nil + file_dota_gcmessages_common_survivors_proto_goTypes = nil + file_dota_gcmessages_common_survivors_proto_depIdxs = nil +} diff --git a/dota/dota_gcmessages_common_survivors.proto b/dota/dota_gcmessages_common_survivors.proto new file mode 100644 index 00000000..64d1ed06 --- /dev/null +++ b/dota/dota_gcmessages_common_survivors.proto @@ -0,0 +1,53 @@ +syntax = "proto2"; + +package dota; +option go_package = "github.com/dotabuff/manta/dota;dota"; + +import "steammessages.proto"; +import "dota_shared_enums.proto"; +import "dota_gcmessages_common.proto"; +import "gcsdk_gcmessages.proto"; + +message CMsgSurvivorsUserData { + message AttributeLevelsEntry { + optional int32 key = 1; + optional uint32 value = 2; + } + + repeated CMsgSurvivorsUserData.AttributeLevelsEntry attribute_levels = 1; + optional uint32 unlocked_difficulty = 2; +} + +message CMsgClientToGCSurvivorsPowerUpTelemetryData { + optional uint32 powerup_id = 1; + optional uint32 level = 2; + optional uint32 time_received = 3; + optional uint32 time_held = 4; + optional uint64 total_damage = 5; + optional uint32 dps = 6; + optional uint32 has_scepter = 7; +} + +message CMsgClientToGCSurvivorsGameTelemetryData { + optional uint32 time_survived = 1; + optional uint32 player_level = 2; + optional uint32 game_result = 3; + optional uint32 gold_earned = 4; + repeated CMsgClientToGCSurvivorsPowerUpTelemetryData powerups = 5; + optional uint32 difficulty = 6; + optional uint32 metaprogression_level = 7; +} + +message CMsgClientToGCSurvivorsGameTelemetryDataResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidItem = 6; + } + + optional CMsgClientToGCSurvivorsGameTelemetryDataResponse.EResponse response = 1; +} diff --git a/dota/dota_gcmessages_msgid.pb.go b/dota/dota_gcmessages_msgid.pb.go index 4c6f0411..527382ed 100644 --- a/dota/dota_gcmessages_msgid.pb.go +++ b/dota/dota_gcmessages_msgid.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_msgid.proto package dota @@ -98,10 +98,6 @@ const ( EDOTAGCMsg_k_EMsgGC_TournamentItemEventResponse EDOTAGCMsg = 7151 EDOTAGCMsg_k_EMsgTeamFanfare EDOTAGCMsg = 7156 EDOTAGCMsg_k_EMsgResponseTeamFanfare EDOTAGCMsg = 7157 - EDOTAGCMsg_k_EMsgGC_GameServerUploadSaveGame EDOTAGCMsg = 7158 - EDOTAGCMsg_k_EMsgGC_GameServerSaveGameResult EDOTAGCMsg = 7159 - EDOTAGCMsg_k_EMsgGC_GameServerGetLoadGame EDOTAGCMsg = 7160 - EDOTAGCMsg_k_EMsgGC_GameServerGetLoadGameResult EDOTAGCMsg = 7161 EDOTAGCMsg_k_EMsgGCEditTeamDetails EDOTAGCMsg = 7166 EDOTAGCMsg_k_EMsgGCEditTeamDetailsResponse EDOTAGCMsg = 7167 EDOTAGCMsg_k_EMsgGCReadyUpStatus EDOTAGCMsg = 7170 @@ -842,7 +838,6 @@ const ( EDOTAGCMsg_k_EMsgGCToClientCollectorsCacheAvailableDataResponse EDOTAGCMsg = 8872 EDOTAGCMsg_k_EMsgClientToGCUploadMatchClip EDOTAGCMsg = 8873 EDOTAGCMsg_k_EMsgGCToClientUploadMatchClipResponse EDOTAGCMsg = 8874 - EDOTAGCMsg_k_EMsgGCToServerSteamLearnAccessTokensChanged EDOTAGCMsg = 8876 EDOTAGCMsg_k_EMsgSignOutMuertaMinigame EDOTAGCMsg = 8877 EDOTAGCMsg_k_EMsgGCToServerLobbyHeroRoleStats EDOTAGCMsg = 8878 EDOTAGCMsg_k_EMsgClientToGCRankRequest EDOTAGCMsg = 8879 @@ -961,7 +956,30 @@ const ( EDOTAGCMsg_k_EMsgGCToClientFightingGameChallenge EDOTAGCMsg = 8995 EDOTAGCMsg_k_EMsgGCToClientFightingGameStartMatch EDOTAGCMsg = 8996 EDOTAGCMsg_k_EMsgGCToClientFightingGameChallengeCanceled EDOTAGCMsg = 8997 - EDOTAGCMsg_k_EMsgGCToServerSteamLearnUseHTTP EDOTAGCMsg = 8998 + EDOTAGCMsg_k_EMsgClientToGCBingoShuffleCard EDOTAGCMsg = 8999 + EDOTAGCMsg_k_EMsgClientToGCBingoShuffleCardResponse EDOTAGCMsg = 9000 + EDOTAGCMsg_k_EMsgClientToGCBingoModifySquare EDOTAGCMsg = 9001 + EDOTAGCMsg_k_EMsgClientToGCBingoModifySquareResponse EDOTAGCMsg = 9002 + EDOTAGCMsg_k_EMsgClientToGCBingoDevAddTokens EDOTAGCMsg = 9003 + EDOTAGCMsg_k_EMsgClientToGCBingoDevAddTokensResponse EDOTAGCMsg = 9004 + EDOTAGCMsg_k_EMsgClientToGCBingoDevClearInventory EDOTAGCMsg = 9005 + EDOTAGCMsg_k_EMsgClientToGCBingoDevClearInventoryResponse EDOTAGCMsg = 9006 + EDOTAGCMsg_k_EMsgGCCompendiumRemoveAllSelections EDOTAGCMsg = 9007 + EDOTAGCMsg_k_EMsgGCCompendiumRemoveAllSelectionsResponse EDOTAGCMsg = 9008 + EDOTAGCMsg_k_EMsgClientToGCOverworldMinigameAction EDOTAGCMsg = 9009 + EDOTAGCMsg_k_EMsgClientToGCOverworldMinigameActionResponse EDOTAGCMsg = 9010 + EDOTAGCMsg_k_EMsgClientToGCSurvivorsTelemetry EDOTAGCMsg = 9011 + EDOTAGCMsg_k_EMsgClientToGCSurvivorsTelemetryResponse EDOTAGCMsg = 9012 + EDOTAGCMsg_k_EMsgClientToGCOverworldRequestTokensNeededByFriend EDOTAGCMsg = 9013 + EDOTAGCMsg_k_EMsgClientToGCOverworldRequestTokensNeededByFriendResponse EDOTAGCMsg = 9014 + EDOTAGCMsg_k_EMsgClientToGCCraftworksGetUserData EDOTAGCMsg = 9015 + EDOTAGCMsg_k_EMsgClientToGCCraftworksGetUserDataResponse EDOTAGCMsg = 9016 + EDOTAGCMsg_k_EMsgGCToClientCraftworksUserDataUpdated EDOTAGCMsg = 9017 + EDOTAGCMsg_k_EMsgClientToGCCraftworksCraftRecipe EDOTAGCMsg = 9018 + EDOTAGCMsg_k_EMsgClientToGCCraftworksCraftRecipeResponse EDOTAGCMsg = 9019 + EDOTAGCMsg_k_EMsgClientToGCCraftworksDevModifyComponents EDOTAGCMsg = 9020 + EDOTAGCMsg_k_EMsgClientToGCCraftworksDevModifyComponentsResponse EDOTAGCMsg = 9021 + EDOTAGCMsg_k_EMsgSignOutCraftworks EDOTAGCMsg = 9022 ) // Enum value maps for EDOTAGCMsg. @@ -1042,10 +1060,6 @@ var ( 7151: "k_EMsgGC_TournamentItemEventResponse", 7156: "k_EMsgTeamFanfare", 7157: "k_EMsgResponseTeamFanfare", - 7158: "k_EMsgGC_GameServerUploadSaveGame", - 7159: "k_EMsgGC_GameServerSaveGameResult", - 7160: "k_EMsgGC_GameServerGetLoadGame", - 7161: "k_EMsgGC_GameServerGetLoadGameResult", 7166: "k_EMsgGCEditTeamDetails", 7167: "k_EMsgGCEditTeamDetailsResponse", 7170: "k_EMsgGCReadyUpStatus", @@ -1786,7 +1800,6 @@ var ( 8872: "k_EMsgGCToClientCollectorsCacheAvailableDataResponse", 8873: "k_EMsgClientToGCUploadMatchClip", 8874: "k_EMsgGCToClientUploadMatchClipResponse", - 8876: "k_EMsgGCToServerSteamLearnAccessTokensChanged", 8877: "k_EMsgSignOutMuertaMinigame", 8878: "k_EMsgGCToServerLobbyHeroRoleStats", 8879: "k_EMsgClientToGCRankRequest", @@ -1905,7 +1918,30 @@ var ( 8995: "k_EMsgGCToClientFightingGameChallenge", 8996: "k_EMsgGCToClientFightingGameStartMatch", 8997: "k_EMsgGCToClientFightingGameChallengeCanceled", - 8998: "k_EMsgGCToServerSteamLearnUseHTTP", + 8999: "k_EMsgClientToGCBingoShuffleCard", + 9000: "k_EMsgClientToGCBingoShuffleCardResponse", + 9001: "k_EMsgClientToGCBingoModifySquare", + 9002: "k_EMsgClientToGCBingoModifySquareResponse", + 9003: "k_EMsgClientToGCBingoDevAddTokens", + 9004: "k_EMsgClientToGCBingoDevAddTokensResponse", + 9005: "k_EMsgClientToGCBingoDevClearInventory", + 9006: "k_EMsgClientToGCBingoDevClearInventoryResponse", + 9007: "k_EMsgGCCompendiumRemoveAllSelections", + 9008: "k_EMsgGCCompendiumRemoveAllSelectionsResponse", + 9009: "k_EMsgClientToGCOverworldMinigameAction", + 9010: "k_EMsgClientToGCOverworldMinigameActionResponse", + 9011: "k_EMsgClientToGCSurvivorsTelemetry", + 9012: "k_EMsgClientToGCSurvivorsTelemetryResponse", + 9013: "k_EMsgClientToGCOverworldRequestTokensNeededByFriend", + 9014: "k_EMsgClientToGCOverworldRequestTokensNeededByFriendResponse", + 9015: "k_EMsgClientToGCCraftworksGetUserData", + 9016: "k_EMsgClientToGCCraftworksGetUserDataResponse", + 9017: "k_EMsgGCToClientCraftworksUserDataUpdated", + 9018: "k_EMsgClientToGCCraftworksCraftRecipe", + 9019: "k_EMsgClientToGCCraftworksCraftRecipeResponse", + 9020: "k_EMsgClientToGCCraftworksDevModifyComponents", + 9021: "k_EMsgClientToGCCraftworksDevModifyComponentsResponse", + 9022: "k_EMsgSignOutCraftworks", } EDOTAGCMsg_value = map[string]int32{ "k_EMsgGCDOTABase": 7000, @@ -1983,10 +2019,6 @@ var ( "k_EMsgGC_TournamentItemEventResponse": 7151, "k_EMsgTeamFanfare": 7156, "k_EMsgResponseTeamFanfare": 7157, - "k_EMsgGC_GameServerUploadSaveGame": 7158, - "k_EMsgGC_GameServerSaveGameResult": 7159, - "k_EMsgGC_GameServerGetLoadGame": 7160, - "k_EMsgGC_GameServerGetLoadGameResult": 7161, "k_EMsgGCEditTeamDetails": 7166, "k_EMsgGCEditTeamDetailsResponse": 7167, "k_EMsgGCReadyUpStatus": 7170, @@ -2727,7 +2759,6 @@ var ( "k_EMsgGCToClientCollectorsCacheAvailableDataResponse": 8872, "k_EMsgClientToGCUploadMatchClip": 8873, "k_EMsgGCToClientUploadMatchClipResponse": 8874, - "k_EMsgGCToServerSteamLearnAccessTokensChanged": 8876, "k_EMsgSignOutMuertaMinigame": 8877, "k_EMsgGCToServerLobbyHeroRoleStats": 8878, "k_EMsgClientToGCRankRequest": 8879, @@ -2846,7 +2877,30 @@ var ( "k_EMsgGCToClientFightingGameChallenge": 8995, "k_EMsgGCToClientFightingGameStartMatch": 8996, "k_EMsgGCToClientFightingGameChallengeCanceled": 8997, - "k_EMsgGCToServerSteamLearnUseHTTP": 8998, + "k_EMsgClientToGCBingoShuffleCard": 8999, + "k_EMsgClientToGCBingoShuffleCardResponse": 9000, + "k_EMsgClientToGCBingoModifySquare": 9001, + "k_EMsgClientToGCBingoModifySquareResponse": 9002, + "k_EMsgClientToGCBingoDevAddTokens": 9003, + "k_EMsgClientToGCBingoDevAddTokensResponse": 9004, + "k_EMsgClientToGCBingoDevClearInventory": 9005, + "k_EMsgClientToGCBingoDevClearInventoryResponse": 9006, + "k_EMsgGCCompendiumRemoveAllSelections": 9007, + "k_EMsgGCCompendiumRemoveAllSelectionsResponse": 9008, + "k_EMsgClientToGCOverworldMinigameAction": 9009, + "k_EMsgClientToGCOverworldMinigameActionResponse": 9010, + "k_EMsgClientToGCSurvivorsTelemetry": 9011, + "k_EMsgClientToGCSurvivorsTelemetryResponse": 9012, + "k_EMsgClientToGCOverworldRequestTokensNeededByFriend": 9013, + "k_EMsgClientToGCOverworldRequestTokensNeededByFriendResponse": 9014, + "k_EMsgClientToGCCraftworksGetUserData": 9015, + "k_EMsgClientToGCCraftworksGetUserDataResponse": 9016, + "k_EMsgGCToClientCraftworksUserDataUpdated": 9017, + "k_EMsgClientToGCCraftworksCraftRecipe": 9018, + "k_EMsgClientToGCCraftworksCraftRecipeResponse": 9019, + "k_EMsgClientToGCCraftworksDevModifyComponents": 9020, + "k_EMsgClientToGCCraftworksDevModifyComponentsResponse": 9021, + "k_EMsgSignOutCraftworks": 9022, } ) @@ -2892,7 +2946,7 @@ var File_dota_gcmessages_msgid_proto protoreflect.FileDescriptor var file_dota_gcmessages_msgid_proto_rawDesc = []byte{ 0x0a, 0x1b, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, - 0x6f, 0x74, 0x61, 0x2a, 0xc7, 0xbe, 0x02, 0x0a, 0x0a, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, + 0x6f, 0x74, 0x61, 0x2a, 0xcd, 0xc5, 0x02, 0x0a, 0x0a, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x12, 0x15, 0x0a, 0x10, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x61, 0x73, 0x65, 0x10, 0xd8, 0x36, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, @@ -3058,17 +3112,7 @@ var file_dota_gcmessages_msgid_proto_rawDesc = []byte{ 0x6e, 0x73, 0x65, 0x10, 0xef, 0x37, 0x12, 0x16, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x10, 0xf4, 0x37, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x10, 0xf5, 0x37, 0x12, 0x26, - 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x61, 0x76, 0x65, 0x47, - 0x61, 0x6d, 0x65, 0x10, 0xf6, 0x37, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x61, 0x76, - 0x65, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, 0xf7, 0x37, 0x12, 0x23, - 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x47, 0x61, 0x6d, 0x65, - 0x10, 0xf8, 0x37, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, - 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x61, - 0x64, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, 0xf9, 0x37, 0x12, 0x1c, + 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x10, 0xf5, 0x37, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x45, 0x64, 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0xfe, 0x37, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x45, 0x64, 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d, @@ -5083,367 +5127,433 @@ var file_dota_gcmessages_msgid_proto_rawDesc = []byte{ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x70, 0x10, 0xa9, 0x45, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x70, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xaa, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0xac, 0x45, 0x12, 0x20, - 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, - 0x75, 0x65, 0x72, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x10, 0xad, 0x45, - 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xae, 0x45, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x61, 0x6e, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xaf, 0x45, 0x12, 0x21, 0x0a, 0x1c, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, - 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb0, 0x45, 0x12, 0x1f, - 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xb1, 0x45, 0x12, - 0x1a, 0x0a, 0x15, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, - 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xb2, 0x45, 0x12, 0x24, 0x0a, 0x1f, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, - 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xb3, - 0x45, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb4, 0x45, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, - 0x63, 0x61, 0x73, 0x65, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, - 0xb6, 0x45, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x10, 0xb7, 0x45, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xaa, 0x45, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x75, 0x65, 0x72, 0x74, + 0x61, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x10, 0xad, 0x45, 0x12, 0x27, 0x0a, 0x22, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x10, 0xae, 0x45, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x10, 0xaf, 0x45, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb0, 0x45, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, + 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xb1, 0x45, 0x12, 0x1a, 0x0a, 0x15, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x10, 0xb2, 0x45, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x70, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xb3, 0x45, 0x12, 0x25, 0x0a, + 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0xb4, 0x45, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, - 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xb8, 0x45, 0x12, 0x30, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xb6, 0x45, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb9, 0x45, + 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb7, 0x45, + 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xb8, 0x45, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, + 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb9, 0x45, 0x12, 0x2b, 0x0a, 0x26, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x47, + 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xba, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, + 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xbb, 0x45, 0x12, 0x34, + 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, + 0x67, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0xbc, 0x45, 0x12, 0x3c, 0x0a, 0x37, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, + 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, + 0xbd, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, + 0x66, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x10, 0xbe, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, + 0x66, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x10, 0xbf, 0x45, 0x12, 0x3b, 0x0a, 0x36, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, + 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc0, 0x45, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, + 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x73, 0x10, 0xc1, 0x45, + 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc2, 0x45, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, - 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xba, 0x45, 0x12, 0x33, 0x0a, + 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x10, 0xc3, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, - 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xbb, 0x45, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, - 0x66, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xbc, 0x45, 0x12, 0x3c, 0x0a, 0x37, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, - 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x66, 0x6f, - 0x72, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x10, 0xbd, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, - 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xbe, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x10, 0xbf, 0x45, 0x12, - 0x3b, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, - 0x6e, 0x67, 0x44, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc0, 0x45, 0x12, 0x26, 0x0a, 0x21, + 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, + 0xc4, 0x45, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xc5, 0x45, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, + 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc6, 0x45, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, + 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x10, 0xc7, 0x45, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x10, 0xc1, 0x45, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc8, 0x45, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, + 0x6f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x10, 0xc9, + 0x45, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x72, + 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, + 0xca, 0x45, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcb, 0x45, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, + 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xcc, 0x45, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x69, + 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x10, 0xcd, 0x45, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, + 0x49, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x10, 0xce, 0x45, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x10, 0xc2, 0x45, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x10, 0xc3, - 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x10, 0xc4, 0x45, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xc5, 0x45, 0x12, 0x2d, 0x0a, - 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc6, 0x45, 0x12, 0x22, 0x0a, 0x1d, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, 0x77, 0x10, 0xc7, 0x45, - 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x6f, - 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc8, 0x45, 0x12, 0x27, 0x0a, 0x22, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, - 0x72, 0x64, 0x10, 0xc9, 0x45, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, - 0x76, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x10, 0xca, 0x45, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcb, 0x45, 0x12, 0x2e, - 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xcc, 0x45, 0x12, 0x29, - 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xcd, 0x45, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x61, - 0x64, 0x54, 0x6f, 0x54, 0x49, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xce, 0x45, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, - 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xcf, 0x45, 0x12, 0x2c, - 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd0, 0x45, 0x12, 0x29, 0x0a, 0x24, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x10, 0xd1, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, - 0x61, 0x73, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd2, 0x45, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, - 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x10, - 0xd3, 0x45, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xd4, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x10, 0xd5, 0x45, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xcf, 0x45, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, + 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd0, 0x45, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, + 0x63, 0x61, 0x73, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x10, 0xd1, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xd2, 0x45, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xd6, 0x45, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xd3, 0x45, 0x12, 0x3e, + 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd4, 0x45, 0x12, 0x32, + 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x10, + 0xd5, 0x45, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x10, 0xd7, 0x45, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd8, 0x45, 0x12, 0x29, - 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, - 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x10, 0xd9, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, - 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xda, 0x45, 0x12, 0x2b, 0x0a, 0x26, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x6f, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x10, 0xdb, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, - 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xdc, 0x45, 0x12, 0x27, - 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x10, 0xdd, 0x45, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, - 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xde, 0x45, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, - 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xdf, 0x45, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, - 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe0, 0x45, 0x12, 0x30, + 0x6d, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x6f, 0x6c, + 0x6c, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd6, 0x45, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, - 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xe1, 0x45, + 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0xd7, 0x45, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, - 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe2, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, + 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd8, 0x45, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, + 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x69, + 0x63, 0x74, 0x10, 0xd9, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, + 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xda, 0x45, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, + 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x10, 0xdb, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, + 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xdc, 0x45, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, + 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x10, 0xdd, 0x45, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0xde, 0x45, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x10, 0xdf, 0x45, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe0, 0x45, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x10, 0xe3, 0x45, 0x12, - 0x3b, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, - 0x6e, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe4, 0x45, 0x12, 0x32, 0x0a, 0x2d, + 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xe1, 0x45, 0x12, 0x38, 0x0a, 0x33, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xe2, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, + 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x10, 0xe3, 0x45, 0x12, 0x3b, 0x0a, 0x36, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe4, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x63, 0x46, 0x61, 0x6e, 0x74, + 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x10, 0xe5, 0x45, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x63, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x10, 0xe5, 0x45, - 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x63, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, - 0x69, 0x6e, 0x67, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe6, 0x45, 0x12, 0x31, 0x0a, 0x2c, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe6, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, + 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x72, 0x6f, 0x6c, + 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xe8, 0x45, 0x12, 0x39, 0x0a, 0x34, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x72, 0x6f, 0x6c, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xe9, 0x45, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, + 0x54, 0x49, 0x44, 0x65, 0x76, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x10, + 0xe7, 0x45, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xeb, 0x45, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, + 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0xec, 0x45, 0x12, 0x37, 0x0a, 0x32, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, + 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0xed, 0x45, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, + 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xee, 0x45, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xe8, 0x45, 0x12, - 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x72, 0x61, 0x66, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe9, 0x45, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x6f, - 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x44, 0x65, 0x76, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x10, 0xe7, 0x45, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x54, 0x49, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xeb, 0x45, 0x12, 0x2f, - 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0xec, 0x45, 0x12, - 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xed, 0x45, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, - 0x63, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xee, 0x45, - 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xef, 0x45, - 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf0, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf1, 0x45, 0x12, 0x2a, - 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x10, 0xf2, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, + 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xef, 0x45, 0x12, 0x29, 0x0a, 0x24, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x10, 0xf0, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf1, 0x45, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf3, 0x45, 0x12, 0x32, - 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x61, 0x74, 0x68, 0x10, 0xf2, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf3, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x45, 0x12, 0x3a, + 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, - 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, - 0xf4, 0x45, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x43, - 0x6c, 0x61, 0x69, 0x6d, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf5, 0x45, 0x12, 0x29, - 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x10, 0xf6, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, - 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf7, 0x45, 0x12, 0x2a, 0x0a, 0x25, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0xf8, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, + 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf5, 0x45, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x10, 0xf6, 0x45, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf7, 0x45, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf9, 0x45, 0x12, 0x2a, 0x0a, 0x25, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x10, 0xfa, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, + 0x65, 0x10, 0xf8, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf9, 0x45, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x74, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfb, 0x45, 0x12, 0x2c, 0x0a, 0x27, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0xfc, 0x45, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfd, 0x45, - 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, - 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xfe, - 0x45, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, - 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xff, 0x45, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, - 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x10, 0x80, 0x46, 0x12, 0x29, 0x0a, - 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, - 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x81, 0x46, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x10, 0x82, 0x46, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x83, - 0x46, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x6f, - 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x10, 0x84, 0x46, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, - 0x69, 0x66, 0x74, 0x10, 0x85, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, - 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x86, - 0x46, 0x12, 0x1b, 0x0a, 0x16, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, - 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x87, 0x46, 0x12, 0x24, - 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x65, - 0x73, 0x10, 0x89, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x68, 0x10, 0xfa, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x8a, 0x46, 0x12, - 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0x8b, 0x46, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, - 0x8c, 0x46, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0x8d, 0x46, 0x12, - 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x68, 0x6f, 0x6f, 0x73, - 0x65, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0x8e, 0x46, 0x12, 0x29, 0x0a, 0x24, + 0x64, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfb, 0x45, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x10, 0xfc, 0x45, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfd, 0x45, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x10, 0x8f, 0x46, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x64, 0x79, - 0x53, 0x68, 0x6f, 0x70, 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, - 0x10, 0x90, 0x46, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, 0x61, + 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xfe, 0x45, 0x12, 0x37, 0x0a, + 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, + 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xff, 0x45, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, + 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x10, 0x80, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, + 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0x81, 0x46, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x10, 0x82, 0x46, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x10, 0x83, 0x46, 0x12, 0x30, 0x0a, + 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x6f, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x84, 0x46, 0x12, + 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x10, + 0x85, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, + 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x86, 0x46, 0x12, 0x1b, 0x0a, + 0x16, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x10, 0x87, 0x46, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, + 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x10, 0x89, 0x46, + 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x8a, 0x46, 0x12, 0x31, 0x0a, 0x2c, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, + 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x8b, 0x46, 0x12, 0x2e, + 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, + 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x8c, 0x46, 0x12, 0x2b, + 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0x8d, 0x46, 0x12, 0x2b, 0x0a, 0x26, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x72, + 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0x8e, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x69, 0x63, 0x42, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x10, 0x8f, 0x46, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, - 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x91, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, - 0x92, 0x46, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, - 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x10, 0x93, 0x46, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, + 0x44, 0x65, 0x76, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x90, 0x46, 0x12, + 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x65, 0x76, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0x91, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, 0x92, 0x46, 0x12, 0x26, + 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, + 0x61, 0x63, 0x6b, 0x10, 0x93, 0x46, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0x94, 0x46, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x10, 0x95, 0x46, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x96, 0x46, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x94, 0x46, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x10, 0x97, 0x46, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0x98, 0x46, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x10, 0x99, 0x46, 0x12, 0x2d, 0x0a, + 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9a, 0x46, 0x12, 0x31, 0x0a, 0x2c, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x45, + 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0x9b, 0x46, 0x12, + 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x44, + 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x10, 0x9c, 0x46, 0x12, 0x35, + 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x65, 0x74, 0x44, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x10, 0x9d, 0x46, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, + 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x10, 0x9e, 0x46, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x69, 0x67, 0x68, 0x74, + 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9f, + 0x46, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, + 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0xa0, 0x46, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x69, 0x67, + 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0xa1, 0x46, 0x12, 0x38, 0x0a, 0x33, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, + 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x10, 0xa2, 0x46, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, + 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0xa3, + 0x46, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, + 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0xa4, 0x46, 0x12, 0x32, + 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x10, + 0xa5, 0x46, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x53, 0x68, 0x75, 0x66, 0x66, + 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x10, 0xa7, 0x46, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, + 0x67, 0x6f, 0x53, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa8, 0x46, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, + 0x6f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x10, 0xa9, 0x46, + 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x53, + 0x71, 0x75, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xaa, 0x46, + 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0xab, 0x46, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, + 0x6f, 0x44, 0x65, 0x76, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xac, 0x46, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, + 0x6f, 0x44, 0x65, 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x79, 0x10, 0xad, 0x46, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x69, 0x6e, 0x67, 0x6f, 0x44, 0x65, + 0x76, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xae, 0x46, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x10, 0xaf, 0x46, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb0, 0x46, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x95, 0x46, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, + 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xb1, 0x46, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x56, 0x69, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x96, 0x46, 0x12, 0x28, - 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x10, 0x97, 0x46, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb2, 0x46, 0x12, 0x27, + 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x6f, 0x72, 0x73, 0x54, 0x65, 0x6c, 0x65, 0x6d, + 0x65, 0x74, 0x72, 0x79, 0x10, 0xb3, 0x46, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x75, 0x72, 0x76, 0x69, + 0x76, 0x6f, 0x72, 0x73, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb4, 0x46, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, 0x69, 0x66, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x98, 0x46, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, - 0x74, 0x61, 0x4c, 0x61, 0x62, 0x73, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x10, 0x99, - 0x46, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x73, 0x46, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9a, 0x46, - 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x74, 0x46, - 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x10, 0x9b, 0x46, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x10, 0xb5, 0x46, 0x12, 0x41, 0x0a, 0x3c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x47, 0x65, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x10, - 0x9c, 0x46, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x47, - 0x65, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9d, 0x46, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x69, 0x67, - 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0x9e, 0x46, 0x12, 0x38, 0x0a, 0x33, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, - 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x10, 0x9f, 0x46, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, - 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0xa0, 0x46, 0x12, 0x30, 0x0a, - 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0xa1, 0x46, 0x12, - 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa2, 0x46, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x67, - 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x10, 0xa3, 0x46, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, - 0x67, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, - 0xa4, 0x46, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x61, - 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x65, 0x64, 0x10, 0xa5, 0x46, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, - 0x65, 0x61, 0x72, 0x6e, 0x55, 0x73, 0x65, 0x48, 0x54, 0x54, 0x50, 0x10, 0xa6, 0x46, 0x42, 0x25, - 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, - 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, - 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x4e, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x42, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xb6, 0x46, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, + 0xb7, 0x46, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xb8, 0x46, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x10, 0xb9, 0x46, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x10, + 0xba, 0x46, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x43, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xbb, 0x46, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x44, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x10, 0xbc, 0x46, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, + 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x44, 0x65, 0x76, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xbd, 0x46, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x10, 0xbe, 0x46, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, + 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/dota_gcmessages_msgid.proto b/dota/dota_gcmessages_msgid.proto index 5b76aa76..87319fa6 100644 --- a/dota/dota_gcmessages_msgid.proto +++ b/dota/dota_gcmessages_msgid.proto @@ -79,10 +79,6 @@ enum EDOTAGCMsg { k_EMsgGC_TournamentItemEventResponse = 7151; k_EMsgTeamFanfare = 7156; k_EMsgResponseTeamFanfare = 7157; - k_EMsgGC_GameServerUploadSaveGame = 7158; - k_EMsgGC_GameServerSaveGameResult = 7159; - k_EMsgGC_GameServerGetLoadGame = 7160; - k_EMsgGC_GameServerGetLoadGameResult = 7161; k_EMsgGCEditTeamDetails = 7166; k_EMsgGCEditTeamDetailsResponse = 7167; k_EMsgGCReadyUpStatus = 7170; @@ -823,7 +819,6 @@ enum EDOTAGCMsg { k_EMsgGCToClientCollectorsCacheAvailableDataResponse = 8872; k_EMsgClientToGCUploadMatchClip = 8873; k_EMsgGCToClientUploadMatchClipResponse = 8874; - k_EMsgGCToServerSteamLearnAccessTokensChanged = 8876; k_EMsgSignOutMuertaMinigame = 8877; k_EMsgGCToServerLobbyHeroRoleStats = 8878; k_EMsgClientToGCRankRequest = 8879; @@ -942,5 +937,28 @@ enum EDOTAGCMsg { k_EMsgGCToClientFightingGameChallenge = 8995; k_EMsgGCToClientFightingGameStartMatch = 8996; k_EMsgGCToClientFightingGameChallengeCanceled = 8997; - k_EMsgGCToServerSteamLearnUseHTTP = 8998; + k_EMsgClientToGCBingoShuffleCard = 8999; + k_EMsgClientToGCBingoShuffleCardResponse = 9000; + k_EMsgClientToGCBingoModifySquare = 9001; + k_EMsgClientToGCBingoModifySquareResponse = 9002; + k_EMsgClientToGCBingoDevAddTokens = 9003; + k_EMsgClientToGCBingoDevAddTokensResponse = 9004; + k_EMsgClientToGCBingoDevClearInventory = 9005; + k_EMsgClientToGCBingoDevClearInventoryResponse = 9006; + k_EMsgGCCompendiumRemoveAllSelections = 9007; + k_EMsgGCCompendiumRemoveAllSelectionsResponse = 9008; + k_EMsgClientToGCOverworldMinigameAction = 9009; + k_EMsgClientToGCOverworldMinigameActionResponse = 9010; + k_EMsgClientToGCSurvivorsTelemetry = 9011; + k_EMsgClientToGCSurvivorsTelemetryResponse = 9012; + k_EMsgClientToGCOverworldRequestTokensNeededByFriend = 9013; + k_EMsgClientToGCOverworldRequestTokensNeededByFriendResponse = 9014; + k_EMsgClientToGCCraftworksGetUserData = 9015; + k_EMsgClientToGCCraftworksGetUserDataResponse = 9016; + k_EMsgGCToClientCraftworksUserDataUpdated = 9017; + k_EMsgClientToGCCraftworksCraftRecipe = 9018; + k_EMsgClientToGCCraftworksCraftRecipeResponse = 9019; + k_EMsgClientToGCCraftworksDevModifyComponents = 9020; + k_EMsgClientToGCCraftworksDevModifyComponentsResponse = 9021; + k_EMsgSignOutCraftworks = 9022; } diff --git a/dota/dota_gcmessages_server.pb.go b/dota/dota_gcmessages_server.pb.go index fb18c737..b278d801 100644 --- a/dota/dota_gcmessages_server.pb.go +++ b/dota/dota_gcmessages_server.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_server.proto package dota @@ -416,69 +416,7 @@ func (x *CMsgDOTALiveScoreboardUpdate_Team_Player_DOTAUltimateState) UnmarshalJS // Deprecated: Use CMsgDOTALiveScoreboardUpdate_Team_Player_DOTAUltimateState.Descriptor instead. func (CMsgDOTALiveScoreboardUpdate_Team_Player_DOTAUltimateState) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{25, 0, 0, 0} -} - -type CMsgGameServerSaveGameResult_Result int32 - -const ( - CMsgGameServerSaveGameResult_SaveSuccessful CMsgGameServerSaveGameResult_Result = 0 - CMsgGameServerSaveGameResult_SessionNotFound CMsgGameServerSaveGameResult_Result = 1 - CMsgGameServerSaveGameResult_DatabaseError CMsgGameServerSaveGameResult_Result = 2 - CMsgGameServerSaveGameResult_TooBig CMsgGameServerSaveGameResult_Result = 3 -) - -// Enum value maps for CMsgGameServerSaveGameResult_Result. -var ( - CMsgGameServerSaveGameResult_Result_name = map[int32]string{ - 0: "SaveSuccessful", - 1: "SessionNotFound", - 2: "DatabaseError", - 3: "TooBig", - } - CMsgGameServerSaveGameResult_Result_value = map[string]int32{ - "SaveSuccessful": 0, - "SessionNotFound": 1, - "DatabaseError": 2, - "TooBig": 3, - } -) - -func (x CMsgGameServerSaveGameResult_Result) Enum() *CMsgGameServerSaveGameResult_Result { - p := new(CMsgGameServerSaveGameResult_Result) - *p = x - return p -} - -func (x CMsgGameServerSaveGameResult_Result) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CMsgGameServerSaveGameResult_Result) Descriptor() protoreflect.EnumDescriptor { - return file_dota_gcmessages_server_proto_enumTypes[6].Descriptor() -} - -func (CMsgGameServerSaveGameResult_Result) Type() protoreflect.EnumType { - return &file_dota_gcmessages_server_proto_enumTypes[6] -} - -func (x CMsgGameServerSaveGameResult_Result) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *CMsgGameServerSaveGameResult_Result) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = CMsgGameServerSaveGameResult_Result(num) - return nil -} - -// Deprecated: Use CMsgGameServerSaveGameResult_Result.Descriptor instead. -func (CMsgGameServerSaveGameResult_Result) EnumDescriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{38, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{24, 0, 0, 0} } type CMsgPoorNetworkConditions struct { @@ -2270,8 +2208,6 @@ type CMsgGameMatchSignoutResponse struct { MatchId *uint64 `protobuf:"varint,1,opt,name=match_id,json=matchId" json:"match_id,omitempty"` ReplaySalt *uint32 `protobuf:"fixed32,2,opt,name=replay_salt,json=replaySalt" json:"replay_salt,omitempty"` - TimedRewardDetails []*CLobbyTimedRewardDetails `protobuf:"bytes,3,rep,name=timed_reward_details,json=timedRewardDetails" json:"timed_reward_details,omitempty"` - XpRewardDetails []*CSODOTALobbyMember `protobuf:"bytes,4,rep,name=xp_reward_details,json=xpRewardDetails" json:"xp_reward_details,omitempty"` Leagueid *uint32 `protobuf:"varint,5,opt,name=leagueid" json:"leagueid,omitempty"` MetadataPrivateKey *uint32 `protobuf:"fixed32,7,opt,name=metadata_private_key,json=metadataPrivateKey" json:"metadata_private_key,omitempty"` MatchDetails *CMsgDOTAMatch `protobuf:"bytes,8,opt,name=match_details,json=matchDetails" json:"match_details,omitempty"` @@ -2329,20 +2265,6 @@ func (x *CMsgGameMatchSignoutResponse) GetReplaySalt() uint32 { return 0 } -func (x *CMsgGameMatchSignoutResponse) GetTimedRewardDetails() []*CLobbyTimedRewardDetails { - if x != nil { - return x.TimedRewardDetails - } - return nil -} - -func (x *CMsgGameMatchSignoutResponse) GetXpRewardDetails() []*CSODOTALobbyMember { - if x != nil { - return x.XpRewardDetails - } - return nil -} - func (x *CMsgGameMatchSignoutResponse) GetLeagueid() uint32 { if x != nil && x.Leagueid != nil { return *x.Leagueid @@ -2406,53 +2328,6 @@ func (x *CMsgGameMatchSignoutResponse) GetOverworldRewards() *CMsgOverworldMatch return nil } -type CMsgTimedRewardContainer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TimedRewardDetails []*CLobbyTimedRewardDetails `protobuf:"bytes,1,rep,name=timed_reward_details,json=timedRewardDetails" json:"timed_reward_details,omitempty"` -} - -func (x *CMsgTimedRewardContainer) Reset() { - *x = CMsgTimedRewardContainer{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgTimedRewardContainer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgTimedRewardContainer) ProtoMessage() {} - -func (x *CMsgTimedRewardContainer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgTimedRewardContainer.ProtoReflect.Descriptor instead. -func (*CMsgTimedRewardContainer) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{19} -} - -func (x *CMsgTimedRewardContainer) GetTimedRewardDetails() []*CLobbyTimedRewardDetails { - if x != nil { - return x.TimedRewardDetails - } - return nil -} - type CMsgGameMatchSignOutPermissionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2467,7 +2342,7 @@ type CMsgGameMatchSignOutPermissionRequest struct { func (x *CMsgGameMatchSignOutPermissionRequest) Reset() { *x = CMsgGameMatchSignOutPermissionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[20] + mi := &file_dota_gcmessages_server_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2480,7 +2355,7 @@ func (x *CMsgGameMatchSignOutPermissionRequest) String() string { func (*CMsgGameMatchSignOutPermissionRequest) ProtoMessage() {} func (x *CMsgGameMatchSignOutPermissionRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[20] + mi := &file_dota_gcmessages_server_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2493,7 +2368,7 @@ func (x *CMsgGameMatchSignOutPermissionRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGameMatchSignOutPermissionRequest.ProtoReflect.Descriptor instead. func (*CMsgGameMatchSignOutPermissionRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{20} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{19} } func (x *CMsgGameMatchSignOutPermissionRequest) GetServerVersion() uint32 { @@ -2537,7 +2412,7 @@ type CMsgGameMatchSignOutPermissionResponse struct { func (x *CMsgGameMatchSignOutPermissionResponse) Reset() { *x = CMsgGameMatchSignOutPermissionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[21] + mi := &file_dota_gcmessages_server_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2550,7 +2425,7 @@ func (x *CMsgGameMatchSignOutPermissionResponse) String() string { func (*CMsgGameMatchSignOutPermissionResponse) ProtoMessage() {} func (x *CMsgGameMatchSignOutPermissionResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[21] + mi := &file_dota_gcmessages_server_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2563,7 +2438,7 @@ func (x *CMsgGameMatchSignOutPermissionResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGameMatchSignOutPermissionResponse.ProtoReflect.Descriptor instead. func (*CMsgGameMatchSignOutPermissionResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{21} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{20} } func (x *CMsgGameMatchSignOutPermissionResponse) GetPermissionGranted() bool { @@ -2602,7 +2477,7 @@ type CMsgGameMatchSignOutEventGameData struct { func (x *CMsgGameMatchSignOutEventGameData) Reset() { *x = CMsgGameMatchSignOutEventGameData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[22] + mi := &file_dota_gcmessages_server_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2615,7 +2490,7 @@ func (x *CMsgGameMatchSignOutEventGameData) String() string { func (*CMsgGameMatchSignOutEventGameData) ProtoMessage() {} func (x *CMsgGameMatchSignOutEventGameData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[22] + mi := &file_dota_gcmessages_server_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2628,7 +2503,7 @@ func (x *CMsgGameMatchSignOutEventGameData) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGameMatchSignOutEventGameData.ProtoReflect.Descriptor instead. func (*CMsgGameMatchSignOutEventGameData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{22} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{21} } func (x *CMsgGameMatchSignOutEventGameData) GetEventId() EEvent { @@ -2698,7 +2573,7 @@ type CMsgGameMatchSignOutPerfData struct { func (x *CMsgGameMatchSignOutPerfData) Reset() { *x = CMsgGameMatchSignOutPerfData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[23] + mi := &file_dota_gcmessages_server_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2711,7 +2586,7 @@ func (x *CMsgGameMatchSignOutPerfData) String() string { func (*CMsgGameMatchSignOutPerfData) ProtoMessage() {} func (x *CMsgGameMatchSignOutPerfData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[23] + mi := &file_dota_gcmessages_server_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2724,7 +2599,7 @@ func (x *CMsgGameMatchSignOutPerfData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGameMatchSignOutPerfData.ProtoReflect.Descriptor instead. func (*CMsgGameMatchSignOutPerfData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{23} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{22} } func (x *CMsgGameMatchSignOutPerfData) GetAverageFrameTime() []float32 { @@ -2893,7 +2768,7 @@ type CMsgGameMatchSignOutBanData struct { func (x *CMsgGameMatchSignOutBanData) Reset() { *x = CMsgGameMatchSignOutBanData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[24] + mi := &file_dota_gcmessages_server_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2906,7 +2781,7 @@ func (x *CMsgGameMatchSignOutBanData) String() string { func (*CMsgGameMatchSignOutBanData) ProtoMessage() {} func (x *CMsgGameMatchSignOutBanData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[24] + mi := &file_dota_gcmessages_server_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2919,7 +2794,7 @@ func (x *CMsgGameMatchSignOutBanData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGameMatchSignOutBanData.ProtoReflect.Descriptor instead. func (*CMsgGameMatchSignOutBanData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{24} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{23} } func (x *CMsgGameMatchSignOutBanData) GetHeroBans() []int32 { @@ -2955,7 +2830,7 @@ type CMsgDOTALiveScoreboardUpdate struct { func (x *CMsgDOTALiveScoreboardUpdate) Reset() { *x = CMsgDOTALiveScoreboardUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[25] + mi := &file_dota_gcmessages_server_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2968,7 +2843,7 @@ func (x *CMsgDOTALiveScoreboardUpdate) String() string { func (*CMsgDOTALiveScoreboardUpdate) ProtoMessage() {} func (x *CMsgDOTALiveScoreboardUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[25] + mi := &file_dota_gcmessages_server_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2981,7 +2856,7 @@ func (x *CMsgDOTALiveScoreboardUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTALiveScoreboardUpdate.ProtoReflect.Descriptor instead. func (*CMsgDOTALiveScoreboardUpdate) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{25} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{24} } func (x *CMsgDOTALiveScoreboardUpdate) GetTournamentId() uint32 { @@ -3060,7 +2935,7 @@ type CMsgServerToGCRequestBatchPlayerResources struct { func (x *CMsgServerToGCRequestBatchPlayerResources) Reset() { *x = CMsgServerToGCRequestBatchPlayerResources{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[26] + mi := &file_dota_gcmessages_server_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3073,7 +2948,7 @@ func (x *CMsgServerToGCRequestBatchPlayerResources) String() string { func (*CMsgServerToGCRequestBatchPlayerResources) ProtoMessage() {} func (x *CMsgServerToGCRequestBatchPlayerResources) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[26] + mi := &file_dota_gcmessages_server_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3086,7 +2961,7 @@ func (x *CMsgServerToGCRequestBatchPlayerResources) ProtoReflect() protoreflect. // Deprecated: Use CMsgServerToGCRequestBatchPlayerResources.ProtoReflect.Descriptor instead. func (*CMsgServerToGCRequestBatchPlayerResources) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{26} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{25} } func (x *CMsgServerToGCRequestBatchPlayerResources) GetAccountIds() []uint32 { @@ -3121,7 +2996,7 @@ type CMsgServerToGCRequestBatchPlayerResourcesResponse struct { func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse) Reset() { *x = CMsgServerToGCRequestBatchPlayerResourcesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[27] + mi := &file_dota_gcmessages_server_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3134,7 +3009,7 @@ func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse) String() string { func (*CMsgServerToGCRequestBatchPlayerResourcesResponse) ProtoMessage() {} func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[27] + mi := &file_dota_gcmessages_server_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3147,7 +3022,7 @@ func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse) ProtoReflect() proto // Deprecated: Use CMsgServerToGCRequestBatchPlayerResourcesResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCRequestBatchPlayerResourcesResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{27} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{26} } func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse) GetResults() []*CMsgServerToGCRequestBatchPlayerResourcesResponse_Result { @@ -3169,7 +3044,7 @@ type CMsgDOTAPlayerFailedToConnect struct { func (x *CMsgDOTAPlayerFailedToConnect) Reset() { *x = CMsgDOTAPlayerFailedToConnect{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[28] + mi := &file_dota_gcmessages_server_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3182,7 +3057,7 @@ func (x *CMsgDOTAPlayerFailedToConnect) String() string { func (*CMsgDOTAPlayerFailedToConnect) ProtoMessage() {} func (x *CMsgDOTAPlayerFailedToConnect) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[28] + mi := &file_dota_gcmessages_server_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3195,7 +3070,7 @@ func (x *CMsgDOTAPlayerFailedToConnect) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgDOTAPlayerFailedToConnect.ProtoReflect.Descriptor instead. func (*CMsgDOTAPlayerFailedToConnect) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{28} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{27} } func (x *CMsgDOTAPlayerFailedToConnect) GetFailedLoaders() []uint64 { @@ -3229,7 +3104,7 @@ type CMsgGCToRelayConnect struct { func (x *CMsgGCToRelayConnect) Reset() { *x = CMsgGCToRelayConnect{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[29] + mi := &file_dota_gcmessages_server_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3242,7 +3117,7 @@ func (x *CMsgGCToRelayConnect) String() string { func (*CMsgGCToRelayConnect) ProtoMessage() {} func (x *CMsgGCToRelayConnect) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[29] + mi := &file_dota_gcmessages_server_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3255,7 +3130,7 @@ func (x *CMsgGCToRelayConnect) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToRelayConnect.ProtoReflect.Descriptor instead. func (*CMsgGCToRelayConnect) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{29} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{28} } func (x *CMsgGCToRelayConnect) GetSourceTvPublicAddr() uint32 { @@ -3318,7 +3193,7 @@ type CMsgGCGCToLANServerRelayConnect struct { func (x *CMsgGCGCToLANServerRelayConnect) Reset() { *x = CMsgGCGCToLANServerRelayConnect{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[30] + mi := &file_dota_gcmessages_server_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3331,7 +3206,7 @@ func (x *CMsgGCGCToLANServerRelayConnect) String() string { func (*CMsgGCGCToLANServerRelayConnect) ProtoMessage() {} func (x *CMsgGCGCToLANServerRelayConnect) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[30] + mi := &file_dota_gcmessages_server_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3344,7 +3219,7 @@ func (x *CMsgGCGCToLANServerRelayConnect) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGCToLANServerRelayConnect.ProtoReflect.Descriptor instead. func (*CMsgGCGCToLANServerRelayConnect) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{30} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{29} } func (x *CMsgGCGCToLANServerRelayConnect) GetRelaySteamid() uint64 { @@ -3365,7 +3240,7 @@ type CMsgGCBanStatusRequest struct { func (x *CMsgGCBanStatusRequest) Reset() { *x = CMsgGCBanStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[31] + mi := &file_dota_gcmessages_server_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3378,7 +3253,7 @@ func (x *CMsgGCBanStatusRequest) String() string { func (*CMsgGCBanStatusRequest) ProtoMessage() {} func (x *CMsgGCBanStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[31] + mi := &file_dota_gcmessages_server_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3391,7 +3266,7 @@ func (x *CMsgGCBanStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCBanStatusRequest.ProtoReflect.Descriptor instead. func (*CMsgGCBanStatusRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{31} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{30} } func (x *CMsgGCBanStatusRequest) GetAccountId() uint32 { @@ -3415,7 +3290,7 @@ type CMsgGCBanStatusResponse struct { func (x *CMsgGCBanStatusResponse) Reset() { *x = CMsgGCBanStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[32] + mi := &file_dota_gcmessages_server_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3428,7 +3303,7 @@ func (x *CMsgGCBanStatusResponse) String() string { func (*CMsgGCBanStatusResponse) ProtoMessage() {} func (x *CMsgGCBanStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[32] + mi := &file_dota_gcmessages_server_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3441,7 +3316,7 @@ func (x *CMsgGCBanStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCBanStatusResponse.ProtoReflect.Descriptor instead. func (*CMsgGCBanStatusResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{32} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{31} } func (x *CMsgGCBanStatusResponse) GetResult() uint32 { @@ -3494,7 +3369,7 @@ type CMsgTournamentItemEvent struct { func (x *CMsgTournamentItemEvent) Reset() { *x = CMsgTournamentItemEvent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[33] + mi := &file_dota_gcmessages_server_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3507,7 +3382,7 @@ func (x *CMsgTournamentItemEvent) String() string { func (*CMsgTournamentItemEvent) ProtoMessage() {} func (x *CMsgTournamentItemEvent) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[33] + mi := &file_dota_gcmessages_server_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3520,7 +3395,7 @@ func (x *CMsgTournamentItemEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgTournamentItemEvent.ProtoReflect.Descriptor instead. func (*CMsgTournamentItemEvent) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{33} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{32} } func (x *CMsgTournamentItemEvent) GetKillerAccountId() uint32 { @@ -3619,7 +3494,7 @@ type CMsgTournamentItemEventResponse struct { func (x *CMsgTournamentItemEventResponse) Reset() { *x = CMsgTournamentItemEventResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[34] + mi := &file_dota_gcmessages_server_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3632,7 +3507,7 @@ func (x *CMsgTournamentItemEventResponse) String() string { func (*CMsgTournamentItemEventResponse) ProtoMessage() {} func (x *CMsgTournamentItemEventResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[34] + mi := &file_dota_gcmessages_server_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3645,7 +3520,7 @@ func (x *CMsgTournamentItemEventResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgTournamentItemEventResponse.ProtoReflect.Descriptor instead. func (*CMsgTournamentItemEventResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{34} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{33} } func (x *CMsgTournamentItemEventResponse) GetEventType() DOTA_TournamentEvents { @@ -3673,7 +3548,7 @@ type CMsgTeamFanfare struct { func (x *CMsgTeamFanfare) Reset() { *x = CMsgTeamFanfare{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[35] + mi := &file_dota_gcmessages_server_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3686,7 +3561,7 @@ func (x *CMsgTeamFanfare) String() string { func (*CMsgTeamFanfare) ProtoMessage() {} func (x *CMsgTeamFanfare) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[35] + mi := &file_dota_gcmessages_server_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3699,7 +3574,7 @@ func (x *CMsgTeamFanfare) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgTeamFanfare.ProtoReflect.Descriptor instead. func (*CMsgTeamFanfare) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{35} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{34} } func (x *CMsgTeamFanfare) GetMatchId() uint64 { @@ -3721,7 +3596,7 @@ type CMsgResponseTeamFanfare struct { func (x *CMsgResponseTeamFanfare) Reset() { *x = CMsgResponseTeamFanfare{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[36] + mi := &file_dota_gcmessages_server_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3734,7 +3609,7 @@ func (x *CMsgResponseTeamFanfare) String() string { func (*CMsgResponseTeamFanfare) ProtoMessage() {} func (x *CMsgResponseTeamFanfare) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[36] + mi := &file_dota_gcmessages_server_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3747,7 +3622,7 @@ func (x *CMsgResponseTeamFanfare) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgResponseTeamFanfare.ProtoReflect.Descriptor instead. func (*CMsgResponseTeamFanfare) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{36} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{35} } func (x *CMsgResponseTeamFanfare) GetFanfareGoodguys() uint32 { @@ -3764,34 +3639,35 @@ func (x *CMsgResponseTeamFanfare) GetFanfareBadguys() uint32 { return 0 } -type CMsgGameServerUploadSaveGame struct { +type CMsgDOTAAwardEventPoints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GameTime *uint32 `protobuf:"varint,1,opt,name=game_time,json=gameTime" json:"game_time,omitempty"` - SaveGameData []byte `protobuf:"bytes,2,opt,name=save_game_data,json=saveGameData" json:"save_game_data,omitempty"` - LobbyId *uint64 `protobuf:"varint,3,opt,name=lobby_id,json=lobbyId" json:"lobby_id,omitempty"` - PlayerSteamIds []uint64 `protobuf:"varint,4,rep,name=player_steam_ids,json=playerSteamIds" json:"player_steam_ids,omitempty"` + AwardPoints []*CMsgDOTAAwardEventPoints_AwardPoints `protobuf:"bytes,1,rep,name=award_points,json=awardPoints" json:"award_points,omitempty"` + MatchId *uint64 `protobuf:"varint,2,opt,name=match_id,json=matchId" json:"match_id,omitempty"` + EventId *EEvent `protobuf:"varint,4,opt,name=event_id,json=eventId,enum=dota.EEvent" json:"event_id,omitempty"` + Timestamp *uint32 `protobuf:"varint,5,opt,name=timestamp" json:"timestamp,omitempty"` + AuditAction *uint32 `protobuf:"varint,6,opt,name=audit_action,json=auditAction" json:"audit_action,omitempty"` } -func (x *CMsgGameServerUploadSaveGame) Reset() { - *x = CMsgGameServerUploadSaveGame{} +func (x *CMsgDOTAAwardEventPoints) Reset() { + *x = CMsgDOTAAwardEventPoints{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[37] + mi := &file_dota_gcmessages_server_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgGameServerUploadSaveGame) String() string { +func (x *CMsgDOTAAwardEventPoints) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgGameServerUploadSaveGame) ProtoMessage() {} +func (*CMsgDOTAAwardEventPoints) ProtoMessage() {} -func (x *CMsgGameServerUploadSaveGame) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[37] +func (x *CMsgDOTAAwardEventPoints) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3802,64 +3678,72 @@ func (x *CMsgGameServerUploadSaveGame) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgGameServerUploadSaveGame.ProtoReflect.Descriptor instead. -func (*CMsgGameServerUploadSaveGame) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{37} +// Deprecated: Use CMsgDOTAAwardEventPoints.ProtoReflect.Descriptor instead. +func (*CMsgDOTAAwardEventPoints) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{36} } -func (x *CMsgGameServerUploadSaveGame) GetGameTime() uint32 { - if x != nil && x.GameTime != nil { - return *x.GameTime +func (x *CMsgDOTAAwardEventPoints) GetAwardPoints() []*CMsgDOTAAwardEventPoints_AwardPoints { + if x != nil { + return x.AwardPoints + } + return nil +} + +func (x *CMsgDOTAAwardEventPoints) GetMatchId() uint64 { + if x != nil && x.MatchId != nil { + return *x.MatchId } return 0 } -func (x *CMsgGameServerUploadSaveGame) GetSaveGameData() []byte { - if x != nil { - return x.SaveGameData +func (x *CMsgDOTAAwardEventPoints) GetEventId() EEvent { + if x != nil && x.EventId != nil { + return *x.EventId } - return nil + return EEvent_EVENT_ID_NONE } -func (x *CMsgGameServerUploadSaveGame) GetLobbyId() uint64 { - if x != nil && x.LobbyId != nil { - return *x.LobbyId +func (x *CMsgDOTAAwardEventPoints) GetTimestamp() uint32 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp } return 0 } -func (x *CMsgGameServerUploadSaveGame) GetPlayerSteamIds() []uint64 { - if x != nil { - return x.PlayerSteamIds +func (x *CMsgDOTAAwardEventPoints) GetAuditAction() uint32 { + if x != nil && x.AuditAction != nil { + return *x.AuditAction } - return nil + return 0 } -type CMsgGameServerSaveGameResult struct { +type CMsgGCToServerPingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Result *CMsgGameServerSaveGameResult_Result `protobuf:"varint,1,opt,name=result,enum=dota.CMsgGameServerSaveGameResult_Result" json:"result,omitempty"` + RequestId *uint64 `protobuf:"fixed64,1,opt,name=request_id,json=requestId" json:"request_id,omitempty"` + RequestTime *uint64 `protobuf:"varint,2,opt,name=request_time,json=requestTime" json:"request_time,omitempty"` } -func (x *CMsgGameServerSaveGameResult) Reset() { - *x = CMsgGameServerSaveGameResult{} +func (x *CMsgGCToServerPingRequest) Reset() { + *x = CMsgGCToServerPingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[38] + mi := &file_dota_gcmessages_server_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgGameServerSaveGameResult) String() string { +func (x *CMsgGCToServerPingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgGameServerSaveGameResult) ProtoMessage() {} +func (*CMsgGCToServerPingRequest) ProtoMessage() {} -func (x *CMsgGameServerSaveGameResult) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[38] +func (x *CMsgGCToServerPingRequest) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3870,237 +3754,16 @@ func (x *CMsgGameServerSaveGameResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgGameServerSaveGameResult.ProtoReflect.Descriptor instead. -func (*CMsgGameServerSaveGameResult) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{38} +// Deprecated: Use CMsgGCToServerPingRequest.ProtoReflect.Descriptor instead. +func (*CMsgGCToServerPingRequest) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{37} } -func (x *CMsgGameServerSaveGameResult) GetResult() CMsgGameServerSaveGameResult_Result { - if x != nil && x.Result != nil { - return *x.Result +func (x *CMsgGCToServerPingRequest) GetRequestId() uint64 { + if x != nil && x.RequestId != nil { + return *x.RequestId } - return CMsgGameServerSaveGameResult_SaveSuccessful -} - -type CMsgGameServerGetLoadGame struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SaveId *uint32 `protobuf:"varint,1,opt,name=save_id,json=saveId" json:"save_id,omitempty"` -} - -func (x *CMsgGameServerGetLoadGame) Reset() { - *x = CMsgGameServerGetLoadGame{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGameServerGetLoadGame) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGameServerGetLoadGame) ProtoMessage() {} - -func (x *CMsgGameServerGetLoadGame) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGameServerGetLoadGame.ProtoReflect.Descriptor instead. -func (*CMsgGameServerGetLoadGame) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{39} -} - -func (x *CMsgGameServerGetLoadGame) GetSaveId() uint32 { - if x != nil && x.SaveId != nil { - return *x.SaveId - } - return 0 -} - -type CMsgGameServerGetLoadGameResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SaveGameData []byte `protobuf:"bytes,1,opt,name=save_game_data,json=saveGameData" json:"save_game_data,omitempty"` -} - -func (x *CMsgGameServerGetLoadGameResult) Reset() { - *x = CMsgGameServerGetLoadGameResult{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGameServerGetLoadGameResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGameServerGetLoadGameResult) ProtoMessage() {} - -func (x *CMsgGameServerGetLoadGameResult) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGameServerGetLoadGameResult.ProtoReflect.Descriptor instead. -func (*CMsgGameServerGetLoadGameResult) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{40} -} - -func (x *CMsgGameServerGetLoadGameResult) GetSaveGameData() []byte { - if x != nil { - return x.SaveGameData - } - return nil -} - -type CMsgDOTAAwardEventPoints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AwardPoints []*CMsgDOTAAwardEventPoints_AwardPoints `protobuf:"bytes,1,rep,name=award_points,json=awardPoints" json:"award_points,omitempty"` - MatchId *uint64 `protobuf:"varint,2,opt,name=match_id,json=matchId" json:"match_id,omitempty"` - EventId *EEvent `protobuf:"varint,4,opt,name=event_id,json=eventId,enum=dota.EEvent" json:"event_id,omitempty"` - Timestamp *uint32 `protobuf:"varint,5,opt,name=timestamp" json:"timestamp,omitempty"` - AuditAction *uint32 `protobuf:"varint,6,opt,name=audit_action,json=auditAction" json:"audit_action,omitempty"` -} - -func (x *CMsgDOTAAwardEventPoints) Reset() { - *x = CMsgDOTAAwardEventPoints{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgDOTAAwardEventPoints) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgDOTAAwardEventPoints) ProtoMessage() {} - -func (x *CMsgDOTAAwardEventPoints) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgDOTAAwardEventPoints.ProtoReflect.Descriptor instead. -func (*CMsgDOTAAwardEventPoints) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{41} -} - -func (x *CMsgDOTAAwardEventPoints) GetAwardPoints() []*CMsgDOTAAwardEventPoints_AwardPoints { - if x != nil { - return x.AwardPoints - } - return nil -} - -func (x *CMsgDOTAAwardEventPoints) GetMatchId() uint64 { - if x != nil && x.MatchId != nil { - return *x.MatchId - } - return 0 -} - -func (x *CMsgDOTAAwardEventPoints) GetEventId() EEvent { - if x != nil && x.EventId != nil { - return *x.EventId - } - return EEvent_EVENT_ID_NONE -} - -func (x *CMsgDOTAAwardEventPoints) GetTimestamp() uint32 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -func (x *CMsgDOTAAwardEventPoints) GetAuditAction() uint32 { - if x != nil && x.AuditAction != nil { - return *x.AuditAction - } - return 0 -} - -type CMsgGCToServerPingRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RequestId *uint64 `protobuf:"fixed64,1,opt,name=request_id,json=requestId" json:"request_id,omitempty"` - RequestTime *uint64 `protobuf:"varint,2,opt,name=request_time,json=requestTime" json:"request_time,omitempty"` -} - -func (x *CMsgGCToServerPingRequest) Reset() { - *x = CMsgGCToServerPingRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCToServerPingRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCToServerPingRequest) ProtoMessage() {} - -func (x *CMsgGCToServerPingRequest) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGCToServerPingRequest.ProtoReflect.Descriptor instead. -func (*CMsgGCToServerPingRequest) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{42} -} - -func (x *CMsgGCToServerPingRequest) GetRequestId() uint64 { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return 0 + return 0 } func (x *CMsgGCToServerPingRequest) GetRequestTime() uint64 { @@ -4123,7 +3786,7 @@ type CMsgGCToServerPingResponse struct { func (x *CMsgGCToServerPingResponse) Reset() { *x = CMsgGCToServerPingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[43] + mi := &file_dota_gcmessages_server_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4136,7 +3799,7 @@ func (x *CMsgGCToServerPingResponse) String() string { func (*CMsgGCToServerPingResponse) ProtoMessage() {} func (x *CMsgGCToServerPingResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[43] + mi := &file_dota_gcmessages_server_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4149,7 +3812,7 @@ func (x *CMsgGCToServerPingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToServerPingResponse.ProtoReflect.Descriptor instead. func (*CMsgGCToServerPingResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{43} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{38} } func (x *CMsgGCToServerPingResponse) GetRequestId() uint64 { @@ -4188,7 +3851,7 @@ type CMsgServerToGCMatchConnectionStats struct { func (x *CMsgServerToGCMatchConnectionStats) Reset() { *x = CMsgServerToGCMatchConnectionStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[44] + mi := &file_dota_gcmessages_server_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4201,7 +3864,7 @@ func (x *CMsgServerToGCMatchConnectionStats) String() string { func (*CMsgServerToGCMatchConnectionStats) ProtoMessage() {} func (x *CMsgServerToGCMatchConnectionStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[44] + mi := &file_dota_gcmessages_server_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4214,7 +3877,7 @@ func (x *CMsgServerToGCMatchConnectionStats) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgServerToGCMatchConnectionStats.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchConnectionStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{44} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{39} } func (x *CMsgServerToGCMatchConnectionStats) GetMatchId() uint64 { @@ -4263,7 +3926,7 @@ type CMsgServerGCUpdateSpectatorCount struct { func (x *CMsgServerGCUpdateSpectatorCount) Reset() { *x = CMsgServerGCUpdateSpectatorCount{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[45] + mi := &file_dota_gcmessages_server_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4276,7 +3939,7 @@ func (x *CMsgServerGCUpdateSpectatorCount) String() string { func (*CMsgServerGCUpdateSpectatorCount) ProtoMessage() {} func (x *CMsgServerGCUpdateSpectatorCount) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[45] + mi := &file_dota_gcmessages_server_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4289,7 +3952,7 @@ func (x *CMsgServerGCUpdateSpectatorCount) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerGCUpdateSpectatorCount.ProtoReflect.Descriptor instead. func (*CMsgServerGCUpdateSpectatorCount) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{45} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{40} } func (x *CMsgServerGCUpdateSpectatorCount) GetSpectatorCount() uint32 { @@ -4312,7 +3975,7 @@ type CSerializedCombatLog struct { func (x *CSerializedCombatLog) Reset() { *x = CSerializedCombatLog{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[46] + mi := &file_dota_gcmessages_server_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4325,7 +3988,7 @@ func (x *CSerializedCombatLog) String() string { func (*CSerializedCombatLog) ProtoMessage() {} func (x *CSerializedCombatLog) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[46] + mi := &file_dota_gcmessages_server_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4338,7 +4001,7 @@ func (x *CSerializedCombatLog) ProtoReflect() protoreflect.Message { // Deprecated: Use CSerializedCombatLog.ProtoReflect.Descriptor instead. func (*CSerializedCombatLog) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{46} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{41} } func (x *CSerializedCombatLog) GetVersion() uint32 { @@ -4373,7 +4036,7 @@ type CMsgServerToGCVictoryPredictions struct { func (x *CMsgServerToGCVictoryPredictions) Reset() { *x = CMsgServerToGCVictoryPredictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[47] + mi := &file_dota_gcmessages_server_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4386,7 +4049,7 @@ func (x *CMsgServerToGCVictoryPredictions) String() string { func (*CMsgServerToGCVictoryPredictions) ProtoMessage() {} func (x *CMsgServerToGCVictoryPredictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[47] + mi := &file_dota_gcmessages_server_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4399,7 +4062,7 @@ func (x *CMsgServerToGCVictoryPredictions) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCVictoryPredictions.ProtoReflect.Descriptor instead. func (*CMsgServerToGCVictoryPredictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{47} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{42} } func (x *CMsgServerToGCVictoryPredictions) GetRecords() []*CMsgServerToGCVictoryPredictions_Record { @@ -4418,7 +4081,7 @@ type CMsgServerToGCRequestStatus struct { func (x *CMsgServerToGCRequestStatus) Reset() { *x = CMsgServerToGCRequestStatus{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[48] + mi := &file_dota_gcmessages_server_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4431,7 +4094,7 @@ func (x *CMsgServerToGCRequestStatus) String() string { func (*CMsgServerToGCRequestStatus) ProtoMessage() {} func (x *CMsgServerToGCRequestStatus) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[48] + mi := &file_dota_gcmessages_server_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4444,7 +4107,7 @@ func (x *CMsgServerToGCRequestStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCRequestStatus.ProtoReflect.Descriptor instead. func (*CMsgServerToGCRequestStatus) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{48} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{43} } type CMsgServerToGCRequestStatus_Response struct { @@ -4458,7 +4121,7 @@ type CMsgServerToGCRequestStatus_Response struct { func (x *CMsgServerToGCRequestStatus_Response) Reset() { *x = CMsgServerToGCRequestStatus_Response{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[49] + mi := &file_dota_gcmessages_server_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4471,7 +4134,7 @@ func (x *CMsgServerToGCRequestStatus_Response) String() string { func (*CMsgServerToGCRequestStatus_Response) ProtoMessage() {} func (x *CMsgServerToGCRequestStatus_Response) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[49] + mi := &file_dota_gcmessages_server_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4484,7 +4147,7 @@ func (x *CMsgServerToGCRequestStatus_Response) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgServerToGCRequestStatus_Response.ProtoReflect.Descriptor instead. func (*CMsgServerToGCRequestStatus_Response) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{49} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{44} } func (x *CMsgServerToGCRequestStatus_Response) GetResponse() uint32 { @@ -4506,7 +4169,7 @@ type CMsgGCToServerEvaluateToxicChat struct { func (x *CMsgGCToServerEvaluateToxicChat) Reset() { *x = CMsgGCToServerEvaluateToxicChat{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[50] + mi := &file_dota_gcmessages_server_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4519,7 +4182,7 @@ func (x *CMsgGCToServerEvaluateToxicChat) String() string { func (*CMsgGCToServerEvaluateToxicChat) ProtoMessage() {} func (x *CMsgGCToServerEvaluateToxicChat) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[50] + mi := &file_dota_gcmessages_server_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4532,7 +4195,7 @@ func (x *CMsgGCToServerEvaluateToxicChat) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToServerEvaluateToxicChat.ProtoReflect.Descriptor instead. func (*CMsgGCToServerEvaluateToxicChat) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{50} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{45} } func (x *CMsgGCToServerEvaluateToxicChat) GetTargetAccountId() uint32 { @@ -4564,7 +4227,7 @@ type CMsgServerToGCEvaluateToxicChat struct { func (x *CMsgServerToGCEvaluateToxicChat) Reset() { *x = CMsgServerToGCEvaluateToxicChat{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[51] + mi := &file_dota_gcmessages_server_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4577,7 +4240,7 @@ func (x *CMsgServerToGCEvaluateToxicChat) String() string { func (*CMsgServerToGCEvaluateToxicChat) ProtoMessage() {} func (x *CMsgServerToGCEvaluateToxicChat) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[51] + mi := &file_dota_gcmessages_server_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4590,7 +4253,7 @@ func (x *CMsgServerToGCEvaluateToxicChat) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCEvaluateToxicChat.ProtoReflect.Descriptor instead. func (*CMsgServerToGCEvaluateToxicChat) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{51} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{46} } func (x *CMsgServerToGCEvaluateToxicChat) GetTargetAccountId() uint32 { @@ -4643,7 +4306,7 @@ type CMsgServerToGCEvaluateToxicChatResponse struct { func (x *CMsgServerToGCEvaluateToxicChatResponse) Reset() { *x = CMsgServerToGCEvaluateToxicChatResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[52] + mi := &file_dota_gcmessages_server_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4656,7 +4319,7 @@ func (x *CMsgServerToGCEvaluateToxicChatResponse) String() string { func (*CMsgServerToGCEvaluateToxicChatResponse) ProtoMessage() {} func (x *CMsgServerToGCEvaluateToxicChatResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[52] + mi := &file_dota_gcmessages_server_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4669,7 +4332,7 @@ func (x *CMsgServerToGCEvaluateToxicChatResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgServerToGCEvaluateToxicChatResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCEvaluateToxicChatResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{52} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{47} } func (x *CMsgServerToGCEvaluateToxicChatResponse) GetTargetAccountId() uint32 { @@ -4725,7 +4388,7 @@ type CMsgSignOutAssassinMiniGameInfo struct { func (x *CMsgSignOutAssassinMiniGameInfo) Reset() { *x = CMsgSignOutAssassinMiniGameInfo{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[53] + mi := &file_dota_gcmessages_server_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4738,7 +4401,7 @@ func (x *CMsgSignOutAssassinMiniGameInfo) String() string { func (*CMsgSignOutAssassinMiniGameInfo) ProtoMessage() {} func (x *CMsgSignOutAssassinMiniGameInfo) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[53] + mi := &file_dota_gcmessages_server_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4751,7 +4414,7 @@ func (x *CMsgSignOutAssassinMiniGameInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutAssassinMiniGameInfo.ProtoReflect.Descriptor instead. func (*CMsgSignOutAssassinMiniGameInfo) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{53} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{48} } func (x *CMsgSignOutAssassinMiniGameInfo) GetWinningPlayers() []uint64 { @@ -4822,7 +4485,7 @@ type CMsgServerToGCKillSummaries struct { func (x *CMsgServerToGCKillSummaries) Reset() { *x = CMsgServerToGCKillSummaries{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[54] + mi := &file_dota_gcmessages_server_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4835,7 +4498,7 @@ func (x *CMsgServerToGCKillSummaries) String() string { func (*CMsgServerToGCKillSummaries) ProtoMessage() {} func (x *CMsgServerToGCKillSummaries) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[54] + mi := &file_dota_gcmessages_server_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4848,7 +4511,7 @@ func (x *CMsgServerToGCKillSummaries) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCKillSummaries.ProtoReflect.Descriptor instead. func (*CMsgServerToGCKillSummaries) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{54} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{49} } func (x *CMsgServerToGCKillSummaries) GetIngameeventId() uint32 { @@ -4877,7 +4540,7 @@ type CMsgServerToGCLockCharmTrading struct { func (x *CMsgServerToGCLockCharmTrading) Reset() { *x = CMsgServerToGCLockCharmTrading{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[55] + mi := &file_dota_gcmessages_server_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4890,7 +4553,7 @@ func (x *CMsgServerToGCLockCharmTrading) String() string { func (*CMsgServerToGCLockCharmTrading) ProtoMessage() {} func (x *CMsgServerToGCLockCharmTrading) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[55] + mi := &file_dota_gcmessages_server_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4903,7 +4566,7 @@ func (x *CMsgServerToGCLockCharmTrading) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCLockCharmTrading.ProtoReflect.Descriptor instead. func (*CMsgServerToGCLockCharmTrading) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{55} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{50} } func (x *CMsgServerToGCLockCharmTrading) GetAccountId() uint32 { @@ -4935,7 +4598,7 @@ type CMsgSignOutUpdatePlayerChallenge struct { func (x *CMsgSignOutUpdatePlayerChallenge) Reset() { *x = CMsgSignOutUpdatePlayerChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[56] + mi := &file_dota_gcmessages_server_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4948,7 +4611,7 @@ func (x *CMsgSignOutUpdatePlayerChallenge) String() string { func (*CMsgSignOutUpdatePlayerChallenge) ProtoMessage() {} func (x *CMsgSignOutUpdatePlayerChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[56] + mi := &file_dota_gcmessages_server_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4961,7 +4624,7 @@ func (x *CMsgSignOutUpdatePlayerChallenge) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutUpdatePlayerChallenge.ProtoReflect.Descriptor instead. func (*CMsgSignOutUpdatePlayerChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{56} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{51} } func (x *CMsgSignOutUpdatePlayerChallenge) GetAccountId() uint32 { @@ -5011,7 +4674,7 @@ type CMsgServerToGCRerollPlayerChallenge struct { func (x *CMsgServerToGCRerollPlayerChallenge) Reset() { *x = CMsgServerToGCRerollPlayerChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[57] + mi := &file_dota_gcmessages_server_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5024,7 +4687,7 @@ func (x *CMsgServerToGCRerollPlayerChallenge) String() string { func (*CMsgServerToGCRerollPlayerChallenge) ProtoMessage() {} func (x *CMsgServerToGCRerollPlayerChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[57] + mi := &file_dota_gcmessages_server_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5037,7 +4700,7 @@ func (x *CMsgServerToGCRerollPlayerChallenge) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgServerToGCRerollPlayerChallenge.ProtoReflect.Descriptor instead. func (*CMsgServerToGCRerollPlayerChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{57} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{52} } func (x *CMsgServerToGCRerollPlayerChallenge) GetAccountId() uint32 { @@ -5069,7 +4732,7 @@ type CMsgSpendWager struct { func (x *CMsgSpendWager) Reset() { *x = CMsgSpendWager{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[58] + mi := &file_dota_gcmessages_server_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5082,7 +4745,7 @@ func (x *CMsgSpendWager) String() string { func (*CMsgSpendWager) ProtoMessage() {} func (x *CMsgSpendWager) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[58] + mi := &file_dota_gcmessages_server_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5095,7 +4758,7 @@ func (x *CMsgSpendWager) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSpendWager.ProtoReflect.Descriptor instead. func (*CMsgSpendWager) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{58} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{53} } func (x *CMsgSpendWager) GetPlayers() []*CMsgSpendWager_Player { @@ -5147,7 +4810,7 @@ type CMsgSignOutXPCoins struct { func (x *CMsgSignOutXPCoins) Reset() { *x = CMsgSignOutXPCoins{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[59] + mi := &file_dota_gcmessages_server_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5160,7 +4823,7 @@ func (x *CMsgSignOutXPCoins) String() string { func (*CMsgSignOutXPCoins) ProtoMessage() {} func (x *CMsgSignOutXPCoins) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[59] + mi := &file_dota_gcmessages_server_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5173,7 +4836,7 @@ func (x *CMsgSignOutXPCoins) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutXPCoins.ProtoReflect.Descriptor instead. func (*CMsgSignOutXPCoins) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{59} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{54} } func (x *CMsgSignOutXPCoins) GetPlayers() []*CMsgSignOutXPCoins_Player { @@ -5218,7 +4881,7 @@ type CMsgSignOutBounties struct { func (x *CMsgSignOutBounties) Reset() { *x = CMsgSignOutBounties{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[60] + mi := &file_dota_gcmessages_server_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5231,7 +4894,7 @@ func (x *CMsgSignOutBounties) String() string { func (*CMsgSignOutBounties) ProtoMessage() {} func (x *CMsgSignOutBounties) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[60] + mi := &file_dota_gcmessages_server_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5244,7 +4907,7 @@ func (x *CMsgSignOutBounties) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutBounties.ProtoReflect.Descriptor instead. func (*CMsgSignOutBounties) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{60} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{55} } func (x *CMsgSignOutBounties) GetBounties() []*CMsgSignOutBounties_Bounty { @@ -5287,7 +4950,7 @@ type CMsgSignOutCommunityGoalProgress struct { func (x *CMsgSignOutCommunityGoalProgress) Reset() { *x = CMsgSignOutCommunityGoalProgress{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[61] + mi := &file_dota_gcmessages_server_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5300,7 +4963,7 @@ func (x *CMsgSignOutCommunityGoalProgress) String() string { func (*CMsgSignOutCommunityGoalProgress) ProtoMessage() {} func (x *CMsgSignOutCommunityGoalProgress) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[61] + mi := &file_dota_gcmessages_server_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5313,7 +4976,7 @@ func (x *CMsgSignOutCommunityGoalProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutCommunityGoalProgress.ProtoReflect.Descriptor instead. func (*CMsgSignOutCommunityGoalProgress) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{61} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{56} } func (x *CMsgSignOutCommunityGoalProgress) GetEventId() EEvent { @@ -5343,7 +5006,7 @@ type CMsgServerToGCCloseCompendiumInGamePredictionVoting struct { func (x *CMsgServerToGCCloseCompendiumInGamePredictionVoting) Reset() { *x = CMsgServerToGCCloseCompendiumInGamePredictionVoting{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[62] + mi := &file_dota_gcmessages_server_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5356,7 +5019,7 @@ func (x *CMsgServerToGCCloseCompendiumInGamePredictionVoting) String() string { func (*CMsgServerToGCCloseCompendiumInGamePredictionVoting) ProtoMessage() {} func (x *CMsgServerToGCCloseCompendiumInGamePredictionVoting) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[62] + mi := &file_dota_gcmessages_server_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5369,7 +5032,7 @@ func (x *CMsgServerToGCCloseCompendiumInGamePredictionVoting) ProtoReflect() pro // Deprecated: Use CMsgServerToGCCloseCompendiumInGamePredictionVoting.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCloseCompendiumInGamePredictionVoting) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{62} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{57} } func (x *CMsgServerToGCCloseCompendiumInGamePredictionVoting) GetMatchId() uint64 { @@ -5404,7 +5067,7 @@ type CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse struct { func (x *CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse) Reset() { *x = CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[63] + mi := &file_dota_gcmessages_server_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5417,7 +5080,7 @@ func (x *CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse) String() s func (*CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse) ProtoMessage() {} func (x *CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[63] + mi := &file_dota_gcmessages_server_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5430,7 +5093,7 @@ func (x *CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse) ProtoRefle // Deprecated: Use CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{63} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{58} } func (x *CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse) GetResult() bool { @@ -5454,7 +5117,7 @@ type CMsgServerToGCCompendiumInGamePredictionResults struct { func (x *CMsgServerToGCCompendiumInGamePredictionResults) Reset() { *x = CMsgServerToGCCompendiumInGamePredictionResults{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[64] + mi := &file_dota_gcmessages_server_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5467,7 +5130,7 @@ func (x *CMsgServerToGCCompendiumInGamePredictionResults) String() string { func (*CMsgServerToGCCompendiumInGamePredictionResults) ProtoMessage() {} func (x *CMsgServerToGCCompendiumInGamePredictionResults) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[64] + mi := &file_dota_gcmessages_server_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5480,7 +5143,7 @@ func (x *CMsgServerToGCCompendiumInGamePredictionResults) ProtoReflect() protore // Deprecated: Use CMsgServerToGCCompendiumInGamePredictionResults.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCompendiumInGamePredictionResults) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{64} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{59} } func (x *CMsgServerToGCCompendiumInGamePredictionResults) GetMatchId() uint64 { @@ -5524,7 +5187,7 @@ type CMsgServerToGCCompendiumChosenInGamePredictions struct { func (x *CMsgServerToGCCompendiumChosenInGamePredictions) Reset() { *x = CMsgServerToGCCompendiumChosenInGamePredictions{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[65] + mi := &file_dota_gcmessages_server_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5537,7 +5200,7 @@ func (x *CMsgServerToGCCompendiumChosenInGamePredictions) String() string { func (*CMsgServerToGCCompendiumChosenInGamePredictions) ProtoMessage() {} func (x *CMsgServerToGCCompendiumChosenInGamePredictions) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[65] + mi := &file_dota_gcmessages_server_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5550,7 +5213,7 @@ func (x *CMsgServerToGCCompendiumChosenInGamePredictions) ProtoReflect() protore // Deprecated: Use CMsgServerToGCCompendiumChosenInGamePredictions.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCompendiumChosenInGamePredictions) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{65} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{60} } func (x *CMsgServerToGCCompendiumChosenInGamePredictions) GetMatchId() uint64 { @@ -5585,7 +5248,7 @@ type CMsgGCToGCCompendiumInGamePredictionResults struct { func (x *CMsgGCToGCCompendiumInGamePredictionResults) Reset() { *x = CMsgGCToGCCompendiumInGamePredictionResults{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[66] + mi := &file_dota_gcmessages_server_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5598,7 +5261,7 @@ func (x *CMsgGCToGCCompendiumInGamePredictionResults) String() string { func (*CMsgGCToGCCompendiumInGamePredictionResults) ProtoMessage() {} func (x *CMsgGCToGCCompendiumInGamePredictionResults) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[66] + mi := &file_dota_gcmessages_server_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5611,7 +5274,7 @@ func (x *CMsgGCToGCCompendiumInGamePredictionResults) ProtoReflect() protoreflec // Deprecated: Use CMsgGCToGCCompendiumInGamePredictionResults.ProtoReflect.Descriptor instead. func (*CMsgGCToGCCompendiumInGamePredictionResults) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{66} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{61} } func (x *CMsgGCToGCCompendiumInGamePredictionResults) GetResults() *CMsgServerToGCCompendiumInGamePredictionResults { @@ -5634,7 +5297,7 @@ type CMsgServerToGCMatchPlayerItemPurchaseHistory struct { func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory) Reset() { *x = CMsgServerToGCMatchPlayerItemPurchaseHistory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[67] + mi := &file_dota_gcmessages_server_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5647,7 +5310,7 @@ func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory) String() string { func (*CMsgServerToGCMatchPlayerItemPurchaseHistory) ProtoMessage() {} func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[67] + mi := &file_dota_gcmessages_server_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5660,7 +5323,7 @@ func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory) ProtoReflect() protorefle // Deprecated: Use CMsgServerToGCMatchPlayerItemPurchaseHistory.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchPlayerItemPurchaseHistory) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{67} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{62} } func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory) GetMatchId() uint64 { @@ -5696,7 +5359,7 @@ type CMsgServerToGCMatchPlayerNeutralItemEquipHistory struct { func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory) Reset() { *x = CMsgServerToGCMatchPlayerNeutralItemEquipHistory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[68] + mi := &file_dota_gcmessages_server_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5709,7 +5372,7 @@ func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory) String() string { func (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory) ProtoMessage() {} func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[68] + mi := &file_dota_gcmessages_server_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5722,7 +5385,7 @@ func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory) ProtoReflect() protor // Deprecated: Use CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{68} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{63} } func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory) GetMatchId() uint64 { @@ -5753,7 +5416,7 @@ type CMsgServerToGCMatchStateHistory struct { func (x *CMsgServerToGCMatchStateHistory) Reset() { *x = CMsgServerToGCMatchStateHistory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[69] + mi := &file_dota_gcmessages_server_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5766,7 +5429,7 @@ func (x *CMsgServerToGCMatchStateHistory) String() string { func (*CMsgServerToGCMatchStateHistory) ProtoMessage() {} func (x *CMsgServerToGCMatchStateHistory) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[69] + mi := &file_dota_gcmessages_server_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5779,7 +5442,7 @@ func (x *CMsgServerToGCMatchStateHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCMatchStateHistory.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchStateHistory) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{69} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{64} } func (x *CMsgServerToGCMatchStateHistory) GetMatchId() uint64 { @@ -5823,7 +5486,7 @@ type CMsgMatchStateSteamMLEntry struct { func (x *CMsgMatchStateSteamMLEntry) Reset() { *x = CMsgMatchStateSteamMLEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[70] + mi := &file_dota_gcmessages_server_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5836,7 +5499,7 @@ func (x *CMsgMatchStateSteamMLEntry) String() string { func (*CMsgMatchStateSteamMLEntry) ProtoMessage() {} func (x *CMsgMatchStateSteamMLEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[70] + mi := &file_dota_gcmessages_server_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5849,7 +5512,7 @@ func (x *CMsgMatchStateSteamMLEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgMatchStateSteamMLEntry.ProtoReflect.Descriptor instead. func (*CMsgMatchStateSteamMLEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{70} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{65} } func (x *CMsgMatchStateSteamMLEntry) GetMatchState() *CMsgServerToGCMatchStateHistory_MatchState { @@ -5885,7 +5548,7 @@ type CMsgLaneSelectionSteamMLEntry struct { func (x *CMsgLaneSelectionSteamMLEntry) Reset() { *x = CMsgLaneSelectionSteamMLEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[71] + mi := &file_dota_gcmessages_server_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5898,7 +5561,7 @@ func (x *CMsgLaneSelectionSteamMLEntry) String() string { func (*CMsgLaneSelectionSteamMLEntry) ProtoMessage() {} func (x *CMsgLaneSelectionSteamMLEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[71] + mi := &file_dota_gcmessages_server_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5911,7 +5574,7 @@ func (x *CMsgLaneSelectionSteamMLEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgLaneSelectionSteamMLEntry.ProtoReflect.Descriptor instead. func (*CMsgLaneSelectionSteamMLEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{71} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{66} } func (x *CMsgLaneSelectionSteamMLEntry) GetHeroIds() []int32 { @@ -5944,7 +5607,7 @@ type CMsgAbilitySelectionSteamMLEntry struct { func (x *CMsgAbilitySelectionSteamMLEntry) Reset() { *x = CMsgAbilitySelectionSteamMLEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[72] + mi := &file_dota_gcmessages_server_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5957,7 +5620,7 @@ func (x *CMsgAbilitySelectionSteamMLEntry) String() string { func (*CMsgAbilitySelectionSteamMLEntry) ProtoMessage() {} func (x *CMsgAbilitySelectionSteamMLEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[72] + mi := &file_dota_gcmessages_server_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5970,7 +5633,7 @@ func (x *CMsgAbilitySelectionSteamMLEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAbilitySelectionSteamMLEntry.ProtoReflect.Descriptor instead. func (*CMsgAbilitySelectionSteamMLEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{72} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{67} } func (x *CMsgAbilitySelectionSteamMLEntry) GetMmr() uint32 { @@ -6032,7 +5695,7 @@ type CMsgItemPurchasePregameSteamMLEntry struct { func (x *CMsgItemPurchasePregameSteamMLEntry) Reset() { *x = CMsgItemPurchasePregameSteamMLEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[73] + mi := &file_dota_gcmessages_server_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6045,7 +5708,7 @@ func (x *CMsgItemPurchasePregameSteamMLEntry) String() string { func (*CMsgItemPurchasePregameSteamMLEntry) ProtoMessage() {} func (x *CMsgItemPurchasePregameSteamMLEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[73] + mi := &file_dota_gcmessages_server_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6058,7 +5721,7 @@ func (x *CMsgItemPurchasePregameSteamMLEntry) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgItemPurchasePregameSteamMLEntry.ProtoReflect.Descriptor instead. func (*CMsgItemPurchasePregameSteamMLEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{73} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{68} } func (x *CMsgItemPurchasePregameSteamMLEntry) GetMmr() uint32 { @@ -6127,7 +5790,7 @@ type CMsgItemPurchaseSteamMLEntry struct { func (x *CMsgItemPurchaseSteamMLEntry) Reset() { *x = CMsgItemPurchaseSteamMLEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[74] + mi := &file_dota_gcmessages_server_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6140,7 +5803,7 @@ func (x *CMsgItemPurchaseSteamMLEntry) String() string { func (*CMsgItemPurchaseSteamMLEntry) ProtoMessage() {} func (x *CMsgItemPurchaseSteamMLEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[74] + mi := &file_dota_gcmessages_server_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6153,7 +5816,7 @@ func (x *CMsgItemPurchaseSteamMLEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgItemPurchaseSteamMLEntry.ProtoReflect.Descriptor instead. func (*CMsgItemPurchaseSteamMLEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{74} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{69} } func (x *CMsgItemPurchaseSteamMLEntry) GetMmr() uint32 { @@ -6222,7 +5885,7 @@ type CMsgItemPurchaseSequenceSteamMLEntry struct { func (x *CMsgItemPurchaseSequenceSteamMLEntry) Reset() { *x = CMsgItemPurchaseSequenceSteamMLEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[75] + mi := &file_dota_gcmessages_server_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6235,7 +5898,7 @@ func (x *CMsgItemPurchaseSequenceSteamMLEntry) String() string { func (*CMsgItemPurchaseSequenceSteamMLEntry) ProtoMessage() {} func (x *CMsgItemPurchaseSequenceSteamMLEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[75] + mi := &file_dota_gcmessages_server_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6248,7 +5911,7 @@ func (x *CMsgItemPurchaseSequenceSteamMLEntry) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgItemPurchaseSequenceSteamMLEntry.ProtoReflect.Descriptor instead. func (*CMsgItemPurchaseSequenceSteamMLEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{75} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{70} } func (x *CMsgItemPurchaseSequenceSteamMLEntry) GetMmr() uint32 { @@ -6315,7 +5978,7 @@ type CMsgServerToGCCavernCrawlIsHeroActive struct { func (x *CMsgServerToGCCavernCrawlIsHeroActive) Reset() { *x = CMsgServerToGCCavernCrawlIsHeroActive{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[76] + mi := &file_dota_gcmessages_server_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6328,7 +5991,7 @@ func (x *CMsgServerToGCCavernCrawlIsHeroActive) String() string { func (*CMsgServerToGCCavernCrawlIsHeroActive) ProtoMessage() {} func (x *CMsgServerToGCCavernCrawlIsHeroActive) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[76] + mi := &file_dota_gcmessages_server_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6341,7 +6004,7 @@ func (x *CMsgServerToGCCavernCrawlIsHeroActive) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgServerToGCCavernCrawlIsHeroActive.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCavernCrawlIsHeroActive) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{76} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{71} } func (x *CMsgServerToGCCavernCrawlIsHeroActive) GetEventId() uint32 { @@ -6392,7 +6055,7 @@ type CMsgServerToGCPlayerChallengeHistory struct { func (x *CMsgServerToGCPlayerChallengeHistory) Reset() { *x = CMsgServerToGCPlayerChallengeHistory{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[77] + mi := &file_dota_gcmessages_server_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6405,7 +6068,7 @@ func (x *CMsgServerToGCPlayerChallengeHistory) String() string { func (*CMsgServerToGCPlayerChallengeHistory) ProtoMessage() {} func (x *CMsgServerToGCPlayerChallengeHistory) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[77] + mi := &file_dota_gcmessages_server_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6418,7 +6081,7 @@ func (x *CMsgServerToGCPlayerChallengeHistory) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgServerToGCPlayerChallengeHistory.ProtoReflect.Descriptor instead. func (*CMsgServerToGCPlayerChallengeHistory) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{77} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{72} } func (x *CMsgServerToGCPlayerChallengeHistory) GetMatchId() uint64 { @@ -6457,7 +6120,7 @@ type CMsgServerToGCCavernCrawlIsHeroActiveResponse struct { func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse) Reset() { *x = CMsgServerToGCCavernCrawlIsHeroActiveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[78] + mi := &file_dota_gcmessages_server_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6470,7 +6133,7 @@ func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse) String() string { func (*CMsgServerToGCCavernCrawlIsHeroActiveResponse) ProtoMessage() {} func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[78] + mi := &file_dota_gcmessages_server_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6483,7 +6146,7 @@ func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse) ProtoReflect() protorefl // Deprecated: Use CMsgServerToGCCavernCrawlIsHeroActiveResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCavernCrawlIsHeroActiveResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{78} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{73} } func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse) GetResult() bool { @@ -6532,7 +6195,7 @@ type CMsgNeutralItemStats struct { func (x *CMsgNeutralItemStats) Reset() { *x = CMsgNeutralItemStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[79] + mi := &file_dota_gcmessages_server_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6545,7 +6208,7 @@ func (x *CMsgNeutralItemStats) String() string { func (*CMsgNeutralItemStats) ProtoMessage() {} func (x *CMsgNeutralItemStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[79] + mi := &file_dota_gcmessages_server_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6558,7 +6221,7 @@ func (x *CMsgNeutralItemStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgNeutralItemStats.ProtoReflect.Descriptor instead. func (*CMsgNeutralItemStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{79} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{74} } func (x *CMsgNeutralItemStats) GetNeutralItems() []*CMsgNeutralItemStats_NeutralItem { @@ -6579,7 +6242,7 @@ type CMsgGCToServerLobbyHeroBanRates struct { func (x *CMsgGCToServerLobbyHeroBanRates) Reset() { *x = CMsgGCToServerLobbyHeroBanRates{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[80] + mi := &file_dota_gcmessages_server_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6592,7 +6255,7 @@ func (x *CMsgGCToServerLobbyHeroBanRates) String() string { func (*CMsgGCToServerLobbyHeroBanRates) ProtoMessage() {} func (x *CMsgGCToServerLobbyHeroBanRates) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[80] + mi := &file_dota_gcmessages_server_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6605,7 +6268,7 @@ func (x *CMsgGCToServerLobbyHeroBanRates) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToServerLobbyHeroBanRates.ProtoReflect.Descriptor instead. func (*CMsgGCToServerLobbyHeroBanRates) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{80} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{75} } func (x *CMsgGCToServerLobbyHeroBanRates) GetBanData() []*CMsgGCToServerLobbyHeroBanRates_HeroBanEntry { @@ -6626,7 +6289,7 @@ type CMsgSignOutGuildContractProgress struct { func (x *CMsgSignOutGuildContractProgress) Reset() { *x = CMsgSignOutGuildContractProgress{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[81] + mi := &file_dota_gcmessages_server_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6639,7 +6302,7 @@ func (x *CMsgSignOutGuildContractProgress) String() string { func (*CMsgSignOutGuildContractProgress) ProtoMessage() {} func (x *CMsgSignOutGuildContractProgress) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[81] + mi := &file_dota_gcmessages_server_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6652,7 +6315,7 @@ func (x *CMsgSignOutGuildContractProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutGuildContractProgress.ProtoReflect.Descriptor instead. func (*CMsgSignOutGuildContractProgress) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{81} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{76} } func (x *CMsgSignOutGuildContractProgress) GetPlayerContracts() []*CMsgSignOutGuildContractProgress_PlayerContract { @@ -6673,7 +6336,7 @@ type CMsgSignOutGuildChallengeProgress struct { func (x *CMsgSignOutGuildChallengeProgress) Reset() { *x = CMsgSignOutGuildChallengeProgress{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[82] + mi := &file_dota_gcmessages_server_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6686,7 +6349,7 @@ func (x *CMsgSignOutGuildChallengeProgress) String() string { func (*CMsgSignOutGuildChallengeProgress) ProtoMessage() {} func (x *CMsgSignOutGuildChallengeProgress) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[82] + mi := &file_dota_gcmessages_server_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6699,7 +6362,7 @@ func (x *CMsgSignOutGuildChallengeProgress) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgSignOutGuildChallengeProgress.ProtoReflect.Descriptor instead. func (*CMsgSignOutGuildChallengeProgress) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{82} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{77} } func (x *CMsgSignOutGuildChallengeProgress) GetGuildChallengesProgresses() []*CMsgSignOutGuildChallengeProgress_ChallengeProgress { @@ -6724,7 +6387,7 @@ type CMsgSignOutMVPStats struct { func (x *CMsgSignOutMVPStats) Reset() { *x = CMsgSignOutMVPStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[83] + mi := &file_dota_gcmessages_server_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6737,7 +6400,7 @@ func (x *CMsgSignOutMVPStats) String() string { func (*CMsgSignOutMVPStats) ProtoMessage() {} func (x *CMsgSignOutMVPStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[83] + mi := &file_dota_gcmessages_server_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6750,7 +6413,7 @@ func (x *CMsgSignOutMVPStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutMVPStats.ProtoReflect.Descriptor instead. func (*CMsgSignOutMVPStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{83} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{78} } func (x *CMsgSignOutMVPStats) GetMatchId() uint64 { @@ -6799,7 +6462,7 @@ type CMsgGCToServerRecordTrainingData struct { func (x *CMsgGCToServerRecordTrainingData) Reset() { *x = CMsgGCToServerRecordTrainingData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[84] + mi := &file_dota_gcmessages_server_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6812,7 +6475,7 @@ func (x *CMsgGCToServerRecordTrainingData) String() string { func (*CMsgGCToServerRecordTrainingData) ProtoMessage() {} func (x *CMsgGCToServerRecordTrainingData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[84] + mi := &file_dota_gcmessages_server_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6825,7 +6488,7 @@ func (x *CMsgGCToServerRecordTrainingData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToServerRecordTrainingData.ProtoReflect.Descriptor instead. func (*CMsgGCToServerRecordTrainingData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{84} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{79} } func (x *CMsgGCToServerRecordTrainingData) GetEnable() bool { @@ -6846,7 +6509,7 @@ type CMsgServerToGCGetGuildContracts struct { func (x *CMsgServerToGCGetGuildContracts) Reset() { *x = CMsgServerToGCGetGuildContracts{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[85] + mi := &file_dota_gcmessages_server_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6859,7 +6522,7 @@ func (x *CMsgServerToGCGetGuildContracts) String() string { func (*CMsgServerToGCGetGuildContracts) ProtoMessage() {} func (x *CMsgServerToGCGetGuildContracts) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[85] + mi := &file_dota_gcmessages_server_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6872,7 +6535,7 @@ func (x *CMsgServerToGCGetGuildContracts) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCGetGuildContracts.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetGuildContracts) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{85} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{80} } func (x *CMsgServerToGCGetGuildContracts) GetAccountIds() []uint32 { @@ -6893,7 +6556,7 @@ type CMsgServerToGCGetGuildContractsResponse struct { func (x *CMsgServerToGCGetGuildContractsResponse) Reset() { *x = CMsgServerToGCGetGuildContractsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[86] + mi := &file_dota_gcmessages_server_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6906,7 +6569,7 @@ func (x *CMsgServerToGCGetGuildContractsResponse) String() string { func (*CMsgServerToGCGetGuildContractsResponse) ProtoMessage() {} func (x *CMsgServerToGCGetGuildContractsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[86] + mi := &file_dota_gcmessages_server_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6919,7 +6582,7 @@ func (x *CMsgServerToGCGetGuildContractsResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgServerToGCGetGuildContractsResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetGuildContractsResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{86} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{81} } func (x *CMsgServerToGCGetGuildContractsResponse) GetPlayerContracts() []*CMsgServerToGCGetGuildContractsResponse_Player { @@ -6941,7 +6604,7 @@ type CMsgMatchDiretideCandy struct { func (x *CMsgMatchDiretideCandy) Reset() { *x = CMsgMatchDiretideCandy{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[87] + mi := &file_dota_gcmessages_server_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6954,7 +6617,7 @@ func (x *CMsgMatchDiretideCandy) String() string { func (*CMsgMatchDiretideCandy) ProtoMessage() {} func (x *CMsgMatchDiretideCandy) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[87] + mi := &file_dota_gcmessages_server_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6967,7 +6630,7 @@ func (x *CMsgMatchDiretideCandy) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgMatchDiretideCandy.ProtoReflect.Descriptor instead. func (*CMsgMatchDiretideCandy) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{87} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{82} } func (x *CMsgMatchDiretideCandy) GetPlayerCandyData() []*CMsgMatchDiretideCandy_PlayerCandy { @@ -6995,7 +6658,7 @@ type CMsgGCToServerCheerData struct { func (x *CMsgGCToServerCheerData) Reset() { *x = CMsgGCToServerCheerData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[88] + mi := &file_dota_gcmessages_server_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7008,7 +6671,7 @@ func (x *CMsgGCToServerCheerData) String() string { func (*CMsgGCToServerCheerData) ProtoMessage() {} func (x *CMsgGCToServerCheerData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[88] + mi := &file_dota_gcmessages_server_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7021,7 +6684,7 @@ func (x *CMsgGCToServerCheerData) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToServerCheerData.ProtoReflect.Descriptor instead. func (*CMsgGCToServerCheerData) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{88} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{83} } func (x *CMsgGCToServerCheerData) GetCheerTypes() []*CMsgGCToServerCheerData_CheerTypeCount { @@ -7059,7 +6722,7 @@ type CMsgCheerConfig struct { func (x *CMsgCheerConfig) Reset() { *x = CMsgCheerConfig{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[89] + mi := &file_dota_gcmessages_server_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7072,7 +6735,7 @@ func (x *CMsgCheerConfig) String() string { func (*CMsgCheerConfig) ProtoMessage() {} func (x *CMsgCheerConfig) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[89] + mi := &file_dota_gcmessages_server_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7085,7 +6748,7 @@ func (x *CMsgCheerConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgCheerConfig.ProtoReflect.Descriptor instead. func (*CMsgCheerConfig) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{89} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{84} } func (x *CMsgCheerConfig) GetCheersEnabled() bool { @@ -7225,7 +6888,7 @@ type CMsgGCToServerCheerConfig struct { func (x *CMsgGCToServerCheerConfig) Reset() { *x = CMsgGCToServerCheerConfig{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[90] + mi := &file_dota_gcmessages_server_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7238,7 +6901,7 @@ func (x *CMsgGCToServerCheerConfig) String() string { func (*CMsgGCToServerCheerConfig) ProtoMessage() {} func (x *CMsgGCToServerCheerConfig) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[90] + mi := &file_dota_gcmessages_server_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7251,7 +6914,7 @@ func (x *CMsgGCToServerCheerConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToServerCheerConfig.ProtoReflect.Descriptor instead. func (*CMsgGCToServerCheerConfig) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{90} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{85} } func (x *CMsgGCToServerCheerConfig) GetCheerConfig() *CMsgCheerConfig { @@ -7272,7 +6935,7 @@ type CMsgServerToGCGetCheerConfig struct { func (x *CMsgServerToGCGetCheerConfig) Reset() { *x = CMsgServerToGCGetCheerConfig{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[91] + mi := &file_dota_gcmessages_server_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7285,7 +6948,7 @@ func (x *CMsgServerToGCGetCheerConfig) String() string { func (*CMsgServerToGCGetCheerConfig) ProtoMessage() {} func (x *CMsgServerToGCGetCheerConfig) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[91] + mi := &file_dota_gcmessages_server_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7298,7 +6961,7 @@ func (x *CMsgServerToGCGetCheerConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCGetCheerConfig.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetCheerConfig) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{91} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{86} } func (x *CMsgServerToGCGetCheerConfig) GetLeagueId() uint32 { @@ -7319,7 +6982,7 @@ type CMsgServerToGCGetCheerConfigResponse struct { func (x *CMsgServerToGCGetCheerConfigResponse) Reset() { *x = CMsgServerToGCGetCheerConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[92] + mi := &file_dota_gcmessages_server_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7332,7 +6995,7 @@ func (x *CMsgServerToGCGetCheerConfigResponse) String() string { func (*CMsgServerToGCGetCheerConfigResponse) ProtoMessage() {} func (x *CMsgServerToGCGetCheerConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[92] + mi := &file_dota_gcmessages_server_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7345,7 +7008,7 @@ func (x *CMsgServerToGCGetCheerConfigResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgServerToGCGetCheerConfigResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetCheerConfigResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{92} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{87} } func (x *CMsgServerToGCGetCheerConfigResponse) GetCheerConfig() *CMsgCheerConfig { @@ -7366,7 +7029,7 @@ type CMsgGCToServerCheerScalesOverride struct { func (x *CMsgGCToServerCheerScalesOverride) Reset() { *x = CMsgGCToServerCheerScalesOverride{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[93] + mi := &file_dota_gcmessages_server_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7379,7 +7042,7 @@ func (x *CMsgGCToServerCheerScalesOverride) String() string { func (*CMsgGCToServerCheerScalesOverride) ProtoMessage() {} func (x *CMsgGCToServerCheerScalesOverride) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[93] + mi := &file_dota_gcmessages_server_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7392,7 +7055,7 @@ func (x *CMsgGCToServerCheerScalesOverride) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToServerCheerScalesOverride.ProtoReflect.Descriptor instead. func (*CMsgGCToServerCheerScalesOverride) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{93} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{88} } func (x *CMsgGCToServerCheerScalesOverride) GetScales() []float32 { @@ -7411,7 +7074,7 @@ type CMsgGCToServerGetCheerState struct { func (x *CMsgGCToServerGetCheerState) Reset() { *x = CMsgGCToServerGetCheerState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[94] + mi := &file_dota_gcmessages_server_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7424,7 +7087,7 @@ func (x *CMsgGCToServerGetCheerState) String() string { func (*CMsgGCToServerGetCheerState) ProtoMessage() {} func (x *CMsgGCToServerGetCheerState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[94] + mi := &file_dota_gcmessages_server_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7437,7 +7100,7 @@ func (x *CMsgGCToServerGetCheerState) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCToServerGetCheerState.ProtoReflect.Descriptor instead. func (*CMsgGCToServerGetCheerState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{94} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{89} } type CMsgCheerTypeState struct { @@ -7454,7 +7117,7 @@ type CMsgCheerTypeState struct { func (x *CMsgCheerTypeState) Reset() { *x = CMsgCheerTypeState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[95] + mi := &file_dota_gcmessages_server_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7467,7 +7130,7 @@ func (x *CMsgCheerTypeState) String() string { func (*CMsgCheerTypeState) ProtoMessage() {} func (x *CMsgCheerTypeState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[95] + mi := &file_dota_gcmessages_server_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7480,7 +7143,7 @@ func (x *CMsgCheerTypeState) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgCheerTypeState.ProtoReflect.Descriptor instead. func (*CMsgCheerTypeState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{95} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{90} } func (x *CMsgCheerTypeState) GetCheerCounts() []uint32 { @@ -7524,7 +7187,7 @@ type CMsgCheerState struct { func (x *CMsgCheerState) Reset() { *x = CMsgCheerState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[96] + mi := &file_dota_gcmessages_server_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7537,7 +7200,7 @@ func (x *CMsgCheerState) String() string { func (*CMsgCheerState) ProtoMessage() {} func (x *CMsgCheerState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[96] + mi := &file_dota_gcmessages_server_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7550,7 +7213,7 @@ func (x *CMsgCheerState) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgCheerState.ProtoReflect.Descriptor instead. func (*CMsgCheerState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{96} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{91} } func (x *CMsgCheerState) GetCheerTypes() []*CMsgCheerTypeState { @@ -7586,7 +7249,7 @@ type CMsgServerToGCReportCheerState struct { func (x *CMsgServerToGCReportCheerState) Reset() { *x = CMsgServerToGCReportCheerState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[97] + mi := &file_dota_gcmessages_server_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7599,7 +7262,7 @@ func (x *CMsgServerToGCReportCheerState) String() string { func (*CMsgServerToGCReportCheerState) ProtoMessage() {} func (x *CMsgServerToGCReportCheerState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[97] + mi := &file_dota_gcmessages_server_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7612,7 +7275,7 @@ func (x *CMsgServerToGCReportCheerState) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCReportCheerState.ProtoReflect.Descriptor instead. func (*CMsgServerToGCReportCheerState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{97} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{92} } func (x *CMsgServerToGCReportCheerState) GetCheerConfig() *CMsgCheerConfig { @@ -7640,7 +7303,7 @@ type CMsgServerToGCGetStickerHeroes struct { func (x *CMsgServerToGCGetStickerHeroes) Reset() { *x = CMsgServerToGCGetStickerHeroes{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[98] + mi := &file_dota_gcmessages_server_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7653,7 +7316,7 @@ func (x *CMsgServerToGCGetStickerHeroes) String() string { func (*CMsgServerToGCGetStickerHeroes) ProtoMessage() {} func (x *CMsgServerToGCGetStickerHeroes) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[98] + mi := &file_dota_gcmessages_server_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7666,7 +7329,7 @@ func (x *CMsgServerToGCGetStickerHeroes) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCGetStickerHeroes.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetStickerHeroes) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{98} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{93} } func (x *CMsgServerToGCGetStickerHeroes) GetAccountIds() []uint32 { @@ -7687,7 +7350,7 @@ type CMsgServerToGCGetStickerHeroesResponse struct { func (x *CMsgServerToGCGetStickerHeroesResponse) Reset() { *x = CMsgServerToGCGetStickerHeroesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[99] + mi := &file_dota_gcmessages_server_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7700,7 +7363,7 @@ func (x *CMsgServerToGCGetStickerHeroesResponse) String() string { func (*CMsgServerToGCGetStickerHeroesResponse) ProtoMessage() {} func (x *CMsgServerToGCGetStickerHeroesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[99] + mi := &file_dota_gcmessages_server_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7713,7 +7376,7 @@ func (x *CMsgServerToGCGetStickerHeroesResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgServerToGCGetStickerHeroesResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetStickerHeroesResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{99} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{94} } func (x *CMsgServerToGCGetStickerHeroesResponse) GetPlayers() []*CMsgServerToGCGetStickerHeroesResponse_Player { @@ -7723,100 +7386,6 @@ func (x *CMsgServerToGCGetStickerHeroesResponse) GetPlayers() []*CMsgServerToGCG return nil } -type CMsgGCToServerSteamLearnAccessTokensChanged struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AccessTokens *CMsgSteamLearnAccessTokens `protobuf:"bytes,1,opt,name=access_tokens,json=accessTokens" json:"access_tokens,omitempty"` -} - -func (x *CMsgGCToServerSteamLearnAccessTokensChanged) Reset() { - *x = CMsgGCToServerSteamLearnAccessTokensChanged{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCToServerSteamLearnAccessTokensChanged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCToServerSteamLearnAccessTokensChanged) ProtoMessage() {} - -func (x *CMsgGCToServerSteamLearnAccessTokensChanged) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[100] - 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 CMsgGCToServerSteamLearnAccessTokensChanged.ProtoReflect.Descriptor instead. -func (*CMsgGCToServerSteamLearnAccessTokensChanged) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{100} -} - -func (x *CMsgGCToServerSteamLearnAccessTokensChanged) GetAccessTokens() *CMsgSteamLearnAccessTokens { - if x != nil { - return x.AccessTokens - } - return nil -} - -type CMsgGCToServerSteamLearnUseHTTP struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UseHttp *bool `protobuf:"varint,1,opt,name=use_http,json=useHttp" json:"use_http,omitempty"` -} - -func (x *CMsgGCToServerSteamLearnUseHTTP) Reset() { - *x = CMsgGCToServerSteamLearnUseHTTP{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCToServerSteamLearnUseHTTP) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCToServerSteamLearnUseHTTP) ProtoMessage() {} - -func (x *CMsgGCToServerSteamLearnUseHTTP) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[101] - 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 CMsgGCToServerSteamLearnUseHTTP.ProtoReflect.Descriptor instead. -func (*CMsgGCToServerSteamLearnUseHTTP) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{101} -} - -func (x *CMsgGCToServerSteamLearnUseHTTP) GetUseHttp() bool { - if x != nil && x.UseHttp != nil { - return *x.UseHttp - } - return false -} - type CMsgSteamLearnMatchInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7832,7 +7401,7 @@ type CMsgSteamLearnMatchInfo struct { func (x *CMsgSteamLearnMatchInfo) Reset() { *x = CMsgSteamLearnMatchInfo{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[102] + mi := &file_dota_gcmessages_server_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7845,7 +7414,7 @@ func (x *CMsgSteamLearnMatchInfo) String() string { func (*CMsgSteamLearnMatchInfo) ProtoMessage() {} func (x *CMsgSteamLearnMatchInfo) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[102] + mi := &file_dota_gcmessages_server_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7858,7 +7427,7 @@ func (x *CMsgSteamLearnMatchInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnMatchInfo.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnMatchInfo) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{102} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{95} } func (x *CMsgSteamLearnMatchInfo) GetAverageMmr() uint32 { @@ -7912,7 +7481,7 @@ type CMsgSteamLearnMatchInfoPlayer struct { func (x *CMsgSteamLearnMatchInfoPlayer) Reset() { *x = CMsgSteamLearnMatchInfoPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[103] + mi := &file_dota_gcmessages_server_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7925,7 +7494,7 @@ func (x *CMsgSteamLearnMatchInfoPlayer) String() string { func (*CMsgSteamLearnMatchInfoPlayer) ProtoMessage() {} func (x *CMsgSteamLearnMatchInfoPlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[103] + mi := &file_dota_gcmessages_server_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7938,7 +7507,7 @@ func (x *CMsgSteamLearnMatchInfoPlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnMatchInfoPlayer.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnMatchInfoPlayer) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{103} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{96} } func (x *CMsgSteamLearnMatchInfoPlayer) GetAverageMmr() uint32 { @@ -7983,6 +7552,69 @@ func (x *CMsgSteamLearnMatchInfoPlayer) GetPlayerMmr() uint32 { return 0 } +type CMsgSteamLearnMatchInfoTeam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RadiantPlayers []*CMsgSteamLearnMatchInfoTeam_Player `protobuf:"bytes,1,rep,name=radiant_players,json=radiantPlayers" json:"radiant_players,omitempty"` + DirePlayers []*CMsgSteamLearnMatchInfoTeam_Player `protobuf:"bytes,2,rep,name=dire_players,json=direPlayers" json:"dire_players,omitempty"` + RadiantTeamWon *bool `protobuf:"varint,3,opt,name=radiant_team_won,json=radiantTeamWon" json:"radiant_team_won,omitempty"` +} + +func (x *CMsgSteamLearnMatchInfoTeam) Reset() { + *x = CMsgSteamLearnMatchInfoTeam{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_server_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearnMatchInfoTeam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearnMatchInfoTeam) ProtoMessage() {} + +func (x *CMsgSteamLearnMatchInfoTeam) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[97] + 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 CMsgSteamLearnMatchInfoTeam.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearnMatchInfoTeam) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{97} +} + +func (x *CMsgSteamLearnMatchInfoTeam) GetRadiantPlayers() []*CMsgSteamLearnMatchInfoTeam_Player { + if x != nil { + return x.RadiantPlayers + } + return nil +} + +func (x *CMsgSteamLearnMatchInfoTeam) GetDirePlayers() []*CMsgSteamLearnMatchInfoTeam_Player { + if x != nil { + return x.DirePlayers + } + return nil +} + +func (x *CMsgSteamLearnMatchInfoTeam) GetRadiantTeamWon() bool { + if x != nil && x.RadiantTeamWon != nil { + return *x.RadiantTeamWon + } + return false +} + type CMsgSteamLearnMatchHeroesV3 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -8001,7 +7633,7 @@ type CMsgSteamLearnMatchHeroesV3 struct { func (x *CMsgSteamLearnMatchHeroesV3) Reset() { *x = CMsgSteamLearnMatchHeroesV3{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[104] + mi := &file_dota_gcmessages_server_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8014,7 +7646,7 @@ func (x *CMsgSteamLearnMatchHeroesV3) String() string { func (*CMsgSteamLearnMatchHeroesV3) ProtoMessage() {} func (x *CMsgSteamLearnMatchHeroesV3) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[104] + mi := &file_dota_gcmessages_server_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8027,7 +7659,7 @@ func (x *CMsgSteamLearnMatchHeroesV3) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnMatchHeroesV3.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnMatchHeroesV3) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{104} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{98} } func (x *CMsgSteamLearnMatchHeroesV3) GetRadiantHeroIds() []int32 { @@ -8104,7 +7736,7 @@ type CMsgSteamLearnMatchHeroV3 struct { func (x *CMsgSteamLearnMatchHeroV3) Reset() { *x = CMsgSteamLearnMatchHeroV3{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[105] + mi := &file_dota_gcmessages_server_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8117,7 +7749,7 @@ func (x *CMsgSteamLearnMatchHeroV3) String() string { func (*CMsgSteamLearnMatchHeroV3) ProtoMessage() {} func (x *CMsgSteamLearnMatchHeroV3) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[105] + mi := &file_dota_gcmessages_server_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8130,7 +7762,7 @@ func (x *CMsgSteamLearnMatchHeroV3) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnMatchHeroV3.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnMatchHeroV3) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{105} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{99} } func (x *CMsgSteamLearnMatchHeroV3) GetHeroId() int32 { @@ -8200,7 +7832,7 @@ type CMsgSteamLearnPlayerTimedStats struct { func (x *CMsgSteamLearnPlayerTimedStats) Reset() { *x = CMsgSteamLearnPlayerTimedStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[106] + mi := &file_dota_gcmessages_server_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8213,7 +7845,7 @@ func (x *CMsgSteamLearnPlayerTimedStats) String() string { func (*CMsgSteamLearnPlayerTimedStats) ProtoMessage() {} func (x *CMsgSteamLearnPlayerTimedStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[106] + mi := &file_dota_gcmessages_server_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8226,7 +7858,7 @@ func (x *CMsgSteamLearnPlayerTimedStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnPlayerTimedStats.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnPlayerTimedStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{106} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{100} } func (x *CMsgSteamLearnPlayerTimedStats) GetStatBuckets() []*CMsgSteamLearnPlayerTimedStats_StatBucket { @@ -8249,7 +7881,7 @@ type CMsgSteamLearnMatchStateV5 struct { func (x *CMsgSteamLearnMatchStateV5) Reset() { *x = CMsgSteamLearnMatchStateV5{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[107] + mi := &file_dota_gcmessages_server_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8262,7 +7894,7 @@ func (x *CMsgSteamLearnMatchStateV5) String() string { func (*CMsgSteamLearnMatchStateV5) ProtoMessage() {} func (x *CMsgSteamLearnMatchStateV5) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[107] + mi := &file_dota_gcmessages_server_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8275,7 +7907,7 @@ func (x *CMsgSteamLearnMatchStateV5) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnMatchStateV5.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnMatchStateV5) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{107} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{101} } func (x *CMsgSteamLearnMatchStateV5) GetGameTime() float32 { @@ -8317,7 +7949,7 @@ type CMsgSteamLearnItemPurchase struct { func (x *CMsgSteamLearnItemPurchase) Reset() { *x = CMsgSteamLearnItemPurchase{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[108] + mi := &file_dota_gcmessages_server_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8330,7 +7962,7 @@ func (x *CMsgSteamLearnItemPurchase) String() string { func (*CMsgSteamLearnItemPurchase) ProtoMessage() {} func (x *CMsgSteamLearnItemPurchase) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[108] + mi := &file_dota_gcmessages_server_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8343,7 +7975,7 @@ func (x *CMsgSteamLearnItemPurchase) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnItemPurchase.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnItemPurchase) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{108} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{102} } func (x *CMsgSteamLearnItemPurchase) GetItemId() int32 { @@ -8415,7 +8047,7 @@ type CMsgSteamLearnPreGameItemPurchases struct { func (x *CMsgSteamLearnPreGameItemPurchases) Reset() { *x = CMsgSteamLearnPreGameItemPurchases{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[109] + mi := &file_dota_gcmessages_server_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8428,7 +8060,7 @@ func (x *CMsgSteamLearnPreGameItemPurchases) String() string { func (*CMsgSteamLearnPreGameItemPurchases) ProtoMessage() {} func (x *CMsgSteamLearnPreGameItemPurchases) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[109] + mi := &file_dota_gcmessages_server_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8441,58 +8073,129 @@ func (x *CMsgSteamLearnPreGameItemPurchases) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgSteamLearnPreGameItemPurchases.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnPreGameItemPurchases) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{109} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{103} +} + +func (x *CMsgSteamLearnPreGameItemPurchases) GetItemIds() []int32 { + if x != nil { + return x.ItemIds + } + return nil +} + +func (x *CMsgSteamLearnPreGameItemPurchases) GetIsRadiantTeam() uint32 { + if x != nil && x.IsRadiantTeam != nil { + return *x.IsRadiantTeam + } + return 0 +} + +func (x *CMsgSteamLearnPreGameItemPurchases) GetIsUsingDotaPlus() bool { + if x != nil && x.IsUsingDotaPlus != nil { + return *x.IsUsingDotaPlus + } + return false +} + +type CMsgSteamLearnNeutralItemPurchase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemId *int32 `protobuf:"varint,1,opt,name=item_id,json=itemId" json:"item_id,omitempty"` + Tier *uint32 `protobuf:"varint,2,opt,name=tier" json:"tier,omitempty"` + IsRadiantTeam *uint32 `protobuf:"varint,3,opt,name=is_radiant_team,json=isRadiantTeam" json:"is_radiant_team,omitempty"` + IsUsingDotaPlus *bool `protobuf:"varint,4,opt,name=is_using_dota_plus,json=isUsingDotaPlus" json:"is_using_dota_plus,omitempty"` +} + +func (x *CMsgSteamLearnNeutralItemPurchase) Reset() { + *x = CMsgSteamLearnNeutralItemPurchase{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_server_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearnNeutralItemPurchase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearnNeutralItemPurchase) ProtoMessage() {} + +func (x *CMsgSteamLearnNeutralItemPurchase) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[104] + 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 CMsgSteamLearnNeutralItemPurchase.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearnNeutralItemPurchase) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{104} +} + +func (x *CMsgSteamLearnNeutralItemPurchase) GetItemId() int32 { + if x != nil && x.ItemId != nil { + return *x.ItemId + } + return 0 } -func (x *CMsgSteamLearnPreGameItemPurchases) GetItemIds() []int32 { - if x != nil { - return x.ItemIds +func (x *CMsgSteamLearnNeutralItemPurchase) GetTier() uint32 { + if x != nil && x.Tier != nil { + return *x.Tier } - return nil + return 0 } -func (x *CMsgSteamLearnPreGameItemPurchases) GetIsRadiantTeam() uint32 { +func (x *CMsgSteamLearnNeutralItemPurchase) GetIsRadiantTeam() uint32 { if x != nil && x.IsRadiantTeam != nil { return *x.IsRadiantTeam } return 0 } -func (x *CMsgSteamLearnPreGameItemPurchases) GetIsUsingDotaPlus() bool { +func (x *CMsgSteamLearnNeutralItemPurchase) GetIsUsingDotaPlus() bool { if x != nil && x.IsUsingDotaPlus != nil { return *x.IsUsingDotaPlus } return false } -type CMsgSteamLearnNeutralItemPurchase struct { +type CMsgSteamLearnNeutralItemPurchaseV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemId *int32 `protobuf:"varint,1,opt,name=item_id,json=itemId" json:"item_id,omitempty"` - Tier *uint32 `protobuf:"varint,2,opt,name=tier" json:"tier,omitempty"` - IsRadiantTeam *uint32 `protobuf:"varint,3,opt,name=is_radiant_team,json=isRadiantTeam" json:"is_radiant_team,omitempty"` - IsUsingDotaPlus *bool `protobuf:"varint,4,opt,name=is_using_dota_plus,json=isUsingDotaPlus" json:"is_using_dota_plus,omitempty"` + Tier *uint32 `protobuf:"varint,1,opt,name=tier" json:"tier,omitempty"` + TrinketId *int32 `protobuf:"varint,2,opt,name=trinket_id,json=trinketId" json:"trinket_id,omitempty"` + EnhancementId *int32 `protobuf:"varint,3,opt,name=enhancement_id,json=enhancementId" json:"enhancement_id,omitempty"` + PreviousTrinketId *int32 `protobuf:"varint,4,opt,name=previous_trinket_id,json=previousTrinketId" json:"previous_trinket_id,omitempty"` } -func (x *CMsgSteamLearnNeutralItemPurchase) Reset() { - *x = CMsgSteamLearnNeutralItemPurchase{} +func (x *CMsgSteamLearnNeutralItemPurchaseV2) Reset() { + *x = CMsgSteamLearnNeutralItemPurchaseV2{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[110] + mi := &file_dota_gcmessages_server_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgSteamLearnNeutralItemPurchase) String() string { +func (x *CMsgSteamLearnNeutralItemPurchaseV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgSteamLearnNeutralItemPurchase) ProtoMessage() {} +func (*CMsgSteamLearnNeutralItemPurchaseV2) ProtoMessage() {} -func (x *CMsgSteamLearnNeutralItemPurchase) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[110] +func (x *CMsgSteamLearnNeutralItemPurchaseV2) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8503,37 +8206,37 @@ func (x *CMsgSteamLearnNeutralItemPurchase) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use CMsgSteamLearnNeutralItemPurchase.ProtoReflect.Descriptor instead. -func (*CMsgSteamLearnNeutralItemPurchase) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{110} +// Deprecated: Use CMsgSteamLearnNeutralItemPurchaseV2.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearnNeutralItemPurchaseV2) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{105} } -func (x *CMsgSteamLearnNeutralItemPurchase) GetItemId() int32 { - if x != nil && x.ItemId != nil { - return *x.ItemId +func (x *CMsgSteamLearnNeutralItemPurchaseV2) GetTier() uint32 { + if x != nil && x.Tier != nil { + return *x.Tier } return 0 } -func (x *CMsgSteamLearnNeutralItemPurchase) GetTier() uint32 { - if x != nil && x.Tier != nil { - return *x.Tier +func (x *CMsgSteamLearnNeutralItemPurchaseV2) GetTrinketId() int32 { + if x != nil && x.TrinketId != nil { + return *x.TrinketId } return 0 } -func (x *CMsgSteamLearnNeutralItemPurchase) GetIsRadiantTeam() uint32 { - if x != nil && x.IsRadiantTeam != nil { - return *x.IsRadiantTeam +func (x *CMsgSteamLearnNeutralItemPurchaseV2) GetEnhancementId() int32 { + if x != nil && x.EnhancementId != nil { + return *x.EnhancementId } return 0 } -func (x *CMsgSteamLearnNeutralItemPurchase) GetIsUsingDotaPlus() bool { - if x != nil && x.IsUsingDotaPlus != nil { - return *x.IsUsingDotaPlus +func (x *CMsgSteamLearnNeutralItemPurchaseV2) GetPreviousTrinketId() int32 { + if x != nil && x.PreviousTrinketId != nil { + return *x.PreviousTrinketId } - return false + return 0 } type CMsgSteamLearnAbilitySkill struct { @@ -8550,7 +8253,7 @@ type CMsgSteamLearnAbilitySkill struct { func (x *CMsgSteamLearnAbilitySkill) Reset() { *x = CMsgSteamLearnAbilitySkill{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[111] + mi := &file_dota_gcmessages_server_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8563,7 +8266,7 @@ func (x *CMsgSteamLearnAbilitySkill) String() string { func (*CMsgSteamLearnAbilitySkill) ProtoMessage() {} func (x *CMsgSteamLearnAbilitySkill) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[111] + mi := &file_dota_gcmessages_server_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8576,7 +8279,7 @@ func (x *CMsgSteamLearnAbilitySkill) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnAbilitySkill.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnAbilitySkill) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{111} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{106} } func (x *CMsgSteamLearnAbilitySkill) GetAbilityId() int32 { @@ -8607,31 +8310,32 @@ func (x *CMsgSteamLearnAbilitySkill) GetIsUsingDotaPlus() bool { return false } -type CMsgSteamLearnEarlyGameItemPurchases struct { +type CMsgSteamLearnEarlyGameItemPurchasesV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemIds []int32 `protobuf:"varint,1,rep,name=item_ids,json=itemIds" json:"item_ids,omitempty"` + ItemIds []int32 `protobuf:"varint,1,rep,name=item_ids,json=itemIds" json:"item_ids,omitempty"` + OtherItemIds []int32 `protobuf:"varint,2,rep,name=other_item_ids,json=otherItemIds" json:"other_item_ids,omitempty"` } -func (x *CMsgSteamLearnEarlyGameItemPurchases) Reset() { - *x = CMsgSteamLearnEarlyGameItemPurchases{} +func (x *CMsgSteamLearnEarlyGameItemPurchasesV2) Reset() { + *x = CMsgSteamLearnEarlyGameItemPurchasesV2{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[112] + mi := &file_dota_gcmessages_server_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgSteamLearnEarlyGameItemPurchases) String() string { +func (x *CMsgSteamLearnEarlyGameItemPurchasesV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgSteamLearnEarlyGameItemPurchases) ProtoMessage() {} +func (*CMsgSteamLearnEarlyGameItemPurchasesV2) ProtoMessage() {} -func (x *CMsgSteamLearnEarlyGameItemPurchases) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[112] +func (x *CMsgSteamLearnEarlyGameItemPurchasesV2) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8642,19 +8346,81 @@ func (x *CMsgSteamLearnEarlyGameItemPurchases) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use CMsgSteamLearnEarlyGameItemPurchases.ProtoReflect.Descriptor instead. -func (*CMsgSteamLearnEarlyGameItemPurchases) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{112} +// Deprecated: Use CMsgSteamLearnEarlyGameItemPurchasesV2.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearnEarlyGameItemPurchasesV2) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{107} +} + +func (x *CMsgSteamLearnEarlyGameItemPurchasesV2) GetItemIds() []int32 { + if x != nil { + return x.ItemIds + } + return nil +} + +func (x *CMsgSteamLearnEarlyGameItemPurchasesV2) GetOtherItemIds() []int32 { + if x != nil { + return x.OtherItemIds + } + return nil +} + +type CMsgSteamLearnLateGameItemPurchasesV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemIds []int32 `protobuf:"varint,1,rep,name=item_ids,json=itemIds" json:"item_ids,omitempty"` + OtherItemIds []int32 `protobuf:"varint,2,rep,name=other_item_ids,json=otherItemIds" json:"other_item_ids,omitempty"` +} + +func (x *CMsgSteamLearnLateGameItemPurchasesV2) Reset() { + *x = CMsgSteamLearnLateGameItemPurchasesV2{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_server_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearnLateGameItemPurchasesV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearnLateGameItemPurchasesV2) ProtoMessage() {} + +func (x *CMsgSteamLearnLateGameItemPurchasesV2) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_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) } -func (x *CMsgSteamLearnEarlyGameItemPurchases) GetItemIds() []int32 { +// Deprecated: Use CMsgSteamLearnLateGameItemPurchasesV2.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearnLateGameItemPurchasesV2) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{108} +} + +func (x *CMsgSteamLearnLateGameItemPurchasesV2) GetItemIds() []int32 { if x != nil { return x.ItemIds } return nil } -type CMsgSteamLearnLateGameItemPurchases struct { +func (x *CMsgSteamLearnLateGameItemPurchasesV2) GetOtherItemIds() []int32 { + if x != nil { + return x.OtherItemIds + } + return nil +} + +type CMsgSteamLearnMainGameItemPurchases struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -8662,23 +8428,23 @@ type CMsgSteamLearnLateGameItemPurchases struct { ItemIds []int32 `protobuf:"varint,1,rep,name=item_ids,json=itemIds" json:"item_ids,omitempty"` } -func (x *CMsgSteamLearnLateGameItemPurchases) Reset() { - *x = CMsgSteamLearnLateGameItemPurchases{} +func (x *CMsgSteamLearnMainGameItemPurchases) Reset() { + *x = CMsgSteamLearnMainGameItemPurchases{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[113] + mi := &file_dota_gcmessages_server_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgSteamLearnLateGameItemPurchases) String() string { +func (x *CMsgSteamLearnMainGameItemPurchases) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgSteamLearnLateGameItemPurchases) ProtoMessage() {} +func (*CMsgSteamLearnMainGameItemPurchases) ProtoMessage() {} -func (x *CMsgSteamLearnLateGameItemPurchases) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[113] +func (x *CMsgSteamLearnMainGameItemPurchases) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8689,12 +8455,12 @@ func (x *CMsgSteamLearnLateGameItemPurchases) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use CMsgSteamLearnLateGameItemPurchases.ProtoReflect.Descriptor instead. -func (*CMsgSteamLearnLateGameItemPurchases) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{113} +// Deprecated: Use CMsgSteamLearnMainGameItemPurchases.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearnMainGameItemPurchases) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{109} } -func (x *CMsgSteamLearnLateGameItemPurchases) GetItemIds() []int32 { +func (x *CMsgSteamLearnMainGameItemPurchases) GetItemIds() []int32 { if x != nil { return x.ItemIds } @@ -8714,7 +8480,7 @@ type CMsgSteamLearnWardPlacement struct { func (x *CMsgSteamLearnWardPlacement) Reset() { *x = CMsgSteamLearnWardPlacement{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[114] + mi := &file_dota_gcmessages_server_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8727,7 +8493,7 @@ func (x *CMsgSteamLearnWardPlacement) String() string { func (*CMsgSteamLearnWardPlacement) ProtoMessage() {} func (x *CMsgSteamLearnWardPlacement) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[114] + mi := &file_dota_gcmessages_server_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8740,7 +8506,7 @@ func (x *CMsgSteamLearnWardPlacement) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamLearnWardPlacement.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnWardPlacement) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{114} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{110} } func (x *CMsgSteamLearnWardPlacement) GetWardLoc() *CMsgSteamLearnWardPlacement_Location { @@ -8775,7 +8541,7 @@ type CMsgSignOutMuertaMinigame struct { func (x *CMsgSignOutMuertaMinigame) Reset() { *x = CMsgSignOutMuertaMinigame{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[115] + mi := &file_dota_gcmessages_server_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8788,7 +8554,7 @@ func (x *CMsgSignOutMuertaMinigame) String() string { func (*CMsgSignOutMuertaMinigame) ProtoMessage() {} func (x *CMsgSignOutMuertaMinigame) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[115] + mi := &file_dota_gcmessages_server_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8801,7 +8567,7 @@ func (x *CMsgSignOutMuertaMinigame) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutMuertaMinigame.ProtoReflect.Descriptor instead. func (*CMsgSignOutMuertaMinigame) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{115} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{111} } func (x *CMsgSignOutMuertaMinigame) GetEventGameData() []byte { @@ -8823,7 +8589,7 @@ type CMsgSignOutMapStats struct { func (x *CMsgSignOutMapStats) Reset() { *x = CMsgSignOutMapStats{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[116] + mi := &file_dota_gcmessages_server_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8836,7 +8602,7 @@ func (x *CMsgSignOutMapStats) String() string { func (*CMsgSignOutMapStats) ProtoMessage() {} func (x *CMsgSignOutMapStats) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[116] + mi := &file_dota_gcmessages_server_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8849,7 +8615,7 @@ func (x *CMsgSignOutMapStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutMapStats.ProtoReflect.Descriptor instead. func (*CMsgSignOutMapStats) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{116} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{112} } func (x *CMsgSignOutMapStats) GetPlayers() []*CMsgSignOutMapStats_Player { @@ -8879,7 +8645,7 @@ type CMsgServerToGCNewBloomGift struct { func (x *CMsgServerToGCNewBloomGift) Reset() { *x = CMsgServerToGCNewBloomGift{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[117] + mi := &file_dota_gcmessages_server_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8892,7 +8658,7 @@ func (x *CMsgServerToGCNewBloomGift) String() string { func (*CMsgServerToGCNewBloomGift) ProtoMessage() {} func (x *CMsgServerToGCNewBloomGift) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[117] + mi := &file_dota_gcmessages_server_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8905,7 +8671,7 @@ func (x *CMsgServerToGCNewBloomGift) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerToGCNewBloomGift.ProtoReflect.Descriptor instead. func (*CMsgServerToGCNewBloomGift) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{117} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{113} } func (x *CMsgServerToGCNewBloomGift) GetDefindex() uint32 { @@ -8941,7 +8707,7 @@ type CMsgServerToGCNewBloomGiftResponse struct { func (x *CMsgServerToGCNewBloomGiftResponse) Reset() { *x = CMsgServerToGCNewBloomGiftResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[118] + mi := &file_dota_gcmessages_server_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8954,7 +8720,7 @@ func (x *CMsgServerToGCNewBloomGiftResponse) String() string { func (*CMsgServerToGCNewBloomGiftResponse) ProtoMessage() {} func (x *CMsgServerToGCNewBloomGiftResponse) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[118] + mi := &file_dota_gcmessages_server_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8967,7 +8733,7 @@ func (x *CMsgServerToGCNewBloomGiftResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgServerToGCNewBloomGiftResponse.ProtoReflect.Descriptor instead. func (*CMsgServerToGCNewBloomGiftResponse) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{118} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{114} } func (x *CMsgServerToGCNewBloomGiftResponse) GetResult() ENewBloomGiftingResponse { @@ -8996,7 +8762,7 @@ type CMsgSignOutOverworld struct { func (x *CMsgSignOutOverworld) Reset() { *x = CMsgSignOutOverworld{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[119] + mi := &file_dota_gcmessages_server_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9009,7 +8775,7 @@ func (x *CMsgSignOutOverworld) String() string { func (*CMsgSignOutOverworld) ProtoMessage() {} func (x *CMsgSignOutOverworld) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[119] + mi := &file_dota_gcmessages_server_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9022,7 +8788,7 @@ func (x *CMsgSignOutOverworld) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutOverworld.ProtoReflect.Descriptor instead. func (*CMsgSignOutOverworld) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{119} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{115} } func (x *CMsgSignOutOverworld) GetPlayers() []*CMsgSignOutOverworld_Player { @@ -9039,6 +8805,61 @@ func (x *CMsgSignOutOverworld) GetEventId() EEvent { return EEvent_EVENT_ID_NONE } +type CMsgSignOutCraftworks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Players []*CMsgSignOutCraftworks_Player `protobuf:"bytes,1,rep,name=players" json:"players,omitempty"` + EventId *EEvent `protobuf:"varint,2,opt,name=event_id,json=eventId,enum=dota.EEvent" json:"event_id,omitempty"` +} + +func (x *CMsgSignOutCraftworks) Reset() { + *x = CMsgSignOutCraftworks{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_server_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSignOutCraftworks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSignOutCraftworks) ProtoMessage() {} + +func (x *CMsgSignOutCraftworks) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_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 CMsgSignOutCraftworks.ProtoReflect.Descriptor instead. +func (*CMsgSignOutCraftworks) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{116} +} + +func (x *CMsgSignOutCraftworks) GetPlayers() []*CMsgSignOutCraftworks_Player { + if x != nil { + return x.Players + } + return nil +} + +func (x *CMsgSignOutCraftworks) GetEventId() EEvent { + if x != nil && x.EventId != nil { + return *x.EventId + } + return EEvent_EVENT_ID_NONE +} + type CMsgPoorNetworkConditions_Player struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -9053,7 +8874,7 @@ type CMsgPoorNetworkConditions_Player struct { func (x *CMsgPoorNetworkConditions_Player) Reset() { *x = CMsgPoorNetworkConditions_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[120] + mi := &file_dota_gcmessages_server_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9066,7 +8887,7 @@ func (x *CMsgPoorNetworkConditions_Player) String() string { func (*CMsgPoorNetworkConditions_Player) ProtoMessage() {} func (x *CMsgPoorNetworkConditions_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[120] + mi := &file_dota_gcmessages_server_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9124,7 +8945,7 @@ type CMsgConnectedPlayers_Player struct { func (x *CMsgConnectedPlayers_Player) Reset() { *x = CMsgConnectedPlayers_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[121] + mi := &file_dota_gcmessages_server_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9137,7 +8958,7 @@ func (x *CMsgConnectedPlayers_Player) String() string { func (*CMsgConnectedPlayers_Player) ProtoMessage() {} func (x *CMsgConnectedPlayers_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[121] + mi := &file_dota_gcmessages_server_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9194,7 +9015,7 @@ type CMsgConnectedPlayers_PlayerDraft struct { func (x *CMsgConnectedPlayers_PlayerDraft) Reset() { *x = CMsgConnectedPlayers_PlayerDraft{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[122] + mi := &file_dota_gcmessages_server_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9207,7 +9028,7 @@ func (x *CMsgConnectedPlayers_PlayerDraft) String() string { func (*CMsgConnectedPlayers_PlayerDraft) ProtoMessage() {} func (x *CMsgConnectedPlayers_PlayerDraft) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[122] + mi := &file_dota_gcmessages_server_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9258,7 +9079,7 @@ type CMsgSignOutGameplayStats_CPlayer struct { func (x *CMsgSignOutGameplayStats_CPlayer) Reset() { *x = CMsgSignOutGameplayStats_CPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[123] + mi := &file_dota_gcmessages_server_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9271,7 +9092,7 @@ func (x *CMsgSignOutGameplayStats_CPlayer) String() string { func (*CMsgSignOutGameplayStats_CPlayer) ProtoMessage() {} func (x *CMsgSignOutGameplayStats_CPlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[123] + mi := &file_dota_gcmessages_server_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9329,7 +9150,7 @@ type CMsgSignOutGameplayStats_CTeam struct { func (x *CMsgSignOutGameplayStats_CTeam) Reset() { *x = CMsgSignOutGameplayStats_CTeam{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[124] + mi := &file_dota_gcmessages_server_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9342,7 +9163,7 @@ func (x *CMsgSignOutGameplayStats_CTeam) String() string { func (*CMsgSignOutGameplayStats_CTeam) ProtoMessage() {} func (x *CMsgSignOutGameplayStats_CTeam) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[124] + mi := &file_dota_gcmessages_server_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9398,7 +9219,7 @@ type CMsgGameMatchSignOut_CTeam struct { func (x *CMsgGameMatchSignOut_CTeam) Reset() { *x = CMsgGameMatchSignOut_CTeam{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[125] + mi := &file_dota_gcmessages_server_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9411,7 +9232,7 @@ func (x *CMsgGameMatchSignOut_CTeam) String() string { func (*CMsgGameMatchSignOut_CTeam) ProtoMessage() {} func (x *CMsgGameMatchSignOut_CTeam) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[125] + mi := &file_dota_gcmessages_server_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9453,7 +9274,7 @@ type CMsgGameMatchSignOut_CAdditionalSignoutMsg struct { func (x *CMsgGameMatchSignOut_CAdditionalSignoutMsg) Reset() { *x = CMsgGameMatchSignOut_CAdditionalSignoutMsg{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[126] + mi := &file_dota_gcmessages_server_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9466,7 +9287,7 @@ func (x *CMsgGameMatchSignOut_CAdditionalSignoutMsg) String() string { func (*CMsgGameMatchSignOut_CAdditionalSignoutMsg) ProtoMessage() {} func (x *CMsgGameMatchSignOut_CAdditionalSignoutMsg) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[126] + mi := &file_dota_gcmessages_server_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9511,7 +9332,7 @@ type CMsgGameMatchSignOut_CSocialFeedMatchEvent struct { func (x *CMsgGameMatchSignOut_CSocialFeedMatchEvent) Reset() { *x = CMsgGameMatchSignOut_CSocialFeedMatchEvent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[127] + mi := &file_dota_gcmessages_server_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9524,7 +9345,7 @@ func (x *CMsgGameMatchSignOut_CSocialFeedMatchEvent) String() string { func (*CMsgGameMatchSignOut_CSocialFeedMatchEvent) ProtoMessage() {} func (x *CMsgGameMatchSignOut_CSocialFeedMatchEvent) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[127] + mi := &file_dota_gcmessages_server_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9586,7 +9407,7 @@ type CMsgGameMatchSignOut_CCustomGameData struct { func (x *CMsgGameMatchSignOut_CCustomGameData) Reset() { *x = CMsgGameMatchSignOut_CCustomGameData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[128] + mi := &file_dota_gcmessages_server_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9599,7 +9420,7 @@ func (x *CMsgGameMatchSignOut_CCustomGameData) String() string { func (*CMsgGameMatchSignOut_CCustomGameData) ProtoMessage() {} func (x *CMsgGameMatchSignOut_CCustomGameData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[128] + mi := &file_dota_gcmessages_server_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9639,7 +9460,7 @@ type CMsgGameMatchSignOut_EventGameLeaderboardEntry struct { func (x *CMsgGameMatchSignOut_EventGameLeaderboardEntry) Reset() { *x = CMsgGameMatchSignOut_EventGameLeaderboardEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[129] + mi := &file_dota_gcmessages_server_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9652,7 +9473,7 @@ func (x *CMsgGameMatchSignOut_EventGameLeaderboardEntry) String() string { func (*CMsgGameMatchSignOut_EventGameLeaderboardEntry) ProtoMessage() {} func (x *CMsgGameMatchSignOut_EventGameLeaderboardEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[129] + mi := &file_dota_gcmessages_server_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9735,7 +9556,7 @@ type CMsgGameMatchSignOut_WardPlacement struct { func (x *CMsgGameMatchSignOut_WardPlacement) Reset() { *x = CMsgGameMatchSignOut_WardPlacement{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[130] + mi := &file_dota_gcmessages_server_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9748,7 +9569,7 @@ func (x *CMsgGameMatchSignOut_WardPlacement) String() string { func (*CMsgGameMatchSignOut_WardPlacement) ProtoMessage() {} func (x *CMsgGameMatchSignOut_WardPlacement) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[130] + mi := &file_dota_gcmessages_server_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9897,12 +9718,13 @@ type CMsgGameMatchSignOut_CTeam_CPlayer struct { PlayerTrackedStats []*CMsgTrackedStat `protobuf:"bytes,80,rep,name=player_tracked_stats,json=playerTrackedStats" json:"player_tracked_stats,omitempty"` PredictedRank *uint32 `protobuf:"varint,81,opt,name=predicted_rank,json=predictedRank" json:"predicted_rank,omitempty"` SelectedFacet *uint32 `protobuf:"varint,82,opt,name=selected_facet,json=selectedFacet" json:"selected_facet,omitempty"` + EnhancementLevel *uint32 `protobuf:"varint,83,opt,name=enhancement_level,json=enhancementLevel" json:"enhancement_level,omitempty"` } func (x *CMsgGameMatchSignOut_CTeam_CPlayer) Reset() { *x = CMsgGameMatchSignOut_CTeam_CPlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[131] + mi := &file_dota_gcmessages_server_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9915,7 +9737,7 @@ func (x *CMsgGameMatchSignOut_CTeam_CPlayer) String() string { func (*CMsgGameMatchSignOut_CTeam_CPlayer) ProtoMessage() {} func (x *CMsgGameMatchSignOut_CTeam_CPlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[131] + mi := &file_dota_gcmessages_server_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10435,6 +10257,13 @@ func (x *CMsgGameMatchSignOut_CTeam_CPlayer) GetSelectedFacet() uint32 { return 0 } +func (x *CMsgGameMatchSignOut_CTeam_CPlayer) GetEnhancementLevel() uint32 { + if x != nil && x.EnhancementLevel != nil { + return *x.EnhancementLevel + } + return 0 +} + type CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -10447,7 +10276,7 @@ type CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData struct { func (x *CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData) Reset() { *x = CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[132] + mi := &file_dota_gcmessages_server_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10460,7 +10289,7 @@ func (x *CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData) String() string { func (*CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData) ProtoMessage() {} func (x *CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[132] + mi := &file_dota_gcmessages_server_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10503,7 +10332,7 @@ type CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived struct { func (x *CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived) Reset() { *x = CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[133] + mi := &file_dota_gcmessages_server_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10516,7 +10345,7 @@ func (x *CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived) String() string func (*CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived) ProtoMessage() {} func (x *CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[133] + mi := &file_dota_gcmessages_server_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10566,7 +10395,7 @@ type CMsgSignOutTextMuteInfo_TextMuteMessage struct { func (x *CMsgSignOutTextMuteInfo_TextMuteMessage) Reset() { *x = CMsgSignOutTextMuteInfo_TextMuteMessage{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[134] + mi := &file_dota_gcmessages_server_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10579,7 +10408,7 @@ func (x *CMsgSignOutTextMuteInfo_TextMuteMessage) String() string { func (*CMsgSignOutTextMuteInfo_TextMuteMessage) ProtoMessage() {} func (x *CMsgSignOutTextMuteInfo_TextMuteMessage) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[134] + mi := &file_dota_gcmessages_server_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10644,7 +10473,7 @@ type CMsgSignOutCommunicationSummary_PlayerCommunication struct { func (x *CMsgSignOutCommunicationSummary_PlayerCommunication) Reset() { *x = CMsgSignOutCommunicationSummary_PlayerCommunication{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[135] + mi := &file_dota_gcmessages_server_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10657,7 +10486,7 @@ func (x *CMsgSignOutCommunicationSummary_PlayerCommunication) String() string { func (*CMsgSignOutCommunicationSummary_PlayerCommunication) ProtoMessage() {} func (x *CMsgSignOutCommunicationSummary_PlayerCommunication) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[135] + mi := &file_dota_gcmessages_server_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10811,7 +10640,7 @@ type CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail struct { func (x *CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail) Reset() { *x = CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[136] + mi := &file_dota_gcmessages_server_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10824,7 +10653,7 @@ func (x *CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail) String( func (*CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail) ProtoMessage() {} func (x *CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[136] + mi := &file_dota_gcmessages_server_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10877,7 +10706,7 @@ type CMsgGameMatchSignoutResponse_PlayerMetadata struct { func (x *CMsgGameMatchSignoutResponse_PlayerMetadata) Reset() { *x = CMsgGameMatchSignoutResponse_PlayerMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[137] + mi := &file_dota_gcmessages_server_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10890,7 +10719,7 @@ func (x *CMsgGameMatchSignoutResponse_PlayerMetadata) String() string { func (*CMsgGameMatchSignoutResponse_PlayerMetadata) ProtoMessage() {} func (x *CMsgGameMatchSignoutResponse_PlayerMetadata) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[137] + mi := &file_dota_gcmessages_server_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11013,7 +10842,7 @@ type CMsgDOTALiveScoreboardUpdate_Team struct { func (x *CMsgDOTALiveScoreboardUpdate_Team) Reset() { *x = CMsgDOTALiveScoreboardUpdate_Team{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[138] + mi := &file_dota_gcmessages_server_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11026,7 +10855,7 @@ func (x *CMsgDOTALiveScoreboardUpdate_Team) String() string { func (*CMsgDOTALiveScoreboardUpdate_Team) ProtoMessage() {} func (x *CMsgDOTALiveScoreboardUpdate_Team) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[138] + mi := &file_dota_gcmessages_server_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11039,7 +10868,7 @@ func (x *CMsgDOTALiveScoreboardUpdate_Team) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgDOTALiveScoreboardUpdate_Team.ProtoReflect.Descriptor instead. func (*CMsgDOTALiveScoreboardUpdate_Team) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{25, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{24, 0} } func (x *CMsgDOTALiveScoreboardUpdate_Team) GetPlayers() []*CMsgDOTALiveScoreboardUpdate_Team_Player { @@ -11121,7 +10950,7 @@ type CMsgDOTALiveScoreboardUpdate_Team_Player struct { func (x *CMsgDOTALiveScoreboardUpdate_Team_Player) Reset() { *x = CMsgDOTALiveScoreboardUpdate_Team_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[139] + mi := &file_dota_gcmessages_server_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11134,7 +10963,7 @@ func (x *CMsgDOTALiveScoreboardUpdate_Team_Player) String() string { func (*CMsgDOTALiveScoreboardUpdate_Team_Player) ProtoMessage() {} func (x *CMsgDOTALiveScoreboardUpdate_Team_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[139] + mi := &file_dota_gcmessages_server_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11147,7 +10976,7 @@ func (x *CMsgDOTALiveScoreboardUpdate_Team_Player) ProtoReflect() protoreflect.M // Deprecated: Use CMsgDOTALiveScoreboardUpdate_Team_Player.ProtoReflect.Descriptor instead. func (*CMsgDOTALiveScoreboardUpdate_Team_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{25, 0, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{24, 0, 0} } func (x *CMsgDOTALiveScoreboardUpdate_Team_Player) GetPlayerSlot() uint32 { @@ -11351,7 +11180,7 @@ type CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility struct { func (x *CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility) Reset() { *x = CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[140] + mi := &file_dota_gcmessages_server_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11364,7 +11193,7 @@ func (x *CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility) String() string { func (*CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility) ProtoMessage() {} func (x *CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[140] + mi := &file_dota_gcmessages_server_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11377,7 +11206,7 @@ func (x *CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility) ProtoReflect() pr // Deprecated: Use CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility.ProtoReflect.Descriptor instead. func (*CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{25, 0, 0, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{24, 0, 0, 0} } func (x *CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility) GetAbilityId() int32 { @@ -11399,23 +11228,26 @@ type CMsgServerToGCRequestBatchPlayerResourcesResponse_Result struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AccountId *uint32 `protobuf:"varint,1,opt,name=account_id,json=accountId" json:"account_id,omitempty"` - Rank *uint32 `protobuf:"varint,4,opt,name=rank" json:"rank,omitempty"` - RankCalibrated *bool `protobuf:"varint,5,opt,name=rank_calibrated,json=rankCalibrated" json:"rank_calibrated,omitempty"` - LowPriority *bool `protobuf:"varint,6,opt,name=low_priority,json=lowPriority" json:"low_priority,omitempty"` - IsNewPlayer *bool `protobuf:"varint,7,opt,name=is_new_player,json=isNewPlayer" json:"is_new_player,omitempty"` - IsGuidePlayer *bool `protobuf:"varint,8,opt,name=is_guide_player,json=isGuidePlayer" json:"is_guide_player,omitempty"` - CommLevel *int32 `protobuf:"varint,9,opt,name=comm_level,json=commLevel" json:"comm_level,omitempty"` - BehaviorLevel *int32 `protobuf:"varint,10,opt,name=behavior_level,json=behaviorLevel" json:"behavior_level,omitempty"` - Wins *int32 `protobuf:"varint,11,opt,name=wins" json:"wins,omitempty"` - Losses *int32 `protobuf:"varint,12,opt,name=losses" json:"losses,omitempty"` - SmurfCategory *int32 `protobuf:"varint,13,opt,name=smurf_category,json=smurfCategory" json:"smurf_category,omitempty"` + AccountId *uint32 `protobuf:"varint,1,opt,name=account_id,json=accountId" json:"account_id,omitempty"` + Rank *uint32 `protobuf:"varint,4,opt,name=rank" json:"rank,omitempty"` + RankCalibrated *bool `protobuf:"varint,5,opt,name=rank_calibrated,json=rankCalibrated" json:"rank_calibrated,omitempty"` + LowPriority *bool `protobuf:"varint,6,opt,name=low_priority,json=lowPriority" json:"low_priority,omitempty"` + IsNewPlayer *bool `protobuf:"varint,7,opt,name=is_new_player,json=isNewPlayer" json:"is_new_player,omitempty"` + IsGuidePlayer *bool `protobuf:"varint,8,opt,name=is_guide_player,json=isGuidePlayer" json:"is_guide_player,omitempty"` + CommLevel *int32 `protobuf:"varint,9,opt,name=comm_level,json=commLevel" json:"comm_level,omitempty"` + BehaviorLevel *int32 `protobuf:"varint,10,opt,name=behavior_level,json=behaviorLevel" json:"behavior_level,omitempty"` + Wins *int32 `protobuf:"varint,11,opt,name=wins" json:"wins,omitempty"` + Losses *int32 `protobuf:"varint,12,opt,name=losses" json:"losses,omitempty"` + SmurfCategory *int32 `protobuf:"varint,13,opt,name=smurf_category,json=smurfCategory" json:"smurf_category,omitempty"` + CommScore *int32 `protobuf:"varint,14,opt,name=comm_score,json=commScore" json:"comm_score,omitempty"` + BehaviorScore *int32 `protobuf:"varint,15,opt,name=behavior_score,json=behaviorScore" json:"behavior_score,omitempty"` + RankUncertainty *int32 `protobuf:"varint,16,opt,name=rank_uncertainty,json=rankUncertainty" json:"rank_uncertainty,omitempty"` } func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) Reset() { *x = CMsgServerToGCRequestBatchPlayerResourcesResponse_Result{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[141] + mi := &file_dota_gcmessages_server_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11428,7 +11260,7 @@ func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) String() stri func (*CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) ProtoMessage() {} func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[141] + mi := &file_dota_gcmessages_server_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11441,7 +11273,7 @@ func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) ProtoReflect( // Deprecated: Use CMsgServerToGCRequestBatchPlayerResourcesResponse_Result.ProtoReflect.Descriptor instead. func (*CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{27, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{26, 0} } func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) GetAccountId() uint32 { @@ -11521,6 +11353,27 @@ func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) GetSmurfCateg return 0 } +func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) GetCommScore() int32 { + if x != nil && x.CommScore != nil { + return *x.CommScore + } + return 0 +} + +func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) GetBehaviorScore() int32 { + if x != nil && x.BehaviorScore != nil { + return *x.BehaviorScore + } + return 0 +} + +func (x *CMsgServerToGCRequestBatchPlayerResourcesResponse_Result) GetRankUncertainty() int32 { + if x != nil && x.RankUncertainty != nil { + return *x.RankUncertainty + } + return 0 +} + type CMsgDOTAAwardEventPoints_AwardPoints struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -11537,7 +11390,7 @@ type CMsgDOTAAwardEventPoints_AwardPoints struct { func (x *CMsgDOTAAwardEventPoints_AwardPoints) Reset() { *x = CMsgDOTAAwardEventPoints_AwardPoints{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[142] + mi := &file_dota_gcmessages_server_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11550,7 +11403,7 @@ func (x *CMsgDOTAAwardEventPoints_AwardPoints) String() string { func (*CMsgDOTAAwardEventPoints_AwardPoints) ProtoMessage() {} func (x *CMsgDOTAAwardEventPoints_AwardPoints) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[142] + mi := &file_dota_gcmessages_server_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11563,7 +11416,7 @@ func (x *CMsgDOTAAwardEventPoints_AwardPoints) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgDOTAAwardEventPoints_AwardPoints.ProtoReflect.Descriptor instead. func (*CMsgDOTAAwardEventPoints_AwardPoints) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{41, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{36, 0} } func (x *CMsgDOTAAwardEventPoints_AwardPoints) GetAccountId() uint32 { @@ -11624,7 +11477,7 @@ type CMsgServerToGCMatchConnectionStats_Player struct { func (x *CMsgServerToGCMatchConnectionStats_Player) Reset() { *x = CMsgServerToGCMatchConnectionStats_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[143] + mi := &file_dota_gcmessages_server_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11637,7 +11490,7 @@ func (x *CMsgServerToGCMatchConnectionStats_Player) String() string { func (*CMsgServerToGCMatchConnectionStats_Player) ProtoMessage() {} func (x *CMsgServerToGCMatchConnectionStats_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[143] + mi := &file_dota_gcmessages_server_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11650,7 +11503,7 @@ func (x *CMsgServerToGCMatchConnectionStats_Player) ProtoReflect() protoreflect. // Deprecated: Use CMsgServerToGCMatchConnectionStats_Player.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchConnectionStats_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{44, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{39, 0} } func (x *CMsgServerToGCMatchConnectionStats_Player) GetAccountId() uint32 { @@ -11706,7 +11559,7 @@ type CSerializedCombatLog_Dictionary struct { func (x *CSerializedCombatLog_Dictionary) Reset() { *x = CSerializedCombatLog_Dictionary{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[144] + mi := &file_dota_gcmessages_server_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11719,7 +11572,7 @@ func (x *CSerializedCombatLog_Dictionary) String() string { func (*CSerializedCombatLog_Dictionary) ProtoMessage() {} func (x *CSerializedCombatLog_Dictionary) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[144] + mi := &file_dota_gcmessages_server_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11732,7 +11585,7 @@ func (x *CSerializedCombatLog_Dictionary) ProtoReflect() protoreflect.Message { // Deprecated: Use CSerializedCombatLog_Dictionary.ProtoReflect.Descriptor instead. func (*CSerializedCombatLog_Dictionary) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{46, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{41, 0} } func (x *CSerializedCombatLog_Dictionary) GetStrings() []*CSerializedCombatLog_Dictionary_DictString { @@ -11754,7 +11607,7 @@ type CSerializedCombatLog_Dictionary_DictString struct { func (x *CSerializedCombatLog_Dictionary_DictString) Reset() { *x = CSerializedCombatLog_Dictionary_DictString{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[145] + mi := &file_dota_gcmessages_server_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11767,7 +11620,7 @@ func (x *CSerializedCombatLog_Dictionary_DictString) String() string { func (*CSerializedCombatLog_Dictionary_DictString) ProtoMessage() {} func (x *CSerializedCombatLog_Dictionary_DictString) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[145] + mi := &file_dota_gcmessages_server_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11780,7 +11633,7 @@ func (x *CSerializedCombatLog_Dictionary_DictString) ProtoReflect() protoreflect // Deprecated: Use CSerializedCombatLog_Dictionary_DictString.ProtoReflect.Descriptor instead. func (*CSerializedCombatLog_Dictionary_DictString) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{46, 0, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{41, 0, 0} } func (x *CSerializedCombatLog_Dictionary_DictString) GetId() uint32 { @@ -11809,7 +11662,7 @@ type CMsgServerToGCVictoryPredictions_PredictionItem struct { func (x *CMsgServerToGCVictoryPredictions_PredictionItem) Reset() { *x = CMsgServerToGCVictoryPredictions_PredictionItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[146] + mi := &file_dota_gcmessages_server_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11822,7 +11675,7 @@ func (x *CMsgServerToGCVictoryPredictions_PredictionItem) String() string { func (*CMsgServerToGCVictoryPredictions_PredictionItem) ProtoMessage() {} func (x *CMsgServerToGCVictoryPredictions_PredictionItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[146] + mi := &file_dota_gcmessages_server_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11835,7 +11688,7 @@ func (x *CMsgServerToGCVictoryPredictions_PredictionItem) ProtoReflect() protore // Deprecated: Use CMsgServerToGCVictoryPredictions_PredictionItem.ProtoReflect.Descriptor instead. func (*CMsgServerToGCVictoryPredictions_PredictionItem) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{47, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{42, 0} } func (x *CMsgServerToGCVictoryPredictions_PredictionItem) GetItemId() uint64 { @@ -11865,7 +11718,7 @@ type CMsgServerToGCVictoryPredictions_Record struct { func (x *CMsgServerToGCVictoryPredictions_Record) Reset() { *x = CMsgServerToGCVictoryPredictions_Record{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[147] + mi := &file_dota_gcmessages_server_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11878,7 +11731,7 @@ func (x *CMsgServerToGCVictoryPredictions_Record) String() string { func (*CMsgServerToGCVictoryPredictions_Record) ProtoMessage() {} func (x *CMsgServerToGCVictoryPredictions_Record) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[147] + mi := &file_dota_gcmessages_server_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11891,7 +11744,7 @@ func (x *CMsgServerToGCVictoryPredictions_Record) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgServerToGCVictoryPredictions_Record.ProtoReflect.Descriptor instead. func (*CMsgServerToGCVictoryPredictions_Record) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{47, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{42, 1} } func (x *CMsgServerToGCVictoryPredictions_Record) GetAccountId() uint32 { @@ -11928,7 +11781,7 @@ type CMsgServerToGCKillSummaries_KillSummary struct { func (x *CMsgServerToGCKillSummaries_KillSummary) Reset() { *x = CMsgServerToGCKillSummaries_KillSummary{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[148] + mi := &file_dota_gcmessages_server_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11941,7 +11794,7 @@ func (x *CMsgServerToGCKillSummaries_KillSummary) String() string { func (*CMsgServerToGCKillSummaries_KillSummary) ProtoMessage() {} func (x *CMsgServerToGCKillSummaries_KillSummary) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[148] + mi := &file_dota_gcmessages_server_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11954,7 +11807,7 @@ func (x *CMsgServerToGCKillSummaries_KillSummary) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgServerToGCKillSummaries_KillSummary.ProtoReflect.Descriptor instead. func (*CMsgServerToGCKillSummaries_KillSummary) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{54, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{49, 0} } func (x *CMsgServerToGCKillSummaries_KillSummary) GetKillerHeroId() uint32 { @@ -11993,7 +11846,7 @@ type CMsgSignOutUpdatePlayerChallenge_Challenge struct { func (x *CMsgSignOutUpdatePlayerChallenge_Challenge) Reset() { *x = CMsgSignOutUpdatePlayerChallenge_Challenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[149] + mi := &file_dota_gcmessages_server_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12006,7 +11859,7 @@ func (x *CMsgSignOutUpdatePlayerChallenge_Challenge) String() string { func (*CMsgSignOutUpdatePlayerChallenge_Challenge) ProtoMessage() {} func (x *CMsgSignOutUpdatePlayerChallenge_Challenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[149] + mi := &file_dota_gcmessages_server_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12019,7 +11872,7 @@ func (x *CMsgSignOutUpdatePlayerChallenge_Challenge) ProtoReflect() protoreflect // Deprecated: Use CMsgSignOutUpdatePlayerChallenge_Challenge.ProtoReflect.Descriptor instead. func (*CMsgSignOutUpdatePlayerChallenge_Challenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{56, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{51, 0} } func (x *CMsgSignOutUpdatePlayerChallenge_Challenge) GetEventId() EEvent { @@ -12070,7 +11923,7 @@ type CMsgSpendWager_Player struct { func (x *CMsgSpendWager_Player) Reset() { *x = CMsgSpendWager_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[150] + mi := &file_dota_gcmessages_server_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12083,7 +11936,7 @@ func (x *CMsgSpendWager_Player) String() string { func (*CMsgSpendWager_Player) ProtoMessage() {} func (x *CMsgSpendWager_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[150] + mi := &file_dota_gcmessages_server_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12096,7 +11949,7 @@ func (x *CMsgSpendWager_Player) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSpendWager_Player.ProtoReflect.Descriptor instead. func (*CMsgSpendWager_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{58, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{53, 0} } func (x *CMsgSpendWager_Player) GetAccountId() uint32 { @@ -12136,7 +11989,7 @@ type CMsgSignOutXPCoins_Player struct { func (x *CMsgSignOutXPCoins_Player) Reset() { *x = CMsgSignOutXPCoins_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[151] + mi := &file_dota_gcmessages_server_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12149,7 +12002,7 @@ func (x *CMsgSignOutXPCoins_Player) String() string { func (*CMsgSignOutXPCoins_Player) ProtoMessage() {} func (x *CMsgSignOutXPCoins_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[151] + mi := &file_dota_gcmessages_server_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12162,7 +12015,7 @@ func (x *CMsgSignOutXPCoins_Player) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutXPCoins_Player.ProtoReflect.Descriptor instead. func (*CMsgSignOutXPCoins_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{59, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{54, 0} } func (x *CMsgSignOutXPCoins_Player) GetAccountId() uint32 { @@ -12220,7 +12073,7 @@ type CMsgSignOutBounties_Bounty struct { func (x *CMsgSignOutBounties_Bounty) Reset() { *x = CMsgSignOutBounties_Bounty{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[152] + mi := &file_dota_gcmessages_server_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12233,7 +12086,7 @@ func (x *CMsgSignOutBounties_Bounty) String() string { func (*CMsgSignOutBounties_Bounty) ProtoMessage() {} func (x *CMsgSignOutBounties_Bounty) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[152] + mi := &file_dota_gcmessages_server_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12246,7 +12099,7 @@ func (x *CMsgSignOutBounties_Bounty) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutBounties_Bounty.ProtoReflect.Descriptor instead. func (*CMsgSignOutBounties_Bounty) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{60, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{55, 0} } func (x *CMsgSignOutBounties_Bounty) GetIssuerAccountId() uint32 { @@ -12282,7 +12135,7 @@ type CMsgSignOutCommunityGoalProgress_EventGoalIncrement struct { func (x *CMsgSignOutCommunityGoalProgress_EventGoalIncrement) Reset() { *x = CMsgSignOutCommunityGoalProgress_EventGoalIncrement{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[153] + mi := &file_dota_gcmessages_server_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12295,7 +12148,7 @@ func (x *CMsgSignOutCommunityGoalProgress_EventGoalIncrement) String() string { func (*CMsgSignOutCommunityGoalProgress_EventGoalIncrement) ProtoMessage() {} func (x *CMsgSignOutCommunityGoalProgress_EventGoalIncrement) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[153] + mi := &file_dota_gcmessages_server_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12308,7 +12161,7 @@ func (x *CMsgSignOutCommunityGoalProgress_EventGoalIncrement) ProtoReflect() pro // Deprecated: Use CMsgSignOutCommunityGoalProgress_EventGoalIncrement.ProtoReflect.Descriptor instead. func (*CMsgSignOutCommunityGoalProgress_EventGoalIncrement) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{61, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{56, 0} } func (x *CMsgSignOutCommunityGoalProgress_EventGoalIncrement) GetEventGoalId() uint32 { @@ -12338,7 +12191,7 @@ type CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult struct { func (x *CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult) Reset() { *x = CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[154] + mi := &file_dota_gcmessages_server_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12351,7 +12204,7 @@ func (x *CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult) Strin func (*CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult) ProtoMessage() {} func (x *CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[154] + mi := &file_dota_gcmessages_server_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12364,7 +12217,7 @@ func (x *CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult) Proto // Deprecated: Use CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{64, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{59, 0} } func (x *CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult) GetPredictionId() uint32 { @@ -12399,7 +12252,7 @@ type CMsgServerToGCCompendiumChosenInGamePredictions_Prediction struct { func (x *CMsgServerToGCCompendiumChosenInGamePredictions_Prediction) Reset() { *x = CMsgServerToGCCompendiumChosenInGamePredictions_Prediction{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[155] + mi := &file_dota_gcmessages_server_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12412,7 +12265,7 @@ func (x *CMsgServerToGCCompendiumChosenInGamePredictions_Prediction) String() st func (*CMsgServerToGCCompendiumChosenInGamePredictions_Prediction) ProtoMessage() {} func (x *CMsgServerToGCCompendiumChosenInGamePredictions_Prediction) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[155] + mi := &file_dota_gcmessages_server_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12425,7 +12278,7 @@ func (x *CMsgServerToGCCompendiumChosenInGamePredictions_Prediction) ProtoReflec // Deprecated: Use CMsgServerToGCCompendiumChosenInGamePredictions_Prediction.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCompendiumChosenInGamePredictions_Prediction) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{65, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{60, 0} } func (x *CMsgServerToGCCompendiumChosenInGamePredictions_Prediction) GetPredictionId() uint32 { @@ -12451,7 +12304,7 @@ type CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase struct { func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase) Reset() { *x = CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[156] + mi := &file_dota_gcmessages_server_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12464,7 +12317,7 @@ func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase) String() str func (*CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase) ProtoMessage() {} func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[156] + mi := &file_dota_gcmessages_server_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12477,7 +12330,7 @@ func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase) ProtoReflect // Deprecated: Use CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{67, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{62, 0} } func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase) GetItem() int32 { @@ -12540,7 +12393,7 @@ type CMsgServerToGCMatchPlayerItemPurchaseHistory_Player struct { func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_Player) Reset() { *x = CMsgServerToGCMatchPlayerItemPurchaseHistory_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[157] + mi := &file_dota_gcmessages_server_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12553,7 +12406,7 @@ func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_Player) String() string { func (*CMsgServerToGCMatchPlayerItemPurchaseHistory_Player) ProtoMessage() {} func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[157] + mi := &file_dota_gcmessages_server_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12566,7 +12419,7 @@ func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_Player) ProtoReflect() pro // Deprecated: Use CMsgServerToGCMatchPlayerItemPurchaseHistory_Player.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchPlayerItemPurchaseHistory_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{67, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{62, 1} } func (x *CMsgServerToGCMatchPlayerItemPurchaseHistory_Player) GetPlayerSlot() uint32 { @@ -12640,7 +12493,7 @@ type CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip struct { func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip) Reset() { *x = CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[158] + mi := &file_dota_gcmessages_server_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12653,7 +12506,7 @@ func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip) String() st func (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip) ProtoMessage() {} func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[158] + mi := &file_dota_gcmessages_server_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12666,7 +12519,7 @@ func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip) ProtoReflec // Deprecated: Use CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{68, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{63, 0} } func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip) GetItem() int32 { @@ -12719,7 +12572,7 @@ type CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player struct { func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player) Reset() { *x = CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[159] + mi := &file_dota_gcmessages_server_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12732,7 +12585,7 @@ func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player) String() strin func (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player) ProtoMessage() {} func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[159] + mi := &file_dota_gcmessages_server_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12745,7 +12598,7 @@ func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player) ProtoReflect() // Deprecated: Use CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{68, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{63, 1} } func (x *CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player) GetAccountId() uint32 { @@ -12802,7 +12655,7 @@ type CMsgServerToGCMatchStateHistory_PlayerState struct { func (x *CMsgServerToGCMatchStateHistory_PlayerState) Reset() { *x = CMsgServerToGCMatchStateHistory_PlayerState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[160] + mi := &file_dota_gcmessages_server_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12815,7 +12668,7 @@ func (x *CMsgServerToGCMatchStateHistory_PlayerState) String() string { func (*CMsgServerToGCMatchStateHistory_PlayerState) ProtoMessage() {} func (x *CMsgServerToGCMatchStateHistory_PlayerState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[160] + mi := &file_dota_gcmessages_server_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12828,7 +12681,7 @@ func (x *CMsgServerToGCMatchStateHistory_PlayerState) ProtoReflect() protoreflec // Deprecated: Use CMsgServerToGCMatchStateHistory_PlayerState.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchStateHistory_PlayerState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{69, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{64, 0} } func (x *CMsgServerToGCMatchStateHistory_PlayerState) GetHeroId() int32 { @@ -12914,7 +12767,7 @@ type CMsgServerToGCMatchStateHistory_TeamState struct { func (x *CMsgServerToGCMatchStateHistory_TeamState) Reset() { *x = CMsgServerToGCMatchStateHistory_TeamState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[161] + mi := &file_dota_gcmessages_server_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12927,7 +12780,7 @@ func (x *CMsgServerToGCMatchStateHistory_TeamState) String() string { func (*CMsgServerToGCMatchStateHistory_TeamState) ProtoMessage() {} func (x *CMsgServerToGCMatchStateHistory_TeamState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[161] + mi := &file_dota_gcmessages_server_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12940,7 +12793,7 @@ func (x *CMsgServerToGCMatchStateHistory_TeamState) ProtoReflect() protoreflect. // Deprecated: Use CMsgServerToGCMatchStateHistory_TeamState.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchStateHistory_TeamState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{69, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{64, 1} } func (x *CMsgServerToGCMatchStateHistory_TeamState) GetTeam() uint32 { @@ -13026,7 +12879,7 @@ type CMsgServerToGCMatchStateHistory_MatchState struct { func (x *CMsgServerToGCMatchStateHistory_MatchState) Reset() { *x = CMsgServerToGCMatchStateHistory_MatchState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[162] + mi := &file_dota_gcmessages_server_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13039,7 +12892,7 @@ func (x *CMsgServerToGCMatchStateHistory_MatchState) String() string { func (*CMsgServerToGCMatchStateHistory_MatchState) ProtoMessage() {} func (x *CMsgServerToGCMatchStateHistory_MatchState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[162] + mi := &file_dota_gcmessages_server_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13052,7 +12905,7 @@ func (x *CMsgServerToGCMatchStateHistory_MatchState) ProtoReflect() protoreflect // Deprecated: Use CMsgServerToGCMatchStateHistory_MatchState.ProtoReflect.Descriptor instead. func (*CMsgServerToGCMatchStateHistory_MatchState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{69, 2} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{64, 2} } func (x *CMsgServerToGCMatchStateHistory_MatchState) GetGameTime() uint32 { @@ -13096,7 +12949,7 @@ type CMsgServerToGCPlayerChallengeHistory_PlayerChallenge struct { func (x *CMsgServerToGCPlayerChallengeHistory_PlayerChallenge) Reset() { *x = CMsgServerToGCPlayerChallengeHistory_PlayerChallenge{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[163] + mi := &file_dota_gcmessages_server_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13109,7 +12962,7 @@ func (x *CMsgServerToGCPlayerChallengeHistory_PlayerChallenge) String() string { func (*CMsgServerToGCPlayerChallengeHistory_PlayerChallenge) ProtoMessage() {} func (x *CMsgServerToGCPlayerChallengeHistory_PlayerChallenge) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[163] + mi := &file_dota_gcmessages_server_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13122,7 +12975,7 @@ func (x *CMsgServerToGCPlayerChallengeHistory_PlayerChallenge) ProtoReflect() pr // Deprecated: Use CMsgServerToGCPlayerChallengeHistory_PlayerChallenge.ProtoReflect.Descriptor instead. func (*CMsgServerToGCPlayerChallengeHistory_PlayerChallenge) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{77, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{72, 0} } func (x *CMsgServerToGCPlayerChallengeHistory_PlayerChallenge) GetAccountId() uint32 { @@ -13207,7 +13060,7 @@ type CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults struct { func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults) Reset() { *x = CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[164] + mi := &file_dota_gcmessages_server_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13220,7 +13073,7 @@ func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults) String() stri func (*CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults) ProtoMessage() {} func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[164] + mi := &file_dota_gcmessages_server_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13233,7 +13086,7 @@ func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults) ProtoReflect( // Deprecated: Use CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults.ProtoReflect.Descriptor instead. func (*CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{78, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{73, 0} } func (x *CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults) GetPathIdCompleted() uint32 { @@ -13266,7 +13119,7 @@ type CMsgNeutralItemStats_NeutralItem struct { func (x *CMsgNeutralItemStats_NeutralItem) Reset() { *x = CMsgNeutralItemStats_NeutralItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[165] + mi := &file_dota_gcmessages_server_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13279,7 +13132,7 @@ func (x *CMsgNeutralItemStats_NeutralItem) String() string { func (*CMsgNeutralItemStats_NeutralItem) ProtoMessage() {} func (x *CMsgNeutralItemStats_NeutralItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[165] + mi := &file_dota_gcmessages_server_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13292,7 +13145,7 @@ func (x *CMsgNeutralItemStats_NeutralItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgNeutralItemStats_NeutralItem.ProtoReflect.Descriptor instead. func (*CMsgNeutralItemStats_NeutralItem) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{79, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{74, 0} } func (x *CMsgNeutralItemStats_NeutralItem) GetItemId() int32 { @@ -13350,7 +13203,7 @@ type CMsgGCToServerLobbyHeroBanRates_HeroBanEntry struct { func (x *CMsgGCToServerLobbyHeroBanRates_HeroBanEntry) Reset() { *x = CMsgGCToServerLobbyHeroBanRates_HeroBanEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[166] + mi := &file_dota_gcmessages_server_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13363,7 +13216,7 @@ func (x *CMsgGCToServerLobbyHeroBanRates_HeroBanEntry) String() string { func (*CMsgGCToServerLobbyHeroBanRates_HeroBanEntry) ProtoMessage() {} func (x *CMsgGCToServerLobbyHeroBanRates_HeroBanEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[166] + mi := &file_dota_gcmessages_server_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13376,7 +13229,7 @@ func (x *CMsgGCToServerLobbyHeroBanRates_HeroBanEntry) ProtoReflect() protorefle // Deprecated: Use CMsgGCToServerLobbyHeroBanRates_HeroBanEntry.ProtoReflect.Descriptor instead. func (*CMsgGCToServerLobbyHeroBanRates_HeroBanEntry) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{80, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{75, 0} } func (x *CMsgGCToServerLobbyHeroBanRates_HeroBanEntry) GetHeroId() int32 { @@ -13413,7 +13266,7 @@ type CMsgSignOutGuildContractProgress_CompletedGuildEventContracts struct { func (x *CMsgSignOutGuildContractProgress_CompletedGuildEventContracts) Reset() { *x = CMsgSignOutGuildContractProgress_CompletedGuildEventContracts{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[167] + mi := &file_dota_gcmessages_server_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13426,7 +13279,7 @@ func (x *CMsgSignOutGuildContractProgress_CompletedGuildEventContracts) String() func (*CMsgSignOutGuildContractProgress_CompletedGuildEventContracts) ProtoMessage() {} func (x *CMsgSignOutGuildContractProgress_CompletedGuildEventContracts) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[167] + mi := &file_dota_gcmessages_server_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13439,7 +13292,7 @@ func (x *CMsgSignOutGuildContractProgress_CompletedGuildEventContracts) ProtoRef // Deprecated: Use CMsgSignOutGuildContractProgress_CompletedGuildEventContracts.ProtoReflect.Descriptor instead. func (*CMsgSignOutGuildContractProgress_CompletedGuildEventContracts) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{81, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{76, 0} } func (x *CMsgSignOutGuildContractProgress_CompletedGuildEventContracts) GetGuildId() uint32 { @@ -13475,7 +13328,7 @@ type CMsgSignOutGuildContractProgress_PlayerContract struct { func (x *CMsgSignOutGuildContractProgress_PlayerContract) Reset() { *x = CMsgSignOutGuildContractProgress_PlayerContract{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[168] + mi := &file_dota_gcmessages_server_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13488,7 +13341,7 @@ func (x *CMsgSignOutGuildContractProgress_PlayerContract) String() string { func (*CMsgSignOutGuildContractProgress_PlayerContract) ProtoMessage() {} func (x *CMsgSignOutGuildContractProgress_PlayerContract) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[168] + mi := &file_dota_gcmessages_server_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13501,7 +13354,7 @@ func (x *CMsgSignOutGuildContractProgress_PlayerContract) ProtoReflect() protore // Deprecated: Use CMsgSignOutGuildContractProgress_PlayerContract.ProtoReflect.Descriptor instead. func (*CMsgSignOutGuildContractProgress_PlayerContract) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{81, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{76, 1} } func (x *CMsgSignOutGuildContractProgress_PlayerContract) GetAccountId() uint32 { @@ -13535,7 +13388,7 @@ type CMsgSignOutGuildChallengeProgress_ChallengeProgress struct { func (x *CMsgSignOutGuildChallengeProgress_ChallengeProgress) Reset() { *x = CMsgSignOutGuildChallengeProgress_ChallengeProgress{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[169] + mi := &file_dota_gcmessages_server_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13548,7 +13401,7 @@ func (x *CMsgSignOutGuildChallengeProgress_ChallengeProgress) String() string { func (*CMsgSignOutGuildChallengeProgress_ChallengeProgress) ProtoMessage() {} func (x *CMsgSignOutGuildChallengeProgress_ChallengeProgress) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[169] + mi := &file_dota_gcmessages_server_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13561,7 +13414,7 @@ func (x *CMsgSignOutGuildChallengeProgress_ChallengeProgress) ProtoReflect() pro // Deprecated: Use CMsgSignOutGuildChallengeProgress_ChallengeProgress.ProtoReflect.Descriptor instead. func (*CMsgSignOutGuildChallengeProgress_ChallengeProgress) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{82, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{77, 0} } func (x *CMsgSignOutGuildChallengeProgress_ChallengeProgress) GetGuildId() uint32 { @@ -13648,7 +13501,7 @@ type CMsgSignOutMVPStats_Player struct { func (x *CMsgSignOutMVPStats_Player) Reset() { *x = CMsgSignOutMVPStats_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[170] + mi := &file_dota_gcmessages_server_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13661,7 +13514,7 @@ func (x *CMsgSignOutMVPStats_Player) String() string { func (*CMsgSignOutMVPStats_Player) ProtoMessage() {} func (x *CMsgSignOutMVPStats_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[170] + mi := &file_dota_gcmessages_server_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13674,7 +13527,7 @@ func (x *CMsgSignOutMVPStats_Player) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutMVPStats_Player.ProtoReflect.Descriptor instead. func (*CMsgSignOutMVPStats_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{83, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{78, 0} } func (x *CMsgSignOutMVPStats_Player) GetTeamId() uint32 { @@ -13864,7 +13717,7 @@ type CMsgSignOutMVPStats_Player_KillEaterEvent struct { func (x *CMsgSignOutMVPStats_Player_KillEaterEvent) Reset() { *x = CMsgSignOutMVPStats_Player_KillEaterEvent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[171] + mi := &file_dota_gcmessages_server_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13877,7 +13730,7 @@ func (x *CMsgSignOutMVPStats_Player_KillEaterEvent) String() string { func (*CMsgSignOutMVPStats_Player_KillEaterEvent) ProtoMessage() {} func (x *CMsgSignOutMVPStats_Player_KillEaterEvent) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[171] + mi := &file_dota_gcmessages_server_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13890,7 +13743,7 @@ func (x *CMsgSignOutMVPStats_Player_KillEaterEvent) ProtoReflect() protoreflect. // Deprecated: Use CMsgSignOutMVPStats_Player_KillEaterEvent.ProtoReflect.Descriptor instead. func (*CMsgSignOutMVPStats_Player_KillEaterEvent) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{83, 0, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{78, 0, 0} } func (x *CMsgSignOutMVPStats_Player_KillEaterEvent) GetEventType() uint32 { @@ -13922,7 +13775,7 @@ type CMsgServerToGCGetGuildContractsResponse_ContractDetails struct { func (x *CMsgServerToGCGetGuildContractsResponse_ContractDetails) Reset() { *x = CMsgServerToGCGetGuildContractsResponse_ContractDetails{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[172] + mi := &file_dota_gcmessages_server_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13935,7 +13788,7 @@ func (x *CMsgServerToGCGetGuildContractsResponse_ContractDetails) String() strin func (*CMsgServerToGCGetGuildContractsResponse_ContractDetails) ProtoMessage() {} func (x *CMsgServerToGCGetGuildContractsResponse_ContractDetails) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[172] + mi := &file_dota_gcmessages_server_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13948,7 +13801,7 @@ func (x *CMsgServerToGCGetGuildContractsResponse_ContractDetails) ProtoReflect() // Deprecated: Use CMsgServerToGCGetGuildContractsResponse_ContractDetails.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetGuildContractsResponse_ContractDetails) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{86, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{81, 0} } func (x *CMsgServerToGCGetGuildContractsResponse_ContractDetails) GetContractId() uint64 { @@ -14000,7 +13853,7 @@ type CMsgServerToGCGetGuildContractsResponse_Player struct { func (x *CMsgServerToGCGetGuildContractsResponse_Player) Reset() { *x = CMsgServerToGCGetGuildContractsResponse_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[173] + mi := &file_dota_gcmessages_server_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14013,7 +13866,7 @@ func (x *CMsgServerToGCGetGuildContractsResponse_Player) String() string { func (*CMsgServerToGCGetGuildContractsResponse_Player) ProtoMessage() {} func (x *CMsgServerToGCGetGuildContractsResponse_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[173] + mi := &file_dota_gcmessages_server_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14026,7 +13879,7 @@ func (x *CMsgServerToGCGetGuildContractsResponse_Player) ProtoReflect() protoref // Deprecated: Use CMsgServerToGCGetGuildContractsResponse_Player.ProtoReflect.Descriptor instead. func (*CMsgServerToGCGetGuildContractsResponse_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{86, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{81, 1} } func (x *CMsgServerToGCGetGuildContractsResponse_Player) GetAccountId() uint32 { @@ -14069,7 +13922,7 @@ type CMsgMatchDiretideCandy_CandyDetails struct { func (x *CMsgMatchDiretideCandy_CandyDetails) Reset() { *x = CMsgMatchDiretideCandy_CandyDetails{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[174] + mi := &file_dota_gcmessages_server_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14082,7 +13935,7 @@ func (x *CMsgMatchDiretideCandy_CandyDetails) String() string { func (*CMsgMatchDiretideCandy_CandyDetails) ProtoMessage() {} func (x *CMsgMatchDiretideCandy_CandyDetails) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[174] + mi := &file_dota_gcmessages_server_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14095,7 +13948,7 @@ func (x *CMsgMatchDiretideCandy_CandyDetails) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgMatchDiretideCandy_CandyDetails.ProtoReflect.Descriptor instead. func (*CMsgMatchDiretideCandy_CandyDetails) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{87, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{82, 0} } func (x *CMsgMatchDiretideCandy_CandyDetails) GetAmount() uint32 { @@ -14126,7 +13979,7 @@ type CMsgMatchDiretideCandy_PlayerCandy struct { func (x *CMsgMatchDiretideCandy_PlayerCandy) Reset() { *x = CMsgMatchDiretideCandy_PlayerCandy{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[175] + mi := &file_dota_gcmessages_server_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14139,7 +13992,7 @@ func (x *CMsgMatchDiretideCandy_PlayerCandy) String() string { func (*CMsgMatchDiretideCandy_PlayerCandy) ProtoMessage() {} func (x *CMsgMatchDiretideCandy_PlayerCandy) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[175] + mi := &file_dota_gcmessages_server_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14152,7 +14005,7 @@ func (x *CMsgMatchDiretideCandy_PlayerCandy) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgMatchDiretideCandy_PlayerCandy.ProtoReflect.Descriptor instead. func (*CMsgMatchDiretideCandy_PlayerCandy) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{87, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{82, 1} } func (x *CMsgMatchDiretideCandy_PlayerCandy) GetAccountId() uint32 { @@ -14195,7 +14048,7 @@ type CMsgGCToServerCheerData_CheerTypeCount struct { func (x *CMsgGCToServerCheerData_CheerTypeCount) Reset() { *x = CMsgGCToServerCheerData_CheerTypeCount{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[176] + mi := &file_dota_gcmessages_server_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14208,7 +14061,7 @@ func (x *CMsgGCToServerCheerData_CheerTypeCount) String() string { func (*CMsgGCToServerCheerData_CheerTypeCount) ProtoMessage() {} func (x *CMsgGCToServerCheerData_CheerTypeCount) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[176] + mi := &file_dota_gcmessages_server_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14221,7 +14074,7 @@ func (x *CMsgGCToServerCheerData_CheerTypeCount) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCToServerCheerData_CheerTypeCount.ProtoReflect.Descriptor instead. func (*CMsgGCToServerCheerData_CheerTypeCount) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{88, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{83, 0} } func (x *CMsgGCToServerCheerData_CheerTypeCount) GetCheerType() uint32 { @@ -14250,7 +14103,7 @@ type CMsgServerToGCGetStickerHeroesResponse_Player struct { func (x *CMsgServerToGCGetStickerHeroesResponse_Player) Reset() { *x = CMsgServerToGCGetStickerHeroesResponse_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[177] + mi := &file_dota_gcmessages_server_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14263,7 +14116,65 @@ func (x *CMsgServerToGCGetStickerHeroesResponse_Player) String() string { func (*CMsgServerToGCGetStickerHeroesResponse_Player) ProtoMessage() {} func (x *CMsgServerToGCGetStickerHeroesResponse_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[177] + mi := &file_dota_gcmessages_server_proto_msgTypes[174] + 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 CMsgServerToGCGetStickerHeroesResponse_Player.ProtoReflect.Descriptor instead. +func (*CMsgServerToGCGetStickerHeroesResponse_Player) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{94, 0} +} + +func (x *CMsgServerToGCGetStickerHeroesResponse_Player) GetAccountId() uint32 { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return 0 +} + +func (x *CMsgServerToGCGetStickerHeroesResponse_Player) GetStickers() *CMsgStickerHeroes { + if x != nil { + return x.Stickers + } + return nil +} + +type CMsgSteamLearnMatchInfoTeam_Player struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrematchMmr *uint32 `protobuf:"varint,1,opt,name=prematch_mmr,json=prematchMmr" json:"prematch_mmr,omitempty"` + PrematchRankUncertainty *uint32 `protobuf:"varint,2,opt,name=prematch_rank_uncertainty,json=prematchRankUncertainty" json:"prematch_rank_uncertainty,omitempty"` + PrematchBehaviorScore *uint32 `protobuf:"varint,3,opt,name=prematch_behavior_score,json=prematchBehaviorScore" json:"prematch_behavior_score,omitempty"` + PrematchCommScore *uint32 `protobuf:"varint,4,opt,name=prematch_comm_score,json=prematchCommScore" json:"prematch_comm_score,omitempty"` + NumPlayersInParty *uint32 `protobuf:"varint,5,opt,name=num_players_in_party,json=numPlayersInParty" json:"num_players_in_party,omitempty"` +} + +func (x *CMsgSteamLearnMatchInfoTeam_Player) Reset() { + *x = CMsgSteamLearnMatchInfoTeam_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_server_proto_msgTypes[175] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearnMatchInfoTeam_Player) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearnMatchInfoTeam_Player) ProtoMessage() {} + +func (x *CMsgSteamLearnMatchInfoTeam_Player) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14271,26 +14182,47 @@ func (x *CMsgServerToGCGetStickerHeroesResponse_Player) ProtoReflect() protorefl } return ms } - return mi.MessageOf(x) + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearnMatchInfoTeam_Player.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearnMatchInfoTeam_Player) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{97, 0} +} + +func (x *CMsgSteamLearnMatchInfoTeam_Player) GetPrematchMmr() uint32 { + if x != nil && x.PrematchMmr != nil { + return *x.PrematchMmr + } + return 0 } -// Deprecated: Use CMsgServerToGCGetStickerHeroesResponse_Player.ProtoReflect.Descriptor instead. -func (*CMsgServerToGCGetStickerHeroesResponse_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{99, 0} +func (x *CMsgSteamLearnMatchInfoTeam_Player) GetPrematchRankUncertainty() uint32 { + if x != nil && x.PrematchRankUncertainty != nil { + return *x.PrematchRankUncertainty + } + return 0 } -func (x *CMsgServerToGCGetStickerHeroesResponse_Player) GetAccountId() uint32 { - if x != nil && x.AccountId != nil { - return *x.AccountId +func (x *CMsgSteamLearnMatchInfoTeam_Player) GetPrematchBehaviorScore() uint32 { + if x != nil && x.PrematchBehaviorScore != nil { + return *x.PrematchBehaviorScore } return 0 } -func (x *CMsgServerToGCGetStickerHeroesResponse_Player) GetStickers() *CMsgStickerHeroes { - if x != nil { - return x.Stickers +func (x *CMsgSteamLearnMatchInfoTeam_Player) GetPrematchCommScore() uint32 { + if x != nil && x.PrematchCommScore != nil { + return *x.PrematchCommScore } - return nil + return 0 +} + +func (x *CMsgSteamLearnMatchInfoTeam_Player) GetNumPlayersInParty() uint32 { + if x != nil && x.NumPlayersInParty != nil { + return *x.NumPlayersInParty + } + return 0 } type CMsgSteamLearnPlayerTimedStats_StatBucket struct { @@ -14315,7 +14247,7 @@ type CMsgSteamLearnPlayerTimedStats_StatBucket struct { func (x *CMsgSteamLearnPlayerTimedStats_StatBucket) Reset() { *x = CMsgSteamLearnPlayerTimedStats_StatBucket{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[178] + mi := &file_dota_gcmessages_server_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14328,7 +14260,7 @@ func (x *CMsgSteamLearnPlayerTimedStats_StatBucket) String() string { func (*CMsgSteamLearnPlayerTimedStats_StatBucket) ProtoMessage() {} func (x *CMsgSteamLearnPlayerTimedStats_StatBucket) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[178] + mi := &file_dota_gcmessages_server_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14341,7 +14273,7 @@ func (x *CMsgSteamLearnPlayerTimedStats_StatBucket) ProtoReflect() protoreflect. // Deprecated: Use CMsgSteamLearnPlayerTimedStats_StatBucket.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnPlayerTimedStats_StatBucket) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{106, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{100, 0} } func (x *CMsgSteamLearnPlayerTimedStats_StatBucket) GetGameTime() float32 { @@ -14448,7 +14380,7 @@ type CMsgSteamLearnMatchStateV5_PlayerState struct { func (x *CMsgSteamLearnMatchStateV5_PlayerState) Reset() { *x = CMsgSteamLearnMatchStateV5_PlayerState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[179] + mi := &file_dota_gcmessages_server_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14461,7 +14393,7 @@ func (x *CMsgSteamLearnMatchStateV5_PlayerState) String() string { func (*CMsgSteamLearnMatchStateV5_PlayerState) ProtoMessage() {} func (x *CMsgSteamLearnMatchStateV5_PlayerState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[179] + mi := &file_dota_gcmessages_server_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14474,7 +14406,7 @@ func (x *CMsgSteamLearnMatchStateV5_PlayerState) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgSteamLearnMatchStateV5_PlayerState.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnMatchStateV5_PlayerState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{107, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{101, 0} } func (x *CMsgSteamLearnMatchStateV5_PlayerState) GetHeroId() int32 { @@ -14567,7 +14499,7 @@ type CMsgSteamLearnMatchStateV5_TeamState struct { func (x *CMsgSteamLearnMatchStateV5_TeamState) Reset() { *x = CMsgSteamLearnMatchStateV5_TeamState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[180] + mi := &file_dota_gcmessages_server_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14580,7 +14512,7 @@ func (x *CMsgSteamLearnMatchStateV5_TeamState) String() string { func (*CMsgSteamLearnMatchStateV5_TeamState) ProtoMessage() {} func (x *CMsgSteamLearnMatchStateV5_TeamState) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[180] + mi := &file_dota_gcmessages_server_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14593,7 +14525,7 @@ func (x *CMsgSteamLearnMatchStateV5_TeamState) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgSteamLearnMatchStateV5_TeamState.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnMatchStateV5_TeamState) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{107, 1} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{101, 1} } func (x *CMsgSteamLearnMatchStateV5_TeamState) GetTeam() uint32 { @@ -14678,7 +14610,7 @@ type CMsgSteamLearnWardPlacement_Location struct { func (x *CMsgSteamLearnWardPlacement_Location) Reset() { *x = CMsgSteamLearnWardPlacement_Location{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[181] + mi := &file_dota_gcmessages_server_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14691,7 +14623,7 @@ func (x *CMsgSteamLearnWardPlacement_Location) String() string { func (*CMsgSteamLearnWardPlacement_Location) ProtoMessage() {} func (x *CMsgSteamLearnWardPlacement_Location) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[181] + mi := &file_dota_gcmessages_server_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14704,7 +14636,7 @@ func (x *CMsgSteamLearnWardPlacement_Location) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgSteamLearnWardPlacement_Location.ProtoReflect.Descriptor instead. func (*CMsgSteamLearnWardPlacement_Location) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{114, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{110, 0} } func (x *CMsgSteamLearnWardPlacement_Location) GetX() float32 { @@ -14733,7 +14665,7 @@ type CMsgSignOutMapStats_Player struct { func (x *CMsgSignOutMapStats_Player) Reset() { *x = CMsgSignOutMapStats_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[182] + mi := &file_dota_gcmessages_server_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14746,7 +14678,7 @@ func (x *CMsgSignOutMapStats_Player) String() string { func (*CMsgSignOutMapStats_Player) ProtoMessage() {} func (x *CMsgSignOutMapStats_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[182] + mi := &file_dota_gcmessages_server_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14759,7 +14691,7 @@ func (x *CMsgSignOutMapStats_Player) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutMapStats_Player.ProtoReflect.Descriptor instead. func (*CMsgSignOutMapStats_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{116, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{112, 0} } func (x *CMsgSignOutMapStats_Player) GetAccountId() uint32 { @@ -14789,7 +14721,7 @@ type CMsgSignOutOverworld_Player struct { func (x *CMsgSignOutOverworld_Player) Reset() { *x = CMsgSignOutOverworld_Player{} if protoimpl.UnsafeEnabled { - mi := &file_dota_gcmessages_server_proto_msgTypes[183] + mi := &file_dota_gcmessages_server_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14802,7 +14734,7 @@ func (x *CMsgSignOutOverworld_Player) String() string { func (*CMsgSignOutOverworld_Player) ProtoMessage() {} func (x *CMsgSignOutOverworld_Player) ProtoReflect() protoreflect.Message { - mi := &file_dota_gcmessages_server_proto_msgTypes[183] + mi := &file_dota_gcmessages_server_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14815,7 +14747,7 @@ func (x *CMsgSignOutOverworld_Player) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSignOutOverworld_Player.ProtoReflect.Descriptor instead. func (*CMsgSignOutOverworld_Player) Descriptor() ([]byte, []int) { - return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{119, 0} + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{115, 0} } func (x *CMsgSignOutOverworld_Player) GetAccountId() uint32 { @@ -14839,6 +14771,61 @@ func (x *CMsgSignOutOverworld_Player) GetDesiredTokenRewards() []uint32 { return nil } +type CMsgSignOutCraftworks_Player struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountId *uint32 `protobuf:"varint,1,opt,name=account_id,json=accountId" json:"account_id,omitempty"` + Components *CMsgCraftworksComponents `protobuf:"bytes,2,opt,name=components" json:"components,omitempty"` +} + +func (x *CMsgSignOutCraftworks_Player) Reset() { + *x = CMsgSignOutCraftworks_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_gcmessages_server_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSignOutCraftworks_Player) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSignOutCraftworks_Player) ProtoMessage() {} + +func (x *CMsgSignOutCraftworks_Player) ProtoReflect() protoreflect.Message { + mi := &file_dota_gcmessages_server_proto_msgTypes[182] + 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 CMsgSignOutCraftworks_Player.ProtoReflect.Descriptor instead. +func (*CMsgSignOutCraftworks_Player) Descriptor() ([]byte, []int) { + return file_dota_gcmessages_server_proto_rawDescGZIP(), []int{116, 0} +} + +func (x *CMsgSignOutCraftworks_Player) GetAccountId() uint32 { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return 0 +} + +func (x *CMsgSignOutCraftworks_Player) GetComponents() *CMsgCraftworksComponents { + if x != nil { + return x.Components + } + return nil +} + var File_dota_gcmessages_server_proto protoreflect.FileDescriptor var file_dota_gcmessages_server_proto_rawDesc = []byte{ @@ -14851,16 +14838,20 @@ var file_dota_gcmessages_server_proto_rawDesc = []byte{ 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x65, 0x63, 0x6f, 0x6e, 0x5f, 0x67, 0x63, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, - 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x64, 0x6f, - 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x64, 0x6f, 0x74, - 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2e, 0x70, 0x72, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, + 0x62, 0x61, 0x73, 0x65, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x22, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x26, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x64, 0x6f, 0x74, 0x61, + 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, @@ -15174,7 +15165,7 @@ var file_dota_gcmessages_server_proto_rawDesc = []byte{ 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x43, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xac, 0x31, 0x0a, + 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xd9, 0x31, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, @@ -15286,7 +15277,7 @@ var file_dota_gcmessages_server_proto_rawDesc = []byte{ 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x52, 0x11, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xe1, 0x1c, + 0x68, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x8e, 0x1d, 0x0a, 0x05, 0x43, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, @@ -15296,7 +15287,7 @@ var file_dota_gcmessages_server_proto_rawDesc = []byte{ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x1a, 0xce, 0x1b, 0x0a, 0x07, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, + 0x1a, 0xfb, 0x1b, 0x0a, 0x07, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, @@ -15495,2109 +15486,2127 @@ var file_dota_gcmessages_server_proto_rawDesc = []byte{ 0x64, 0x69, 0x63, 0x74, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x61, 0x63, 0x65, - 0x74, 0x1a, 0x46, 0x0a, 0x0f, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x61, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x65, 0x61, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0xba, 0x01, 0x0a, 0x12, 0x48, 0x65, - 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x52, 0x65, 0x64, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, - 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0b, - 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x2e, 0x43, 0x54, - 0x65, 0x61, 0x6d, 0x2e, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x72, 0x6f, - 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x6d, 0x61, - 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x45, 0x52, 0x4f, - 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, - 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, - 0x45, 0x5f, 0x4d, 0x41, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, - 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x55, 0x52, 0x45, 0x10, - 0x02, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xb1, 0x01, 0x0a, 0x15, 0x43, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, - 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3e, 0x0a, 0x0f, 0x43, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, - 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xfc, 0x01, 0x0a, 0x19, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, - 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, - 0x61, 0x6d, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, - 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x31, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, - 0x31, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, - 0x74, 0x61, 0x32, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x33, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x44, 0x61, 0x74, 0x61, 0x33, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, - 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x34, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x35, 0x1a, 0x8f, 0x02, 0x0a, 0x0d, 0x57, 0x61, - 0x72, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, - 0x65, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x63, 0x72, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, - 0x73, 0x68, 0x61, 0x6e, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x58, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x22, 0xc6, 0x01, 0x0a, 0x14, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x44, 0x72, 0x61, 0x66, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, - 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, - 0x74, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x35, 0x0a, 0x17, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, - 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x14, 0x64, 0x69, 0x72, 0x65, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, - 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x73, - 0x42, 0x61, 0x6e, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, - 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x65, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x65, 0x61, 0x74, 0x73, 0x12, 0x4d, - 0x0a, 0x16, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, - 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, - 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x14, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, - 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x62, - 0x62, 0x79, 0x12, 0x47, 0x0a, 0x13, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, - 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, - 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x17, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x78, 0x74, 0x4d, - 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x12, 0x74, 0x65, 0x78, 0x74, 0x5f, - 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x10, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x1a, 0x76, 0x0a, 0x0f, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x0a, 0x10, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, - 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x75, 0x73, 0x65, - 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, - 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd5, 0x07, 0x0a, - 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, - 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2e, 0x0a, - 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x63, 0x6c, 0x61, - 0x69, 0x6d, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x2a, 0x0a, - 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x67, 0x69, 0x76, - 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, - 0x6c, 0x6f, 0x6f, 0x64, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x75, - 0x72, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x73, 0x4b, 0x69, 0x6c, 0x6c, - 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x65, 0x67, 0x69, 0x73, 0x65, 0x73, 0x5f, 0x73, 0x6e, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x65, - 0x67, 0x69, 0x73, 0x65, 0x73, 0x53, 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, - 0x0d, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0x73, 0x5f, 0x65, 0x61, 0x74, 0x65, 0x6e, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0x73, 0x45, 0x61, 0x74, - 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x65, 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x65, - 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x67, - 0x68, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, - 0x66, 0x69, 0x67, 0x68, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, - 0x72, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, - 0x66, 0x61, 0x72, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, - 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, - 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, - 0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, - 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, - 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x67, 0x70, 0x6d, 0x12, 0x12, 0x0a, 0x04, - 0x78, 0x70, 0x70, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x78, 0x70, 0x70, 0x6d, - 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x18, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x64, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x1a, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x68, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, - 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, - 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x57, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x07, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, - 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0xcd, 0x06, - 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, - 0x78, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x50, - 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, - 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, - 0x65, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x1b, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x69, 0x6e, 0x67, - 0x73, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, - 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, - 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77, - 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x75, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x75, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, - 0x6e, 0x65, 0x73, 0x5f, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x44, 0x72, 0x61, 0x77, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x68, - 0x61, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x74, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, - 0x68, 0x61, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x75, 0x74, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x0c, 0x70, 0x69, 0x6e, - 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, - 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x5f, 0x73, 0x6f, 0x6c, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, - 0x6f, 0x6d, 0x6d, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x6f, 0x6c, 0x6f, 0x12, 0x2a, - 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x6d, - 0x61, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x73, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x4d, 0x61, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, - 0x61, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, - 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x1a, 0x36, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8e, 0x09, - 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x61, 0x6c, 0x74, 0x12, 0x50, 0x0a, 0x14, 0x74, 0x69, - 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x44, 0x0a, 0x11, - 0x78, 0x70, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x53, 0x4f, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x0f, 0x78, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x30, - 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0c, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x10, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x08, 0x6d, 0x76, 0x70, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x6d, 0x76, 0x70, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x6f, 0x77, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x77, 0x5f, - 0x73, 0x61, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x6f, 0x77, 0x53, 0x61, - 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6f, 0x77, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, - 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x73, 0x1a, 0xd9, 0x03, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x22, - 0x0a, 0x0d, 0x61, 0x76, 0x67, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x58, - 0x31, 0x36, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, - 0x5f, 0x78, 0x31, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x44, - 0x65, 0x61, 0x74, 0x68, 0x73, 0x58, 0x31, 0x36, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, - 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x67, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x58, 0x31, 0x36, - 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x67, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x67, 0x47, 0x70, 0x6d, 0x58, 0x31, 0x36, - 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x78, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x67, 0x58, 0x70, 0x6d, 0x58, 0x31, 0x36, - 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x78, - 0x31, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x4b, 0x69, - 0x6c, 0x6c, 0x73, 0x58, 0x31, 0x36, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x61, - 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x58, 0x31, 0x36, - 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x47, 0x70, 0x6d, 0x58, - 0x31, 0x36, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x78, 0x70, 0x6d, 0x5f, 0x78, - 0x31, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x58, 0x70, - 0x6d, 0x58, 0x31, 0x36, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x69, 0x6e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6b, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x5f, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x65, - 0x73, 0x74, 0x57, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x67, - 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x6c, - 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x14, 0x74, 0x69, - 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xbf, 0x01, 0x0a, - 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, - 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, - 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x57, 0x61, 0x69, 0x74, 0x65, 0x64, 0x22, 0xb0, - 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x62, 0x61, 0x6e, - 0x64, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x75, - 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x72, 0x65, 0x74, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, - 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0xb4, 0x09, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x66, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x10, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, - 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x31, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, - 0x52, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0e, - 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, - 0x0a, 0x18, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, - 0x52, 0x15, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x19, - 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x6d, 0x61, 0x78, - 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x61, 0x78, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x02, 0x52, - 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x2b, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x02, 0x52, - 0x25, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x27, 0x6d, 0x61, 0x78, 0x5f, 0x77, 0x61, - 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x02, 0x52, 0x21, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x69, 0x74, - 0x46, 0x6f, 0x72, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x0f, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x77, - 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, - 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x6d, - 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x03, 0x28, 0x02, 0x52, 0x16, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, - 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, - 0x20, 0x03, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, - 0x03, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x6c, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, - 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x03, 0x28, 0x02, 0x52, - 0x1a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, - 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x03, 0x28, 0x02, 0x52, 0x16, - 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x60, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, - 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x61, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x61, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x61, - 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x76, - 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6f, - 0x42, 0x61, 0x6e, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x22, 0xfb, 0x0d, 0x0a, 0x1c, 0x43, 0x4d, 0x73, - 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, - 0x0a, 0x12, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x6f, 0x75, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x6c, 0x74, 0x76, - 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x68, 0x6c, - 0x74, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x44, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x67, 0x6f, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, - 0x65, 0x61, 0x6d, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x47, 0x6f, 0x6f, 0x64, 0x12, 0x42, 0x0a, - 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, - 0x69, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x42, 0x61, - 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, - 0x61, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x12, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x1a, 0xd8, 0x0a, 0x0a, 0x04, - 0x54, 0x65, 0x61, 0x6d, 0x12, 0x48, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x6e, + 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x46, + 0x0a, 0x0f, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0xba, 0x01, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x44, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x74, + 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0b, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x2e, 0x43, 0x54, 0x65, 0x61, 0x6d, + 0x2e, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, + 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x00, 0x12, + 0x17, 0x0a, 0x13, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4d, + 0x41, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x45, 0x52, 0x4f, + 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x55, 0x52, 0x45, 0x10, 0x02, 0x1a, 0x43, + 0x0a, 0x15, 0x43, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x67, + 0x6e, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x1a, 0xb1, 0x01, 0x0a, 0x15, 0x43, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x46, + 0x65, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, + 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3e, 0x0a, 0x0f, 0x43, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xfc, 0x01, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, + 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0c, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x31, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x31, 0x12, 0x20, + 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x32, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x32, + 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x33, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, + 0x61, 0x33, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, + 0x61, 0x74, 0x61, 0x34, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x44, 0x61, 0x74, 0x61, 0x35, 0x1a, 0x8f, 0x02, 0x0a, 0x0d, 0x57, 0x61, 0x72, 0x64, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x73, 0x68, 0x61, + 0x6e, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, + 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x58, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x22, 0xc6, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x70, + 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x61, + 0x70, 0x74, 0x61, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, + 0x0a, 0x17, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x14, 0x64, 0x69, 0x72, 0x65, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x62, + 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x42, 0x61, 0x6e, + 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, + 0x74, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x63, 0x68, 0x65, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x68, 0x65, 0x61, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x16, 0x62, + 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x52, 0x14, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, + 0x47, 0x0a, 0x13, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x11, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x44, 0x69, 0x72, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x12, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x75, 0x74, + 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, + 0x4f, 0x75, 0x74, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x10, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x1a, 0x76, 0x0a, 0x0f, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, + 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x75, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x54, 0x65, + 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, + 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd5, 0x07, 0x0a, 0x16, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, + 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, + 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x6c, + 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, + 0x72, 0x69, 0x70, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, + 0x6f, 0x6f, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, + 0x64, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, + 0x72, 0x73, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, + 0x29, 0x0a, 0x10, 0x61, 0x65, 0x67, 0x69, 0x73, 0x65, 0x73, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x65, 0x67, 0x69, 0x73, + 0x65, 0x73, 0x53, 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, + 0x65, 0x65, 0x73, 0x65, 0x73, 0x5f, 0x65, 0x61, 0x74, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0x73, 0x45, 0x61, 0x74, 0x65, 0x6e, 0x12, + 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x65, 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x65, 0x70, 0x73, 0x53, + 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x69, 0x67, + 0x68, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x72, 0x6d, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x61, 0x72, + 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x75, 0x73, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x09, 0x70, 0x75, 0x73, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, + 0x6c, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, + 0x73, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, + 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x6d, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x67, 0x70, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x70, 0x70, + 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x78, 0x70, 0x70, 0x6d, 0x12, 0x1b, 0x0a, + 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x05, 0x68, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x61, 0x70, 0x69, + 0x65, 0x72, 0x73, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x50, 0x75, 0x72, 0x63, + 0x68, 0x61, 0x73, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x61, + 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, + 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x22, 0xc6, 0x07, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0xcd, 0x06, 0x0a, 0x13, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x70, + 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x50, 0x69, 0x6e, 0x67, + 0x73, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x0e, + 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x6d, + 0x61, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6d, 0x61, + 0x78, 0x54, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, + 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x5f, 0x63, + 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x65, + 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x63, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, + 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x75, + 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x5f, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x69, + 0x6e, 0x65, 0x73, 0x44, 0x72, 0x61, 0x77, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x74, 0x53, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, + 0x4d, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6d, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x4d, 0x75, 0x74, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, + 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, + 0x73, 0x6f, 0x6c, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, + 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x6f, 0x6c, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x63, + 0x6f, 0x6d, 0x6d, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x73, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x73, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x4d, 0x61, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x74, 0x5f, + 0x6c, 0x6f, 0x67, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x74, 0x4c, + 0x6f, 0x67, 0x1a, 0x36, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xf6, 0x07, 0x0a, 0x1c, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, + 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x79, 0x53, 0x61, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x5c, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, + 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, + 0x08, 0x6d, 0x76, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x07, 0x6d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x77, 0x5f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x0c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x17, + 0x0a, 0x07, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x06, 0x6f, 0x77, 0x53, 0x61, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x77, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6f, + 0x77, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x6f, 0x76, 0x65, + 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x1a, 0xd9, 0x03, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, + 0x6f, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x76, 0x67, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, + 0x5f, 0x78, 0x31, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x58, 0x31, 0x36, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x64, + 0x65, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x61, 0x76, 0x67, 0x44, 0x65, 0x61, 0x74, 0x68, 0x73, 0x58, 0x31, 0x36, 0x12, 0x26, 0x0a, + 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x5f, 0x78, 0x31, 0x36, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x67, 0x41, 0x73, 0x73, 0x69, 0x73, + 0x74, 0x73, 0x58, 0x31, 0x36, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x67, 0x70, 0x6d, + 0x5f, 0x78, 0x31, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x67, 0x47, + 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x78, 0x70, 0x6d, + 0x5f, 0x78, 0x31, 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x67, 0x58, + 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x6b, 0x69, + 0x6c, 0x6c, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, + 0x65, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x58, 0x31, 0x36, 0x12, 0x28, 0x0a, 0x10, 0x62, + 0x65, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x69, 0x73, + 0x74, 0x73, 0x58, 0x31, 0x36, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x67, 0x70, + 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x65, 0x73, + 0x74, 0x47, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x5f, + 0x78, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, + 0x65, 0x73, 0x74, 0x58, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x6e, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, + 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x65, 0x73, 0x74, + 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x57, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, + 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x57, + 0x61, 0x69, 0x74, 0x65, 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, + 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x67, + 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x6f, + 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, + 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x72, + 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x74, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x61, + 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x27, + 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb4, 0x09, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x50, + 0x65, 0x72, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x02, 0x52, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x6d, + 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, + 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x78, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x76, 0x65, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, 0x12, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, + 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x15, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, + 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, + 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3f, 0x0a, 0x1c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x19, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x37, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x02, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x76, 0x65, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0b, 0x20, 0x03, 0x28, 0x02, 0x52, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, + 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x5a, 0x0a, 0x2b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x61, 0x69, + 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x02, 0x52, 0x25, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x57, + 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x54, + 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, + 0x27, 0x6d, 0x61, 0x78, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x02, 0x52, 0x21, + 0x6d, 0x61, 0x78, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x77, 0x61, + 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x77, 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, + 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, + 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, + 0x20, 0x03, 0x28, 0x02, 0x52, 0x16, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, + 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, + 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x03, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x61, 0x78, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x2a, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, + 0x61, 0x67, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, + 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x03, + 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x41, 0x0a, 0x1d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x15, 0x20, 0x03, 0x28, 0x02, 0x52, 0x1a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x16, 0x20, 0x03, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x60, 0x0a, + 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, + 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x61, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x08, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x22, + 0xfb, 0x0d, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, 0x76, 0x65, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1d, 0x0a, 0x0a, 0x68, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x68, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x44, + 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x67, 0x6f, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, + 0x47, 0x6f, 0x6f, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x61, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, + 0x07, 0x74, 0x65, 0x61, 0x6d, 0x42, 0x61, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x6f, 0x73, 0x68, + 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x61, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, + 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, + 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x64, 0x1a, 0xd8, 0x0a, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x48, 0x0a, 0x07, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, 0x76, 0x65, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x69, 0x63, 0x6b, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, + 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x61, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x73, 0x1a, + 0xeb, 0x08, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, + 0x68, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, + 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, + 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x6f, 0x6c, + 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x0a, 0x78, + 0x70, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x78, 0x70, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x67, 0x0a, 0x0e, 0x75, 0x6c, 0x74, + 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x0d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x63, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x75, + 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x30, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x30, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x31, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x32, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x32, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x33, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x33, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x34, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x34, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x35, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x35, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, + 0x61, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x58, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x79, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, + 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x74, 0x68, 0x12, 0x58, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x77, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, - 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, - 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x68, - 0x65, 0x72, 0x6f, 0x5f, 0x62, 0x61, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, - 0x68, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x73, 0x1a, 0xeb, 0x08, 0x0a, 0x06, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, - 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, - 0x69, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, - 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, - 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x50, 0x65, - 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x0a, 0x78, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, - 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x78, 0x70, 0x50, 0x65, 0x72, 0x4d, - 0x69, 0x6e, 0x12, 0x67, 0x0a, 0x0e, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x54, - 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x75, 0x6c, - 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x75, - 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x30, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x30, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x31, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x33, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x33, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x34, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x35, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x35, 0x12, 0x23, 0x0a, 0x0d, - 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x58, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x12, 0x1b, - 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x58, 0x0a, 0x09, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x69, - 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, - 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, - 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, - 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6c, 0x74, - 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, - 0x77, 0x6e, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, - 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x61, 0x64, 0x79, 0x10, 0x03, 0x22, 0x8a, 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, - 0x79, 0x70, 0x65, 0x22, 0xfc, 0x03, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x07, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x0b, + 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, + 0x9b, 0x01, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x6b, + 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x10, 0x02, 0x12, 0x1d, + 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x03, 0x22, 0x8a, 0x01, + 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x1a, 0xec, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e, - 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x6b, - 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, - 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, - 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x47, 0x75, - 0x69, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, - 0x6f, 0x6d, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x77, - 0x69, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x6d, 0x75, 0x72, 0x66, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x6d, 0x75, 0x72, 0x66, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x22, 0x73, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0d, 0x66, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x62, - 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x10, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, - 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xd7, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x12, 0x31, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x76, 0x5f, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x76, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, - 0x64, 0x64, 0x72, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x76, - 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x76, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x76, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, - 0x0a, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x67, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x76, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x12, 0x74, 0x76, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x74, 0x76, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x76, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, - 0x64, 0x22, 0x46, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x4c, - 0x41, 0x4e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x16, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x42, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x42, 0x61, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x6f, - 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x65, 0x78, - 0x74, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x61, 0x74, 0x42, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, - 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x22, - 0xef, 0x03, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6b, - 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x76, 0x69, 0x63, 0x74, 0x69, - 0x6d, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x0f, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, - 0x74, 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, - 0x6f, 0x74, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6f, 0x74, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6f, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x65, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x65, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x6b, 0x69, - 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x65, 0x52, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, - 0x73, 0x22, 0x86, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x5f, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x76, 0x69, 0x65, 0x77, - 0x65, 0x72, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x0f, 0x43, 0x4d, - 0x73, 0x67, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x66, - 0x61, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x5f, 0x67, - 0x6f, 0x6f, 0x64, 0x67, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, - 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x67, 0x75, 0x79, 0x73, 0x12, 0x27, - 0x0a, 0x0f, 0x66, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x5f, 0x62, 0x61, 0x64, 0x67, 0x75, 0x79, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, - 0x42, 0x61, 0x64, 0x67, 0x75, 0x79, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, - 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, - 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x73, - 0x22, 0xb3, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x50, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, - 0x0a, 0x0e, 0x53, 0x61, 0x76, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, - 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x6f, - 0x6f, 0x42, 0x69, 0x67, 0x10, 0x03, 0x22, 0x34, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x47, - 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x61, 0x76, 0x65, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1f, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x65, - 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x04, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, + 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xed, 0x04, 0x0a, 0x31, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x58, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0xdd, 0x03, 0x0a, 0x06, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x6b, + 0x5f, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, + 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x67, + 0x75, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x69, 0x73, 0x47, 0x75, 0x69, 0x64, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x25, 0x0a, 0x0e, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x77, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, + 0x73, 0x73, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x6f, 0x73, 0x73, + 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6d, 0x75, 0x72, 0x66, 0x5f, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x6d, 0x75, 0x72, + 0x66, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, + 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, + 0x6f, 0x6d, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x61, 0x6e, 0x6b, 0x55, + 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x22, 0x73, 0x0a, 0x1d, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x54, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x06, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x5f, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x10, 0x61, + 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, + 0xd7, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, + 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x74, 0x76, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x76, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x33, 0x0a, 0x16, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x76, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x76, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x76, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x76, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x76, + 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x12, 0x74, 0x76, 0x55, 0x6e, 0x69, + 0x71, 0x75, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, + 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x76, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x76, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x1f, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x4c, 0x41, 0x4e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x22, 0x37, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x42, 0x61, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x17, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x42, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x62, + 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x65, 0x78, + 0x74, 0x43, 0x68, 0x61, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, + 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x22, 0xef, 0x03, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, + 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, + 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x2a, 0x0a, 0x11, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x76, 0x69, 0x63, 0x74, + 0x69, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x54, 0x6f, 0x75, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x09, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x76, 0x5f, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x76, 0x44, 0x65, 0x6c, + 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6f, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x10, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4b, 0x69, 0x6c, + 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x69, + 0x6e, 0x6e, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x49, 0x74, + 0x65, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x52, 0x0b, 0x68, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x1f, 0x43, 0x4d, + 0x73, 0x67, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x65, + 0x77, 0x65, 0x72, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, + 0x6e, 0x66, 0x61, 0x72, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x22, 0x6d, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x66, + 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x5f, 0x67, 0x6f, 0x6f, 0x64, 0x67, 0x75, 0x79, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x47, 0x6f, + 0x6f, 0x64, 0x67, 0x75, 0x79, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x61, 0x6e, 0x66, 0x61, 0x72, + 0x65, 0x5f, 0x62, 0x61, 0x64, 0x67, 0x75, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x66, 0x61, 0x6e, 0x66, 0x61, 0x72, 0x65, 0x42, 0x61, 0x64, 0x67, 0x75, 0x79, 0x73, 0x22, + 0x8f, 0x04, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x0c, + 0x61, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x61, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9e, 0x02, 0x0a, 0x0b, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x65, 0x6c, - 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, - 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x70, - 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x43, 0x61, 0x70, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x78, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x22, 0xa8, 0x03, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, - 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x07, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, - 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x1a, 0xc2, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, 0x69, 0x70, - 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x67, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, - 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x44, - 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x6c, 0x6c, - 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x4b, 0x0a, 0x20, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x27, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, - 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xbe, 0x02, 0x0a, 0x14, 0x43, 0x53, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, - 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x2e, 0x44, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x72, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, - 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x0a, 0x44, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x07, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6d, - 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, - 0x79, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x32, 0x0a, 0x0a, 0x44, 0x69, 0x63, 0x74, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x02, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd8, 0x02, 0x0a, 0x20, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x69, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, - 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, - 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x44, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x1a, 0xa4, 0x01, - 0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, - 0x64, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x43, 0x68, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x43, 0x68, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, - 0x69, 0x6e, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x54, 0x6f, - 0x78, 0x69, 0x63, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, - 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x62, 0x61, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, - 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x62, 0x61, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0e, 0x74, 0x6f, 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x74, 0x6f, 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x22, 0xe8, 0x02, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, - 0x6e, 0x4f, 0x75, 0x74, 0x41, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x4d, 0x69, 0x6e, 0x69, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x06, 0x52, 0x0e, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0d, 0x6c, 0x6f, 0x73, 0x69, 0x6e, - 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x61, - 0x6e, 0x61, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x06, 0x52, - 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x61, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x57, 0x6f, 0x6e, - 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, - 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, - 0x61, 0x5f, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, 0x49, 0x73, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x22, - 0x8b, 0x02, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x67, 0x61, 0x6d, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x67, 0x61, 0x6d, 0x65, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4b, - 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x4b, 0x69, 0x6c, - 0x6c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x69, 0x65, 0x73, 0x1a, 0x78, 0x0a, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, - 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x69, 0x63, 0x74, - 0x69, 0x6d, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, - 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4c, - 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x72, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, - 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xc7, 0x03, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, - 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, - 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, - 0x08, 0x72, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x1a, 0xb1, 0x01, - 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x6e, - 0x6b, 0x22, 0x8e, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x72, 0x65, 0x72, 0x6f, - 0x6c, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x72, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, - 0x73, 0x67, 0x22, 0xbf, 0x02, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, - 0x57, 0x61, 0x67, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x57, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x1a, 0x6c, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x74, 0x73, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0b, + 0x61, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, + 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x9e, 0x02, 0x0a, 0x0b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x77, 0x61, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x77, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x10, 0x77, 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x22, 0x8a, 0x03, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, - 0x6e, 0x4f, 0x75, 0x74, 0x58, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x58, - 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, + 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x6d, 0x69, + 0x75, 0x6d, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, + 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, + 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x61, 0x64, + 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, + 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x50, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x69, 0x63, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, + 0x1e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x50, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x22, 0x5d, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0x78, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0xa8, 0x03, 0x0a, 0x22, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, + 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x1a, 0xc2, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, + 0x67, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x61, 0x76, 0x67, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, + 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, + 0x73, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x4b, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0xbe, 0x02, 0x0a, 0x14, 0x43, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x62, + 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, + 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, + 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, + 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x63, 0x74, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x1a, + 0x32, 0x0a, 0x0a, 0x44, 0x69, 0x63, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xd8, 0x02, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x56, + 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x1a, 0x44, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x1a, 0xa4, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x60, 0x0a, 0x10, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x56, 0x69, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x1d, + 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, + 0x24, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x7d, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x78, 0x69, 0x63, + 0x43, 0x68, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x22, 0xca, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, + 0x6f, 0x47, 0x43, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x78, 0x69, 0x63, + 0x43, 0x68, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xee, 0x01, + 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x61, 0x6e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x78, 0x69, 0x63, + 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0d, 0x74, 0x6f, 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xe8, + 0x02, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x41, 0x73, + 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0e, 0x77, 0x69, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, + 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x06, 0x52, 0x0d, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, + 0x61, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x61, 0x73, + 0x73, 0x69, 0x6e, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, + 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x57, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, + 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, + 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x5f, 0x69, 0x73, 0x5f, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, + 0x49, 0x73, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x8b, 0x02, 0x0a, 0x1b, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4b, 0x69, 0x6c, 0x6c, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x67, + 0x61, 0x6d, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x67, 0x61, 0x6d, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x4b, 0x0a, 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x52, 0x09, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x78, 0x0a, + 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, + 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x76, 0x69, 0x63, 0x74, + 0x69, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x69, 0x6c, 0x6c, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x69, + 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, + 0x72, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x22, 0xc7, 0x03, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x2e, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x72, 0x65, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x1a, 0xb1, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x8e, 0x01, 0x0a, 0x23, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, + 0x72, 0x6f, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x72, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x72, 0x6f, + 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x52, 0x09, 0x72, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0xbf, 0x02, 0x0a, + 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x57, 0x61, 0x67, 0x65, 0x72, 0x12, + 0x35, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, + 0x64, 0x57, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xd6, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x78, 0x70, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x78, 0x70, 0x47, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x53, 0x70, 0x65, 0x6e, 0x74, - 0x12, 0x2d, 0x0a, 0x13, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x77, - 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x57, 0x61, 0x67, 0x65, 0x72, 0x12, 0x21, - 0x0a, 0x0c, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6b, 0x22, 0xca, 0x02, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, - 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x62, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x52, 0x08, 0x62, - 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x92, 0x01, 0x0a, 0x06, 0x42, 0x6f, - 0x75, 0x6e, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x96, - 0x02, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x47, 0x6f, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x64, 0x0a, 0x10, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, - 0x74, 0x79, 0x47, 0x6f, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x1a, 0x63, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x67, 0x6f, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, - 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x6c, - 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x68, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, - 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x3b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6d, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, + 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x1a, 0x6c, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x67, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x61, 0x67, 0x65, 0x72, 0x12, + 0x2d, 0x0a, 0x13, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x77, 0x61, + 0x67, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x8a, + 0x03, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x58, 0x50, + 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x58, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x73, + 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x1a, 0xd6, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x78, 0x70, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x78, 0x70, 0x47, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x69, + 0x6e, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x63, 0x6f, 0x69, 0x6e, 0x73, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x77, 0x61, + 0x67, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x77, 0x61, 0x67, 0x65, 0x72, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, + 0x6b, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, + 0x61, 0x6e, 0x6b, 0x57, 0x61, 0x67, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x77, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x22, 0xca, 0x02, 0x0a, 0x13, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, 0x73, + 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x1a, 0x92, 0x01, 0x0a, 0x06, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x12, 0x2a, + 0x0a, 0x11, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x96, 0x02, 0x0a, 0x20, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, + 0x79, 0x47, 0x6f, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x64, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, + 0x4f, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x47, 0x6f, 0x61, 0x6c, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, + 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x63, 0x0a, 0x12, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x6f, 0x61, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x47, 0x6f, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, + 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x6c, 0x74, 0x76, 0x44, 0x65, + 0x6c, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, + 0x22, 0x55, 0x0a, 0x3b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, + 0x47, 0x43, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, + 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8f, 0x03, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x60, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8f, 0x03, - 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, - 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, + 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, + 0x65, 0x61, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x1a, 0x9b, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x60, 0x0a, 0x07, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, + 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x15, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x49, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x8d, 0x02, 0x0a, 0x2f, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x49, 0x6e, 0x47, 0x61, + 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x6f, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x75, 0x6d, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, + 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x1a, 0x31, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x2b, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, + 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xc0, 0x05, 0x0a, 0x2c, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x53, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0xc2, 0x01, 0x0a, + 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x69, 0x74, 0x65, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, + 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x08, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x65, + 0x64, 0x1a, 0xc8, 0x02, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, + 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, + 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x64, 0x73, 0x12, 0x66, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x75, 0x72, 0x63, + 0x68, 0x61, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, + 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, + 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x0d, 0x69, 0x74, + 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, + 0x61, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0xe7, 0x04, 0x0a, + 0x30, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x07, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, - 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, - 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x1a, 0x9b, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x73, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x22, - 0x8d, 0x02, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x43, 0x68, 0x6f, 0x73, - 0x65, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x6f, - 0x0a, 0x12, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x68, - 0x6f, 0x73, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, - 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, - 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x1a, 0x31, 0x0a, 0x0a, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, - 0x7e, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x4f, - 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x49, - 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, - 0xc0, 0x05, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, - 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x6d, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x53, 0x0a, - 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, + 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x65, + 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0xc6, 0x01, 0x0a, 0x09, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, + 0x75, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, + 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x69, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x73, 0x53, + 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x15, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xf5, + 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, + 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, + 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x61, 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x65, + 0x71, 0x75, 0x69, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, + 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x65, 0x75, 0x74, + 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x0a, 0x69, + 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, + 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, + 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0xf1, 0x08, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, + 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, + 0x61, 0x6e, 0x74, 0x57, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x53, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x1a, 0xc2, 0x01, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, - 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, - 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x27, - 0x0a, 0x0f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, - 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x73, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x1a, 0xc8, 0x02, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, - 0x6c, 0x6f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, - 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, - 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x66, 0x0a, 0x0e, 0x69, 0x74, 0x65, - 0x6d, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x6e, - 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x57, 0x69, 0x6e, 0x6e, - 0x65, 0x72, 0x22, 0xe7, 0x04, 0x0a, 0x30, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x57, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x45, - 0x71, 0x75, 0x69, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0xc6, 0x01, 0x0a, 0x09, - 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, - 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, - 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, - 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, - 0x6c, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, - 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x15, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xf5, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, - 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, - 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x61, 0x0a, 0x0b, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, - 0x69, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, - 0x75, 0x69, 0x70, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x73, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0xf1, 0x08, 0x0a, - 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x57, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x6d, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x53, - 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x1a, 0x8d, 0x02, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x61, - 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, - 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, - 0x73, 0x5f, 0x62, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x68, 0x61, 0x73, 0x42, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x68, - 0x61, 0x73, 0x5f, 0x61, 0x65, 0x67, 0x69, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x68, 0x61, 0x73, 0x41, 0x65, 0x67, 0x69, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, - 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, - 0x73, 0x52, 0x61, 0x70, 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x1a, 0xc8, 0x03, 0x0a, 0x09, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x56, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, - 0x10, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, - 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x72, 0x72, 0x61, - 0x63, 0x6b, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6e, 0x63, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x50, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x5f, 0x63, - 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, - 0x6c, 0x79, 0x70, 0x68, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, - 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, - 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x11, 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x61, - 0x66, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x69, 0x64, - 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, - 0x65, 0x65, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x66, 0x66, 0x1a, 0xcf, - 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x4e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x61, 0x6d, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x51, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, - 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x61, - 0x6e, 0x74, 0x57, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x61, 0x6e, - 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, - 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, - 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x8d, 0x02, + 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, + 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, + 0x72, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, + 0x72, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, + 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x62, 0x75, 0x79, 0x62, + 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x42, 0x75, + 0x79, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x65, 0x67, + 0x69, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x41, 0x65, 0x67, + 0x69, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x52, 0x61, 0x70, 0x69, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0xc8, 0x03, + 0x0a, 0x09, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, + 0x56, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x77, 0x65, 0x72, + 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, + 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, + 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, + 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, + 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x43, 0x6f, + 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, + 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, + 0x61, 0x66, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x72, 0x65, 0x65, 0x70, + 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x61, 0x66, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, + 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x66, 0x66, 0x1a, 0xcf, 0x01, 0x0a, 0x0a, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, + 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x64, 0x69, + 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x43, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x0b, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x6d, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x1f, + 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x57, 0x6f, 0x6e, 0x22, + 0x50, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x61, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x6e, 0x65, + 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, + 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, + 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x22, 0xe2, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, + 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x17, - 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x29, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xe2, 0x01, 0x0a, 0x23, 0x43, - 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x50, - 0x72, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, - 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, - 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, - 0xf4, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, - 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, - 0x6d, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, - 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, - 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x62, 0x65, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x12, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x54, 0x6f, 0x42, 0x65, 0x50, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x22, 0xfa, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x49, - 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, - 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, - 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x65, - 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x11, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x42, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, - 0x6c, 0x49, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, - 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, - 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x75, 0x72, 0x62, 0x6f, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x75, 0x72, 0x62, 0x6f, 0x4d, - 0x6f, 0x64, 0x65, 0x22, 0xee, 0x04, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, - 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x1a, 0x9e, 0x03, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, - 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x49, 0x64, 0x31, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x5f, 0x69, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x32, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x12, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, - 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x65, - 0x61, 0x6d, 0x57, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x22, 0x9d, 0x03, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, - 0x77, 0x6c, 0x49, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, - 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, - 0x2d, 0x0a, 0x12, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x77, 0x69, 0x6e, - 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6f, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5f, - 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, - 0x72, 0x61, 0x77, 0x6c, 0x49, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, - 0x41, 0x0a, 0x1d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x75, - 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, - 0x67, 0x73, 0x1a, 0x60, 0x0a, 0x0a, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x74, - 0x68, 0x49, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, - 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x65, 0x64, 0x22, 0xd0, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x75, - 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4b, 0x0a, - 0x0d, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x2e, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x6e, 0x65, - 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xea, 0x01, 0x0a, 0x0b, 0x4e, - 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x72, 0x6f, 0x70, - 0x70, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x44, - 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, - 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x6e, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, - 0x55, 0x6e, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x48, - 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x62, - 0x61, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x52, - 0x61, 0x74, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x07, 0x62, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x63, 0x0a, 0x0c, 0x48, 0x65, - 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, - 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0xa0, 0x03, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, - 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x1a, 0x72, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, - 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x1a, 0xa5, 0x01, 0x0a, 0x0e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x74, 0x0a, 0x13, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x12, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x73, 0x22, 0xe5, 0x03, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, - 0x75, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x79, 0x0a, 0x1b, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x19, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x1a, 0xc4, 0x02, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0xfc, 0x08, 0x0a, 0x13, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x56, 0x50, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, - 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, - 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x56, - 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0xb0, 0x07, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, - 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x07, + 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, + 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, - 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, - 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, - 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, - 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x78, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x78, - 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x2c, - 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x73, - 0x70, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, - 0x3d, 0x0a, 0x1b, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, - 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, - 0x65, 0x64, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, - 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x44, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6b, - 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x70, - 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, - 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, - 0x6f, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, - 0x6c, 0x6f, 0x6f, 0x64, 0x12, 0x5b, 0x0a, 0x11, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, - 0x75, 0x74, 0x4d, 0x56, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x6b, 0x69, 0x6c, - 0x6c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x68, - 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, - 0x1a, 0x47, 0x0a, 0x0e, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28, - 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3a, 0x0a, 0x20, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, - 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x42, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xbb, 0x04, 0x0a, 0x27, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x1a, 0xe3, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x1a, 0xc8, 0x01, 0x0a, - 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x09, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, + 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, + 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x1c, 0x43, 0x4d, + 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, + 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, + 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, + 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x31, 0x0a, + 0x15, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x65, 0x5f, 0x70, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x54, 0x6f, 0x42, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, + 0x22, 0xfa, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4d, 0x4c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6d, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, + 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, + 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, + 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2f, 0x0a, 0x14, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x65, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x69, 0x74, 0x65, 0x6d, + 0x54, 0x6f, 0x42, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x22, 0xcd, 0x01, + 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, + 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x49, 0x73, 0x48, 0x65, 0x72, + 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6d, + 0x61, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x13, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4d, 0x61, 0x70, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x75, 0x72, 0x62, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x74, 0x75, 0x72, 0x62, 0x6f, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xee, 0x04, + 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, + 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x9e, 0x03, + 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x48, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x31, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x32, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x49, 0x64, 0x32, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x45, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x57, 0x6f, 0x6e, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, + 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x9d, + 0x03, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, + 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x49, 0x73, 0x48, 0x65, + 0x72, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, + 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6f, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5f, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, - 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x09, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x22, 0xb9, 0x03, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x74, 0x69, 0x64, 0x65, 0x43, 0x61, 0x6e, - 0x64, 0x79, 0x12, 0x54, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6e, - 0x64, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, - 0x72, 0x65, 0x74, 0x69, 0x64, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, - 0x61, 0x6e, 0x64, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x1a, 0x3c, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x74, 0x1a, - 0xe1, 0x01, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x50, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x52, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, - 0x77, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x74, 0x69, 0x64, - 0x65, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, - 0x6f, 0x77, 0x6e, 0x22, 0xba, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x4d, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x65, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x50, - 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x82, 0x07, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x65, 0x72, 0x73, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x68, - 0x65, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x69, - 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x12, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x75, 0x73, 0x68, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, - 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x6f, 0x77, 0x12, 0x2c, 0x0a, 0x12, - 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x64, 0x69, - 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, - 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x48, 0x69, 0x67, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0f, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, - 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x68, 0x65, - 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, - 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, - 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x65, - 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x50, 0x75, 0x73, 0x68, 0x4d, 0x61, 0x72, 0x6b, 0x12, - 0x31, 0x0a, 0x15, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x70, - 0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, - 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x61, - 0x72, 0x6b, 0x12, 0x44, 0x0a, 0x20, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x5f, 0x70, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x70, 0x73, - 0x5f, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x63, 0x68, - 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x50, 0x63, 0x74, 0x4f, 0x66, 0x4d, 0x61, 0x78, - 0x43, 0x70, 0x73, 0x43, 0x6c, 0x61, 0x6d, 0x70, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x68, 0x65, 0x65, - 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, 0x72, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x17, 0x63, 0x68, - 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x44, 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x1e, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x65, - 0x72, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, - 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x44, 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, - 0x72, 0x4c, 0x65, 0x72, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x65, - 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x72, 0x6f, 0x6e, 0x7a, 0x65, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x46, 0x61, 0x63, - 0x74, 0x6f, 0x72, 0x42, 0x72, 0x6f, 0x6e, 0x7a, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x65, - 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x6c, 0x76, 0x65, 0x72, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x46, 0x61, 0x63, - 0x74, 0x6f, 0x72, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x65, - 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x47, 0x6f, 0x6c, 0x64, 0x22, 0x55, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3b, 0x0a, 0x1c, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, - 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, - 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3b, 0x0a, 0x21, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x65, - 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, - 0x52, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x50, 0x65, - 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, - 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, - 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x22, - 0xa5, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, - 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, - 0x61, 0x6e, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, 0x0a, - 0x10, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x43, 0x72, 0x6f, - 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x91, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x43, 0x68, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x63, 0x68, - 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x41, 0x0a, 0x1e, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xd5, - 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, + 0x6f, 0x47, 0x43, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x49, 0x73, + 0x48, 0x65, 0x72, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x0a, 0x6d, + 0x61, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x70, 0x6f, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x1a, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x6c, 0x75, 0x73, 0x53, + 0x68, 0x61, 0x72, 0x64, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x60, 0x0a, 0x0a, + 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, + 0x74, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, + 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0xd0, + 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, + 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x0d, 0x6e, 0x65, 0x75, 0x74, 0x72, + 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x4e, 0x65, 0x75, 0x74, 0x72, + 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xea, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, + 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x74, 0x65, 0x61, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, + 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x75, 0x6e, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x65, 0x71, 0x75, 0x69, + 0x70, 0x70, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, + 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, + 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x48, + 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x62, 0x61, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x1a, 0x63, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x61, 0x6e, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x62, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x62, 0x61, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x69, + 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x70, 0x69, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa0, 0x03, 0x0a, 0x20, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x60, + 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, + 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, + 0x1a, 0x72, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x73, 0x1a, 0xa5, 0x01, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x74, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x22, 0xe5, 0x03, 0x0a, + 0x21, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x79, 0x0a, 0x1b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x19, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0xc4, 0x02, + 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x40, 0x0a, + 0x1c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x36, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x22, 0xfc, 0x08, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, + 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x56, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x69, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x56, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x1a, 0xb0, 0x07, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x52, 0x61, + 0x6e, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, + 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, + 0x74, 0x68, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x78, + 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x78, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6e, + 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x6f, 0x6c, + 0x64, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x1b, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x44, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6d, 0x70, + 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, + 0x6e, 0x69, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, + 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x1c, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x12, 0x5b, + 0x0a, 0x11, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x56, 0x50, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6c, + 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x68, + 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6b, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, + 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x1a, 0x47, 0x0a, 0x0e, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, + 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x3a, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, + 0x42, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, + 0x43, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x73, 0x22, 0xbb, 0x04, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5f, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, - 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0x5c, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x33, 0x0a, 0x08, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x08, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x22, 0x74, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, - 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, - 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x0c, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x1f, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x55, 0x73, 0x65, 0x48, 0x54, 0x54, 0x50, 0x12, - 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x48, 0x74, 0x74, 0x70, 0x22, 0xb3, 0x01, 0x0a, 0x17, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, - 0x72, 0x61, 0x67, 0x65, 0x4d, 0x6d, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x61, - 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x57, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, - 0x22, 0xd2, 0x01, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, - 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6d, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x4d, 0x6d, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x57, 0x6f, 0x6e, 0x12, 0x1a, + 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, + 0x1a, 0xe3, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x1a, 0xc8, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x73, 0x22, 0xb9, 0x03, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x69, 0x72, 0x65, 0x74, 0x69, 0x64, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x12, 0x54, 0x0a, 0x11, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x74, 0x69, 0x64, 0x65, + 0x43, 0x61, 0x6e, 0x64, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x64, + 0x79, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x3c, 0x0a, 0x0c, 0x43, + 0x61, 0x6e, 0x64, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x74, 0x1a, 0xe1, 0x01, 0x0a, 0x0b, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x64, + 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x63, 0x61, 0x6e, 0x64, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x61, 0x6e, + 0x64, 0x79, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x74, 0x69, 0x64, 0x65, 0x43, 0x61, 0x6e, 0x64, 0x79, + 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x63, + 0x61, 0x6e, 0x64, 0x79, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0xba, 0x01, + 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x43, 0x68, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x68, 0x65, + 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, + 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x68, + 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, + 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x65, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x82, 0x07, 0x0a, 0x0f, 0x43, + 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x65, 0x72, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x68, 0x65, 0x65, 0x72, 0x73, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x5f, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x63, + 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x63, 0x72, 0x6f, 0x77, + 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x6f, + 0x77, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x4c, 0x6f, 0x77, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, + 0x64, 0x69, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x63, 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x69, 0x67, 0x68, 0x12, 0x2a, + 0x0a, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x65, 0x72, + 0x53, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, + 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, + 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, + 0x65, 0x50, 0x75, 0x73, 0x68, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x68, 0x65, + 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, + 0x72, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, + 0x63, 0x61, 0x6c, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x44, 0x0a, 0x20, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x63, 0x74, 0x5f, + 0x6f, 0x66, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x70, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x6d, 0x70, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, + 0x6c, 0x65, 0x50, 0x63, 0x74, 0x4f, 0x66, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x73, 0x43, 0x6c, 0x61, + 0x6d, 0x70, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x5f, 0x64, 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x17, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, + 0x6c, 0x65, 0x44, 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x42, 0x0a, 0x1e, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x64, + 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x72, 0x70, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, + 0x61, 0x6c, 0x65, 0x44, 0x61, 0x6d, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x4c, 0x65, 0x72, 0x70, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x72, 0x6f, 0x6e, 0x7a, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x72, 0x6f, + 0x6e, 0x7a, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x6c, + 0x76, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x47, 0x6f, 0x6c, 0x64, 0x22, + 0x55, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0c, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, + 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3b, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x63, + 0x68, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3b, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, + 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, + 0x61, 0x78, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x53, 0x63, 0x61, + 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x0e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0b, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x63, 0x68, 0x65, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, + 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x6f, + 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x5f, + 0x63, 0x72, 0x6f, 0x77, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x22, 0x91, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x65, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, + 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x68, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x41, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x1a, 0x5c, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x73, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x52, 0x08, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, + 0x22, 0xb3, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, + 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, + 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x6d, 0x72, 0x12, 0x1f, 0x0a, + 0x0b, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x57, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, - 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x6d, 0x6d, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4d, 0x6d, 0x72, 0x22, 0xdd, 0x02, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, - 0x6f, 0x65, 0x73, 0x56, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0e, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, - 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x48, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x6c, - 0x61, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, - 0x61, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, - 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x4c, 0x61, 0x6e, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, - 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x72, - 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x72, 0x65, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, - 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaa, 0x02, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, - 0x6f, 0x56, 0x33, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, - 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, - 0x6f, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, - 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x68, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, - 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x48, 0x65, 0x72, - 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x65, 0x6d, 0x79, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x66, 0x61, 0x63, 0x65, - 0x74, 0x73, 0x22, 0x84, 0x04, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, - 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0b, 0x73, 0x74, - 0x61, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a, 0x8d, 0x03, 0x0a, 0x0a, 0x53, 0x74, - 0x61, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, - 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1e, 0x0a, - 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, - 0x6e, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, - 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x57, 0x61, 0x72, 0x64, 0x73, 0x50, - 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x61, - 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x22, 0xca, 0x07, 0x0a, 0x1a, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x35, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, + 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, + 0x66, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x6d, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x77, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x65, 0x61, + 0x6d, 0x57, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x6d, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x6d, 0x72, 0x22, 0xea, 0x03, 0x0a, 0x1b, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x51, 0x0a, 0x0f, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0e, + 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x4b, + 0x0a, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, + 0x64, 0x69, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, + 0x61, 0x6d, 0x57, 0x6f, 0x6e, 0x1a, 0x80, 0x02, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x6d, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x4d, 0x6d, 0x72, 0x12, 0x3a, 0x0a, 0x19, 0x70, 0x72, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x70, 0x72, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, + 0x36, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x15, 0x70, 0x72, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x65, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, + 0x6d, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x6e, 0x75, 0x6d, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x49, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0xdd, 0x02, 0x0a, 0x1b, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x56, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x61, 0x64, 0x69, + 0x61, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0e, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, + 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x48, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, + 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, + 0x69, 0x72, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x4c, 0x61, 0x6e, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, + 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, + 0x72, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, + 0x63, 0x65, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaa, 0x02, 0x0a, 0x19, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x48, 0x65, 0x72, 0x6f, 0x56, 0x33, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, + 0x61, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, + 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x65, 0x6d, 0x79, + 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x0c, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, + 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, + 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x69, 0x65, 0x64, + 0x48, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, + 0x65, 0x6d, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x65, 0x6d, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x66, + 0x61, 0x63, 0x65, 0x74, 0x73, 0x22, 0x84, 0x04, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, + 0x6d, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, + 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x0b, 0x73, 0x74, 0x61, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a, 0x8d, 0x03, 0x0a, + 0x0a, 0x53, 0x74, 0x61, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, + 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, + 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, + 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, + 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, + 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x5f, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x57, 0x61, 0x72, + 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x57, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x22, 0xca, 0x07, 0x0a, + 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x35, 0x12, 0x1b, 0x0a, 0x09, 0x67, + 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, + 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, + 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, + 0x35, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x61, 0x64, + 0x69, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x64, 0x69, 0x72, + 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, + 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x35, 0x2e, + 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x1a, 0xac, 0x02, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x70, + 0x61, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, + 0x61, 0x73, 0x5f, 0x62, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x68, 0x61, 0x73, 0x42, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, + 0x68, 0x61, 0x73, 0x5f, 0x61, 0x65, 0x67, 0x69, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x68, 0x61, 0x73, 0x41, 0x65, 0x67, 0x69, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, + 0x5f, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, + 0x61, 0x73, 0x52, 0x61, 0x70, 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x46, 0x61, + 0x63, 0x65, 0x74, 0x1a, 0xc3, 0x03, 0x0a, 0x09, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x51, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, - 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x35, 0x2e, 0x54, - 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x35, 0x2e, 0x54, 0x65, 0x61, - 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x1a, 0xac, 0x02, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, - 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, - 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, - 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x73, - 0x70, 0x61, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, - 0x62, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, - 0x61, 0x73, 0x42, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, - 0x5f, 0x61, 0x65, 0x67, 0x69, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, - 0x73, 0x41, 0x65, 0x67, 0x69, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x61, - 0x70, 0x69, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x52, - 0x61, 0x70, 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x74, - 0x1a, 0xc3, 0x03, 0x0a, 0x09, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, - 0x61, 0x6d, 0x12, 0x51, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x35, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x0e, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, 0x74, 0x12, - 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61, - 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, 0x74, 0x12, - 0x2c, 0x0a, 0x12, 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6e, 0x63, - 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, 0x74, 0x12, 0x25, 0x0a, - 0x0e, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x43, 0x6f, 0x6f, 0x6c, - 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x72, - 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x61, 0x66, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, 0x69, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x61, 0x66, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, - 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, 0x69, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x65, - 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x4f, 0x66, 0x66, 0x22, 0xac, 0x02, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, + 0x72, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x35, 0x2e, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x77, 0x65, + 0x72, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, + 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x11, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, + 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, + 0x77, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x6c, 0x79, 0x70, 0x68, 0x43, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x2e, 0x0a, + 0x13, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x73, 0x61, 0x66, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x72, 0x65, 0x65, + 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x61, 0x66, 0x65, 0x12, 0x2c, 0x0a, + 0x12, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x6d, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x65, 0x70, + 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, + 0x72, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x66, + 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x65, 0x70, 0x44, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x66, 0x66, 0x22, 0xac, 0x02, 0x0a, 0x1a, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, + 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, + 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, + 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x64, + 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x69, 0x73, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, + 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x69, + 0x73, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, + 0x44, 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x47, 0x61, + 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, + 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x73, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, + 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, + 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x22, + 0xa5, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, + 0x72, 0x6e, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x27, - 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x0f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, - 0x72, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, - 0x72, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, - 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x73, - 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x67, - 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x75, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x74, - 0x61, 0x50, 0x6c, 0x75, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, - 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x69, 0x73, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, - 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x74, 0x61, - 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, - 0x73, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x22, 0xa5, 0x01, 0x0a, - 0x21, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4e, - 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x65, 0x72, 0x12, - 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x73, 0x52, 0x61, 0x64, 0x69, - 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x75, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x74, 0x61, - 0x50, 0x6c, 0x75, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x73, - 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x12, - 0x69, 0x73, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, - 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, - 0x67, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x22, 0x41, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x45, 0x61, 0x72, 0x6c, 0x79, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x23, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4c, 0x61, - 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0xfa, - 0x01, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, - 0x6e, 0x57, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, - 0x0a, 0x08, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x57, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x77, 0x61, - 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x12, 0x58, 0x0a, 0x12, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x57, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x65, - 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x57, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, - 0x65, 0x61, 0x6d, 0x1a, 0x26, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, - 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, - 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x22, 0xfc, 0x01, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, - 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x1a, 0x6a, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0e, - 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, - 0x92, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, - 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x69, - 0x66, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x69, 0x66, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, - 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, - 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x12, 0x3b, - 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, - 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x7e, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, - 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x13, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x2a, 0xc6, 0x01, 0x0a, 0x1a, 0x45, 0x50, 0x6f, 0x6f, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x50, 0x6f, 0x6f, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x50, 0x6f, 0x6f, - 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, - 0x6b, 0x5f, 0x45, 0x50, 0x6f, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x4d, 0x61, 0x73, 0x73, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x02, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, - 0x50, 0x6f, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x45, 0x78, 0x63, 0x65, 0x73, 0x73, 0x42, 0x61, 0x64, 0x51, - 0x6f, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x10, 0x03, 0x42, 0x25, 0x5a, - 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, - 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, - 0x64, 0x6f, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, + 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x73, 0x52, + 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, + 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x44, + 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x56, 0x32, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, + 0x69, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x6e, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x72, 0x69, 0x6e, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x65, 0x6e, 0x68, 0x61, + 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x6e, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x54, 0x72, 0x69, 0x6e, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1a, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x41, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6b, 0x69, 0x6c, 0x6c, + 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, + 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, + 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x22, 0x69, + 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, + 0x45, 0x61, 0x72, 0x6c, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x56, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x68, 0x0a, 0x25, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x47, + 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, + 0x56, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, + 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x57, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x63, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x57, 0x61, 0x72, + 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x12, 0x58, 0x0a, 0x12, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, + 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x57, 0x61, + 0x72, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x57, 0x61, + 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x1a, 0x26, 0x0a, 0x08, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x01, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, + 0x74, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, + 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0xfc, 0x01, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x3a, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, + 0x4f, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0b, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x6a, 0x0a, 0x06, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, 0x77, 0x42, 0x6c, 0x6f, 0x6f, + 0x6d, 0x47, 0x69, 0x66, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x69, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x69, + 0x66, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, + 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x22, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x65, + 0x77, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4e, 0x65, 0x77, 0x42, 0x6c, + 0x6f, 0x6f, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xfc, 0x01, 0x0a, + 0x14, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x7e, 0x0a, 0x06, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x73, 0x69, 0x72, + 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, 0xe7, 0x01, 0x0a, 0x15, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x72, 0x61, 0x66, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x4f, 0x75, 0x74, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x67, 0x0a, 0x06, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2a, 0xc6, 0x01, 0x0a, 0x1a, 0x45, 0x50, 0x6f, 0x6f, 0x72, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x50, 0x6f, 0x6f, 0x72, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x50, 0x6f, + 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x01, 0x12, 0x2b, 0x0a, + 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x6f, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x4d, 0x61, 0x73, 0x73, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x02, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, + 0x45, 0x50, 0x6f, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x45, 0x78, 0x63, 0x65, 0x73, 0x73, 0x42, 0x61, 0x64, + 0x51, 0x6f, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x10, 0x03, 0x42, 0x25, + 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, + 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, + 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -17612,8 +17621,8 @@ func file_dota_gcmessages_server_proto_rawDescGZIP() []byte { return file_dota_gcmessages_server_proto_rawDescData } -var file_dota_gcmessages_server_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_dota_gcmessages_server_proto_msgTypes = make([]protoimpl.MessageInfo, 184) +var file_dota_gcmessages_server_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_dota_gcmessages_server_proto_msgTypes = make([]protoimpl.MessageInfo, 183) var file_dota_gcmessages_server_proto_goTypes = []interface{}{ (EPoorNetworkConditionsType)(0), // 0: dota.EPoorNetworkConditionsType (CMsgConnectedPlayers_SendReason)(0), // 1: dota.CMsgConnectedPlayers.SendReason @@ -17621,369 +17630,365 @@ var file_dota_gcmessages_server_proto_goTypes = []interface{}{ (CMsgGameServerInfo_CustomGames)(0), // 3: dota.CMsgGameServerInfo.CustomGames (CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageType)(0), // 4: dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType (CMsgDOTALiveScoreboardUpdate_Team_Player_DOTAUltimateState)(0), // 5: dota.CMsgDOTALiveScoreboardUpdate.Team.Player.DOTAUltimateState - (CMsgGameServerSaveGameResult_Result)(0), // 6: dota.CMsgGameServerSaveGameResult.Result - (*CMsgPoorNetworkConditions)(nil), // 7: dota.CMsgPoorNetworkConditions - (*CMsgGameserverCrash)(nil), // 8: dota.CMsgGameserverCrash - (*CMsgConnectedPlayers)(nil), // 9: dota.CMsgConnectedPlayers - (*CMsgGameServerInfo)(nil), // 10: dota.CMsgGameServerInfo - (*CMsgLeaverDetected)(nil), // 11: dota.CMsgLeaverDetected - (*CMsgLeaverDetectedResponse)(nil), // 12: dota.CMsgLeaverDetectedResponse - (*CMsgDOTAFantasyFinalPlayerStats)(nil), // 13: dota.CMsgDOTAFantasyFinalPlayerStats - (*CMsgDOTAFantasyLivePlayerStats)(nil), // 14: dota.CMsgDOTAFantasyLivePlayerStats - (*CMsgServerToGCRealtimeStats)(nil), // 15: dota.CMsgServerToGCRealtimeStats - (*CMsgGCToServerRealtimeStatsStartStop)(nil), // 16: dota.CMsgGCToServerRealtimeStatsStartStop - (*CMsgGCToServerUpdateSteamBroadcasting)(nil), // 17: dota.CMsgGCToServerUpdateSteamBroadcasting - (*CMsgSignOutGameplayStats)(nil), // 18: dota.CMsgSignOutGameplayStats - (*CMsgGameMatchSignOut)(nil), // 19: dota.CMsgGameMatchSignOut - (*CMsgSignOutDraftInfo)(nil), // 20: dota.CMsgSignOutDraftInfo - (*CMsgSignOutBotInfo)(nil), // 21: dota.CMsgSignOutBotInfo - (*CMsgSignOutTextMuteInfo)(nil), // 22: dota.CMsgSignOutTextMuteInfo - (*CMsgSignOutPlayerStats)(nil), // 23: dota.CMsgSignOutPlayerStats - (*CMsgSignOutCommunicationSummary)(nil), // 24: dota.CMsgSignOutCommunicationSummary - (*CMsgGameMatchSignoutResponse)(nil), // 25: dota.CMsgGameMatchSignoutResponse - (*CMsgTimedRewardContainer)(nil), // 26: dota.CMsgTimedRewardContainer - (*CMsgGameMatchSignOutPermissionRequest)(nil), // 27: dota.CMsgGameMatchSignOutPermissionRequest - (*CMsgGameMatchSignOutPermissionResponse)(nil), // 28: dota.CMsgGameMatchSignOutPermissionResponse - (*CMsgGameMatchSignOutEventGameData)(nil), // 29: dota.CMsgGameMatchSignOutEventGameData - (*CMsgGameMatchSignOutPerfData)(nil), // 30: dota.CMsgGameMatchSignOutPerfData - (*CMsgGameMatchSignOutBanData)(nil), // 31: dota.CMsgGameMatchSignOutBanData - (*CMsgDOTALiveScoreboardUpdate)(nil), // 32: dota.CMsgDOTALiveScoreboardUpdate - (*CMsgServerToGCRequestBatchPlayerResources)(nil), // 33: dota.CMsgServerToGCRequestBatchPlayerResources - (*CMsgServerToGCRequestBatchPlayerResourcesResponse)(nil), // 34: dota.CMsgServerToGCRequestBatchPlayerResourcesResponse - (*CMsgDOTAPlayerFailedToConnect)(nil), // 35: dota.CMsgDOTAPlayerFailedToConnect - (*CMsgGCToRelayConnect)(nil), // 36: dota.CMsgGCToRelayConnect - (*CMsgGCGCToLANServerRelayConnect)(nil), // 37: dota.CMsgGCGCToLANServerRelayConnect - (*CMsgGCBanStatusRequest)(nil), // 38: dota.CMsgGCBanStatusRequest - (*CMsgGCBanStatusResponse)(nil), // 39: dota.CMsgGCBanStatusResponse - (*CMsgTournamentItemEvent)(nil), // 40: dota.CMsgTournamentItemEvent - (*CMsgTournamentItemEventResponse)(nil), // 41: dota.CMsgTournamentItemEventResponse - (*CMsgTeamFanfare)(nil), // 42: dota.CMsgTeamFanfare - (*CMsgResponseTeamFanfare)(nil), // 43: dota.CMsgResponseTeamFanfare - (*CMsgGameServerUploadSaveGame)(nil), // 44: dota.CMsgGameServerUploadSaveGame - (*CMsgGameServerSaveGameResult)(nil), // 45: dota.CMsgGameServerSaveGameResult - (*CMsgGameServerGetLoadGame)(nil), // 46: dota.CMsgGameServerGetLoadGame - (*CMsgGameServerGetLoadGameResult)(nil), // 47: dota.CMsgGameServerGetLoadGameResult - (*CMsgDOTAAwardEventPoints)(nil), // 48: dota.CMsgDOTAAwardEventPoints - (*CMsgGCToServerPingRequest)(nil), // 49: dota.CMsgGCToServerPingRequest - (*CMsgGCToServerPingResponse)(nil), // 50: dota.CMsgGCToServerPingResponse - (*CMsgServerToGCMatchConnectionStats)(nil), // 51: dota.CMsgServerToGCMatchConnectionStats - (*CMsgServerGCUpdateSpectatorCount)(nil), // 52: dota.CMsgServerGCUpdateSpectatorCount - (*CSerializedCombatLog)(nil), // 53: dota.CSerializedCombatLog - (*CMsgServerToGCVictoryPredictions)(nil), // 54: dota.CMsgServerToGCVictoryPredictions - (*CMsgServerToGCRequestStatus)(nil), // 55: dota.CMsgServerToGCRequestStatus - (*CMsgServerToGCRequestStatus_Response)(nil), // 56: dota.CMsgServerToGCRequestStatus_Response - (*CMsgGCToServerEvaluateToxicChat)(nil), // 57: dota.CMsgGCToServerEvaluateToxicChat - (*CMsgServerToGCEvaluateToxicChat)(nil), // 58: dota.CMsgServerToGCEvaluateToxicChat - (*CMsgServerToGCEvaluateToxicChatResponse)(nil), // 59: dota.CMsgServerToGCEvaluateToxicChatResponse - (*CMsgSignOutAssassinMiniGameInfo)(nil), // 60: dota.CMsgSignOutAssassinMiniGameInfo - (*CMsgServerToGCKillSummaries)(nil), // 61: dota.CMsgServerToGCKillSummaries - (*CMsgServerToGCLockCharmTrading)(nil), // 62: dota.CMsgServerToGCLockCharmTrading - (*CMsgSignOutUpdatePlayerChallenge)(nil), // 63: dota.CMsgSignOutUpdatePlayerChallenge - (*CMsgServerToGCRerollPlayerChallenge)(nil), // 64: dota.CMsgServerToGCRerollPlayerChallenge - (*CMsgSpendWager)(nil), // 65: dota.CMsgSpendWager - (*CMsgSignOutXPCoins)(nil), // 66: dota.CMsgSignOutXPCoins - (*CMsgSignOutBounties)(nil), // 67: dota.CMsgSignOutBounties - (*CMsgSignOutCommunityGoalProgress)(nil), // 68: dota.CMsgSignOutCommunityGoalProgress - (*CMsgServerToGCCloseCompendiumInGamePredictionVoting)(nil), // 69: dota.CMsgServerToGCCloseCompendiumInGamePredictionVoting - (*CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse)(nil), // 70: dota.CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse - (*CMsgServerToGCCompendiumInGamePredictionResults)(nil), // 71: dota.CMsgServerToGCCompendiumInGamePredictionResults - (*CMsgServerToGCCompendiumChosenInGamePredictions)(nil), // 72: dota.CMsgServerToGCCompendiumChosenInGamePredictions - (*CMsgGCToGCCompendiumInGamePredictionResults)(nil), // 73: dota.CMsgGCToGCCompendiumInGamePredictionResults - (*CMsgServerToGCMatchPlayerItemPurchaseHistory)(nil), // 74: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory - (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory)(nil), // 75: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory - (*CMsgServerToGCMatchStateHistory)(nil), // 76: dota.CMsgServerToGCMatchStateHistory - (*CMsgMatchStateSteamMLEntry)(nil), // 77: dota.CMsgMatchStateSteamMLEntry - (*CMsgLaneSelectionSteamMLEntry)(nil), // 78: dota.CMsgLaneSelectionSteamMLEntry - (*CMsgAbilitySelectionSteamMLEntry)(nil), // 79: dota.CMsgAbilitySelectionSteamMLEntry - (*CMsgItemPurchasePregameSteamMLEntry)(nil), // 80: dota.CMsgItemPurchasePregameSteamMLEntry - (*CMsgItemPurchaseSteamMLEntry)(nil), // 81: dota.CMsgItemPurchaseSteamMLEntry - (*CMsgItemPurchaseSequenceSteamMLEntry)(nil), // 82: dota.CMsgItemPurchaseSequenceSteamMLEntry - (*CMsgServerToGCCavernCrawlIsHeroActive)(nil), // 83: dota.CMsgServerToGCCavernCrawlIsHeroActive - (*CMsgServerToGCPlayerChallengeHistory)(nil), // 84: dota.CMsgServerToGCPlayerChallengeHistory - (*CMsgServerToGCCavernCrawlIsHeroActiveResponse)(nil), // 85: dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse - (*CMsgNeutralItemStats)(nil), // 86: dota.CMsgNeutralItemStats - (*CMsgGCToServerLobbyHeroBanRates)(nil), // 87: dota.CMsgGCToServerLobbyHeroBanRates - (*CMsgSignOutGuildContractProgress)(nil), // 88: dota.CMsgSignOutGuildContractProgress - (*CMsgSignOutGuildChallengeProgress)(nil), // 89: dota.CMsgSignOutGuildChallengeProgress - (*CMsgSignOutMVPStats)(nil), // 90: dota.CMsgSignOutMVPStats - (*CMsgGCToServerRecordTrainingData)(nil), // 91: dota.CMsgGCToServerRecordTrainingData - (*CMsgServerToGCGetGuildContracts)(nil), // 92: dota.CMsgServerToGCGetGuildContracts - (*CMsgServerToGCGetGuildContractsResponse)(nil), // 93: dota.CMsgServerToGCGetGuildContractsResponse - (*CMsgMatchDiretideCandy)(nil), // 94: dota.CMsgMatchDiretideCandy - (*CMsgGCToServerCheerData)(nil), // 95: dota.CMsgGCToServerCheerData - (*CMsgCheerConfig)(nil), // 96: dota.CMsgCheerConfig - (*CMsgGCToServerCheerConfig)(nil), // 97: dota.CMsgGCToServerCheerConfig - (*CMsgServerToGCGetCheerConfig)(nil), // 98: dota.CMsgServerToGCGetCheerConfig - (*CMsgServerToGCGetCheerConfigResponse)(nil), // 99: dota.CMsgServerToGCGetCheerConfigResponse - (*CMsgGCToServerCheerScalesOverride)(nil), // 100: dota.CMsgGCToServerCheerScalesOverride - (*CMsgGCToServerGetCheerState)(nil), // 101: dota.CMsgGCToServerGetCheerState - (*CMsgCheerTypeState)(nil), // 102: dota.CMsgCheerTypeState - (*CMsgCheerState)(nil), // 103: dota.CMsgCheerState - (*CMsgServerToGCReportCheerState)(nil), // 104: dota.CMsgServerToGCReportCheerState - (*CMsgServerToGCGetStickerHeroes)(nil), // 105: dota.CMsgServerToGCGetStickerHeroes - (*CMsgServerToGCGetStickerHeroesResponse)(nil), // 106: dota.CMsgServerToGCGetStickerHeroesResponse - (*CMsgGCToServerSteamLearnAccessTokensChanged)(nil), // 107: dota.CMsgGCToServerSteamLearnAccessTokensChanged - (*CMsgGCToServerSteamLearnUseHTTP)(nil), // 108: dota.CMsgGCToServerSteamLearnUseHTTP - (*CMsgSteamLearnMatchInfo)(nil), // 109: dota.CMsgSteamLearnMatchInfo - (*CMsgSteamLearnMatchInfoPlayer)(nil), // 110: dota.CMsgSteamLearnMatchInfoPlayer - (*CMsgSteamLearnMatchHeroesV3)(nil), // 111: dota.CMsgSteamLearnMatchHeroesV3 - (*CMsgSteamLearnMatchHeroV3)(nil), // 112: dota.CMsgSteamLearnMatchHeroV3 - (*CMsgSteamLearnPlayerTimedStats)(nil), // 113: dota.CMsgSteamLearnPlayerTimedStats - (*CMsgSteamLearnMatchStateV5)(nil), // 114: dota.CMsgSteamLearnMatchStateV5 - (*CMsgSteamLearnItemPurchase)(nil), // 115: dota.CMsgSteamLearnItemPurchase - (*CMsgSteamLearnPreGameItemPurchases)(nil), // 116: dota.CMsgSteamLearnPreGameItemPurchases - (*CMsgSteamLearnNeutralItemPurchase)(nil), // 117: dota.CMsgSteamLearnNeutralItemPurchase - (*CMsgSteamLearnAbilitySkill)(nil), // 118: dota.CMsgSteamLearnAbilitySkill - (*CMsgSteamLearnEarlyGameItemPurchases)(nil), // 119: dota.CMsgSteamLearnEarlyGameItemPurchases - (*CMsgSteamLearnLateGameItemPurchases)(nil), // 120: dota.CMsgSteamLearnLateGameItemPurchases - (*CMsgSteamLearnWardPlacement)(nil), // 121: dota.CMsgSteamLearnWardPlacement - (*CMsgSignOutMuertaMinigame)(nil), // 122: dota.CMsgSignOutMuertaMinigame - (*CMsgSignOutMapStats)(nil), // 123: dota.CMsgSignOutMapStats - (*CMsgServerToGCNewBloomGift)(nil), // 124: dota.CMsgServerToGCNewBloomGift - (*CMsgServerToGCNewBloomGiftResponse)(nil), // 125: dota.CMsgServerToGCNewBloomGiftResponse - (*CMsgSignOutOverworld)(nil), // 126: dota.CMsgSignOutOverworld - (*CMsgPoorNetworkConditions_Player)(nil), // 127: dota.CMsgPoorNetworkConditions.Player - (*CMsgConnectedPlayers_Player)(nil), // 128: dota.CMsgConnectedPlayers.Player - (*CMsgConnectedPlayers_PlayerDraft)(nil), // 129: dota.CMsgConnectedPlayers.PlayerDraft - (*CMsgSignOutGameplayStats_CPlayer)(nil), // 130: dota.CMsgSignOutGameplayStats.CPlayer - (*CMsgSignOutGameplayStats_CTeam)(nil), // 131: dota.CMsgSignOutGameplayStats.CTeam - (*CMsgGameMatchSignOut_CTeam)(nil), // 132: dota.CMsgGameMatchSignOut.CTeam - (*CMsgGameMatchSignOut_CAdditionalSignoutMsg)(nil), // 133: dota.CMsgGameMatchSignOut.CAdditionalSignoutMsg - (*CMsgGameMatchSignOut_CSocialFeedMatchEvent)(nil), // 134: dota.CMsgGameMatchSignOut.CSocialFeedMatchEvent - (*CMsgGameMatchSignOut_CCustomGameData)(nil), // 135: dota.CMsgGameMatchSignOut.CCustomGameData - (*CMsgGameMatchSignOut_EventGameLeaderboardEntry)(nil), // 136: dota.CMsgGameMatchSignOut.EventGameLeaderboardEntry - (*CMsgGameMatchSignOut_WardPlacement)(nil), // 137: dota.CMsgGameMatchSignOut.WardPlacement - (*CMsgGameMatchSignOut_CTeam_CPlayer)(nil), // 138: dota.CMsgGameMatchSignOut.CTeam.CPlayer - (*CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData)(nil), // 139: dota.CMsgGameMatchSignOut.CTeam.CPlayer.CCustomGameData - (*CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived)(nil), // 140: dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived - (*CMsgSignOutTextMuteInfo_TextMuteMessage)(nil), // 141: dota.CMsgSignOutTextMuteInfo.TextMuteMessage - (*CMsgSignOutCommunicationSummary_PlayerCommunication)(nil), // 142: dota.CMsgSignOutCommunicationSummary.PlayerCommunication - (*CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail)(nil), // 143: dota.CMsgSignOutCommunicationSummary.PlayerCommunication.PingDetail - (*CMsgGameMatchSignoutResponse_PlayerMetadata)(nil), // 144: dota.CMsgGameMatchSignoutResponse.PlayerMetadata - (*CMsgDOTALiveScoreboardUpdate_Team)(nil), // 145: dota.CMsgDOTALiveScoreboardUpdate.Team - (*CMsgDOTALiveScoreboardUpdate_Team_Player)(nil), // 146: dota.CMsgDOTALiveScoreboardUpdate.Team.Player - (*CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility)(nil), // 147: dota.CMsgDOTALiveScoreboardUpdate.Team.Player.HeroAbility - (*CMsgServerToGCRequestBatchPlayerResourcesResponse_Result)(nil), // 148: dota.CMsgServerToGCRequestBatchPlayerResourcesResponse.Result - (*CMsgDOTAAwardEventPoints_AwardPoints)(nil), // 149: dota.CMsgDOTAAwardEventPoints.AwardPoints - (*CMsgServerToGCMatchConnectionStats_Player)(nil), // 150: dota.CMsgServerToGCMatchConnectionStats.Player - (*CSerializedCombatLog_Dictionary)(nil), // 151: dota.CSerializedCombatLog.Dictionary - (*CSerializedCombatLog_Dictionary_DictString)(nil), // 152: dota.CSerializedCombatLog.Dictionary.DictString - (*CMsgServerToGCVictoryPredictions_PredictionItem)(nil), // 153: dota.CMsgServerToGCVictoryPredictions.PredictionItem - (*CMsgServerToGCVictoryPredictions_Record)(nil), // 154: dota.CMsgServerToGCVictoryPredictions.Record - (*CMsgServerToGCKillSummaries_KillSummary)(nil), // 155: dota.CMsgServerToGCKillSummaries.KillSummary - (*CMsgSignOutUpdatePlayerChallenge_Challenge)(nil), // 156: dota.CMsgSignOutUpdatePlayerChallenge.Challenge - (*CMsgSpendWager_Player)(nil), // 157: dota.CMsgSpendWager.Player - (*CMsgSignOutXPCoins_Player)(nil), // 158: dota.CMsgSignOutXPCoins.Player - (*CMsgSignOutBounties_Bounty)(nil), // 159: dota.CMsgSignOutBounties.Bounty - (*CMsgSignOutCommunityGoalProgress_EventGoalIncrement)(nil), // 160: dota.CMsgSignOutCommunityGoalProgress.EventGoalIncrement - (*CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult)(nil), // 161: dota.CMsgServerToGCCompendiumInGamePredictionResults.PredictionResult - (*CMsgServerToGCCompendiumChosenInGamePredictions_Prediction)(nil), // 162: dota.CMsgServerToGCCompendiumChosenInGamePredictions.Prediction - (*CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase)(nil), // 163: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase - (*CMsgServerToGCMatchPlayerItemPurchaseHistory_Player)(nil), // 164: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.Player - (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip)(nil), // 165: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ItemEquip - (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player)(nil), // 166: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.Player - (*CMsgServerToGCMatchStateHistory_PlayerState)(nil), // 167: dota.CMsgServerToGCMatchStateHistory.PlayerState - (*CMsgServerToGCMatchStateHistory_TeamState)(nil), // 168: dota.CMsgServerToGCMatchStateHistory.TeamState - (*CMsgServerToGCMatchStateHistory_MatchState)(nil), // 169: dota.CMsgServerToGCMatchStateHistory.MatchState - (*CMsgServerToGCPlayerChallengeHistory_PlayerChallenge)(nil), // 170: dota.CMsgServerToGCPlayerChallengeHistory.PlayerChallenge - (*CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults)(nil), // 171: dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse.MapResults - (*CMsgNeutralItemStats_NeutralItem)(nil), // 172: dota.CMsgNeutralItemStats.NeutralItem - (*CMsgGCToServerLobbyHeroBanRates_HeroBanEntry)(nil), // 173: dota.CMsgGCToServerLobbyHeroBanRates.HeroBanEntry - (*CMsgSignOutGuildContractProgress_CompletedGuildEventContracts)(nil), // 174: dota.CMsgSignOutGuildContractProgress.CompletedGuildEventContracts - (*CMsgSignOutGuildContractProgress_PlayerContract)(nil), // 175: dota.CMsgSignOutGuildContractProgress.PlayerContract - (*CMsgSignOutGuildChallengeProgress_ChallengeProgress)(nil), // 176: dota.CMsgSignOutGuildChallengeProgress.ChallengeProgress - (*CMsgSignOutMVPStats_Player)(nil), // 177: dota.CMsgSignOutMVPStats.Player - (*CMsgSignOutMVPStats_Player_KillEaterEvent)(nil), // 178: dota.CMsgSignOutMVPStats.Player.KillEaterEvent - (*CMsgServerToGCGetGuildContractsResponse_ContractDetails)(nil), // 179: dota.CMsgServerToGCGetGuildContractsResponse.ContractDetails - (*CMsgServerToGCGetGuildContractsResponse_Player)(nil), // 180: dota.CMsgServerToGCGetGuildContractsResponse.Player - (*CMsgMatchDiretideCandy_CandyDetails)(nil), // 181: dota.CMsgMatchDiretideCandy.CandyDetails - (*CMsgMatchDiretideCandy_PlayerCandy)(nil), // 182: dota.CMsgMatchDiretideCandy.PlayerCandy - (*CMsgGCToServerCheerData_CheerTypeCount)(nil), // 183: dota.CMsgGCToServerCheerData.CheerTypeCount - (*CMsgServerToGCGetStickerHeroesResponse_Player)(nil), // 184: dota.CMsgServerToGCGetStickerHeroesResponse.Player - (*CMsgSteamLearnPlayerTimedStats_StatBucket)(nil), // 185: dota.CMsgSteamLearnPlayerTimedStats.StatBucket - (*CMsgSteamLearnMatchStateV5_PlayerState)(nil), // 186: dota.CMsgSteamLearnMatchStateV5.PlayerState - (*CMsgSteamLearnMatchStateV5_TeamState)(nil), // 187: dota.CMsgSteamLearnMatchStateV5.TeamState - (*CMsgSteamLearnWardPlacement_Location)(nil), // 188: dota.CMsgSteamLearnWardPlacement.Location - (*CMsgSignOutMapStats_Player)(nil), // 189: dota.CMsgSignOutMapStats.Player - (*CMsgSignOutOverworld_Player)(nil), // 190: dota.CMsgSignOutOverworld.Player - (DOTA_GameState)(0), // 191: dota.DOTA_GameState - (DOTALeaverStatusT)(0), // 192: dota.DOTALeaverStatus_t - (*CMsgLeaverState)(nil), // 193: dota.CMsgLeaverState - (ENetworkDisconnectionReason)(0), // 194: dota.ENetworkDisconnectionReason - (*CMsgDOTAFantasyPlayerStats)(nil), // 195: dota.CMsgDOTAFantasyPlayerStats - (*CMsgDOTARealtimeGameStatsTerse)(nil), // 196: dota.CMsgDOTARealtimeGameStatsTerse - (*CMsgEconPlayerStrangeCountAdjustment)(nil), // 197: dota.CMsgEconPlayerStrangeCountAdjustment - (*CExtraMsgBlock)(nil), // 198: dota.CExtraMsgBlock - (DOTA_GC_TEAM)(0), // 199: dota.DOTA_GC_TEAM - (*CMsgTrackedStat)(nil), // 200: dota.CMsgTrackedStat - (*CMatchHeroSelectEvent)(nil), // 201: dota.CMatchHeroSelectEvent - (DOTABotDifficulty)(0), // 202: dota.DOTABotDifficulty - (*CLobbyTimedRewardDetails)(nil), // 203: dota.CLobbyTimedRewardDetails - (*CSODOTALobbyMember)(nil), // 204: dota.CSODOTALobbyMember - (*CMsgDOTAMatch)(nil), // 205: dota.CMsgDOTAMatch - (*CMvpData)(nil), // 206: dota.CMvpData - (*CMsgOverworldMatchRewards)(nil), // 207: dota.CMsgOverworldMatchRewards - (EEvent)(0), // 208: dota.EEvent - (DOTA_TournamentEvents)(0), // 209: dota.DOTA_TournamentEvents - (*CProtoItemHeroStatue)(nil), // 210: dota.CProtoItemHeroStatue - (*CMsgDOTACombatLogEntry)(nil), // 211: dota.CMsgDOTACombatLogEntry - (*CMsgClientToGCRerollPlayerChallenge)(nil), // 212: dota.CMsgClientToGCRerollPlayerChallenge - (*CMsgSteamLearnAccessTokens)(nil), // 213: dota.CMsgSteamLearnAccessTokens - (*CMsgMapStatsSnapshot)(nil), // 214: dota.CMsgMapStatsSnapshot - (ENewBloomGiftingResponse)(0), // 215: dota.ENewBloomGiftingResponse - (*CMatchPlayerTimedStats)(nil), // 216: dota.CMatchPlayerTimedStats - (*CMatchTeamTimedStats)(nil), // 217: dota.CMatchTeamTimedStats - (*CMatchPlayerAbilityUpgrade)(nil), // 218: dota.CMatchPlayerAbilityUpgrade - (*CMatchAdditionalUnitInventory)(nil), // 219: dota.CMatchAdditionalUnitInventory - (*CMatchPlayerPermanentBuff)(nil), // 220: dota.CMatchPlayerPermanentBuff - (EPlayerChallengeHistoryType)(0), // 221: dota.EPlayerChallengeHistoryType - (*CMsgStickerHeroes)(nil), // 222: dota.CMsgStickerHeroes + (*CMsgPoorNetworkConditions)(nil), // 6: dota.CMsgPoorNetworkConditions + (*CMsgGameserverCrash)(nil), // 7: dota.CMsgGameserverCrash + (*CMsgConnectedPlayers)(nil), // 8: dota.CMsgConnectedPlayers + (*CMsgGameServerInfo)(nil), // 9: dota.CMsgGameServerInfo + (*CMsgLeaverDetected)(nil), // 10: dota.CMsgLeaverDetected + (*CMsgLeaverDetectedResponse)(nil), // 11: dota.CMsgLeaverDetectedResponse + (*CMsgDOTAFantasyFinalPlayerStats)(nil), // 12: dota.CMsgDOTAFantasyFinalPlayerStats + (*CMsgDOTAFantasyLivePlayerStats)(nil), // 13: dota.CMsgDOTAFantasyLivePlayerStats + (*CMsgServerToGCRealtimeStats)(nil), // 14: dota.CMsgServerToGCRealtimeStats + (*CMsgGCToServerRealtimeStatsStartStop)(nil), // 15: dota.CMsgGCToServerRealtimeStatsStartStop + (*CMsgGCToServerUpdateSteamBroadcasting)(nil), // 16: dota.CMsgGCToServerUpdateSteamBroadcasting + (*CMsgSignOutGameplayStats)(nil), // 17: dota.CMsgSignOutGameplayStats + (*CMsgGameMatchSignOut)(nil), // 18: dota.CMsgGameMatchSignOut + (*CMsgSignOutDraftInfo)(nil), // 19: dota.CMsgSignOutDraftInfo + (*CMsgSignOutBotInfo)(nil), // 20: dota.CMsgSignOutBotInfo + (*CMsgSignOutTextMuteInfo)(nil), // 21: dota.CMsgSignOutTextMuteInfo + (*CMsgSignOutPlayerStats)(nil), // 22: dota.CMsgSignOutPlayerStats + (*CMsgSignOutCommunicationSummary)(nil), // 23: dota.CMsgSignOutCommunicationSummary + (*CMsgGameMatchSignoutResponse)(nil), // 24: dota.CMsgGameMatchSignoutResponse + (*CMsgGameMatchSignOutPermissionRequest)(nil), // 25: dota.CMsgGameMatchSignOutPermissionRequest + (*CMsgGameMatchSignOutPermissionResponse)(nil), // 26: dota.CMsgGameMatchSignOutPermissionResponse + (*CMsgGameMatchSignOutEventGameData)(nil), // 27: dota.CMsgGameMatchSignOutEventGameData + (*CMsgGameMatchSignOutPerfData)(nil), // 28: dota.CMsgGameMatchSignOutPerfData + (*CMsgGameMatchSignOutBanData)(nil), // 29: dota.CMsgGameMatchSignOutBanData + (*CMsgDOTALiveScoreboardUpdate)(nil), // 30: dota.CMsgDOTALiveScoreboardUpdate + (*CMsgServerToGCRequestBatchPlayerResources)(nil), // 31: dota.CMsgServerToGCRequestBatchPlayerResources + (*CMsgServerToGCRequestBatchPlayerResourcesResponse)(nil), // 32: dota.CMsgServerToGCRequestBatchPlayerResourcesResponse + (*CMsgDOTAPlayerFailedToConnect)(nil), // 33: dota.CMsgDOTAPlayerFailedToConnect + (*CMsgGCToRelayConnect)(nil), // 34: dota.CMsgGCToRelayConnect + (*CMsgGCGCToLANServerRelayConnect)(nil), // 35: dota.CMsgGCGCToLANServerRelayConnect + (*CMsgGCBanStatusRequest)(nil), // 36: dota.CMsgGCBanStatusRequest + (*CMsgGCBanStatusResponse)(nil), // 37: dota.CMsgGCBanStatusResponse + (*CMsgTournamentItemEvent)(nil), // 38: dota.CMsgTournamentItemEvent + (*CMsgTournamentItemEventResponse)(nil), // 39: dota.CMsgTournamentItemEventResponse + (*CMsgTeamFanfare)(nil), // 40: dota.CMsgTeamFanfare + (*CMsgResponseTeamFanfare)(nil), // 41: dota.CMsgResponseTeamFanfare + (*CMsgDOTAAwardEventPoints)(nil), // 42: dota.CMsgDOTAAwardEventPoints + (*CMsgGCToServerPingRequest)(nil), // 43: dota.CMsgGCToServerPingRequest + (*CMsgGCToServerPingResponse)(nil), // 44: dota.CMsgGCToServerPingResponse + (*CMsgServerToGCMatchConnectionStats)(nil), // 45: dota.CMsgServerToGCMatchConnectionStats + (*CMsgServerGCUpdateSpectatorCount)(nil), // 46: dota.CMsgServerGCUpdateSpectatorCount + (*CSerializedCombatLog)(nil), // 47: dota.CSerializedCombatLog + (*CMsgServerToGCVictoryPredictions)(nil), // 48: dota.CMsgServerToGCVictoryPredictions + (*CMsgServerToGCRequestStatus)(nil), // 49: dota.CMsgServerToGCRequestStatus + (*CMsgServerToGCRequestStatus_Response)(nil), // 50: dota.CMsgServerToGCRequestStatus_Response + (*CMsgGCToServerEvaluateToxicChat)(nil), // 51: dota.CMsgGCToServerEvaluateToxicChat + (*CMsgServerToGCEvaluateToxicChat)(nil), // 52: dota.CMsgServerToGCEvaluateToxicChat + (*CMsgServerToGCEvaluateToxicChatResponse)(nil), // 53: dota.CMsgServerToGCEvaluateToxicChatResponse + (*CMsgSignOutAssassinMiniGameInfo)(nil), // 54: dota.CMsgSignOutAssassinMiniGameInfo + (*CMsgServerToGCKillSummaries)(nil), // 55: dota.CMsgServerToGCKillSummaries + (*CMsgServerToGCLockCharmTrading)(nil), // 56: dota.CMsgServerToGCLockCharmTrading + (*CMsgSignOutUpdatePlayerChallenge)(nil), // 57: dota.CMsgSignOutUpdatePlayerChallenge + (*CMsgServerToGCRerollPlayerChallenge)(nil), // 58: dota.CMsgServerToGCRerollPlayerChallenge + (*CMsgSpendWager)(nil), // 59: dota.CMsgSpendWager + (*CMsgSignOutXPCoins)(nil), // 60: dota.CMsgSignOutXPCoins + (*CMsgSignOutBounties)(nil), // 61: dota.CMsgSignOutBounties + (*CMsgSignOutCommunityGoalProgress)(nil), // 62: dota.CMsgSignOutCommunityGoalProgress + (*CMsgServerToGCCloseCompendiumInGamePredictionVoting)(nil), // 63: dota.CMsgServerToGCCloseCompendiumInGamePredictionVoting + (*CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse)(nil), // 64: dota.CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse + (*CMsgServerToGCCompendiumInGamePredictionResults)(nil), // 65: dota.CMsgServerToGCCompendiumInGamePredictionResults + (*CMsgServerToGCCompendiumChosenInGamePredictions)(nil), // 66: dota.CMsgServerToGCCompendiumChosenInGamePredictions + (*CMsgGCToGCCompendiumInGamePredictionResults)(nil), // 67: dota.CMsgGCToGCCompendiumInGamePredictionResults + (*CMsgServerToGCMatchPlayerItemPurchaseHistory)(nil), // 68: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory + (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory)(nil), // 69: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory + (*CMsgServerToGCMatchStateHistory)(nil), // 70: dota.CMsgServerToGCMatchStateHistory + (*CMsgMatchStateSteamMLEntry)(nil), // 71: dota.CMsgMatchStateSteamMLEntry + (*CMsgLaneSelectionSteamMLEntry)(nil), // 72: dota.CMsgLaneSelectionSteamMLEntry + (*CMsgAbilitySelectionSteamMLEntry)(nil), // 73: dota.CMsgAbilitySelectionSteamMLEntry + (*CMsgItemPurchasePregameSteamMLEntry)(nil), // 74: dota.CMsgItemPurchasePregameSteamMLEntry + (*CMsgItemPurchaseSteamMLEntry)(nil), // 75: dota.CMsgItemPurchaseSteamMLEntry + (*CMsgItemPurchaseSequenceSteamMLEntry)(nil), // 76: dota.CMsgItemPurchaseSequenceSteamMLEntry + (*CMsgServerToGCCavernCrawlIsHeroActive)(nil), // 77: dota.CMsgServerToGCCavernCrawlIsHeroActive + (*CMsgServerToGCPlayerChallengeHistory)(nil), // 78: dota.CMsgServerToGCPlayerChallengeHistory + (*CMsgServerToGCCavernCrawlIsHeroActiveResponse)(nil), // 79: dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse + (*CMsgNeutralItemStats)(nil), // 80: dota.CMsgNeutralItemStats + (*CMsgGCToServerLobbyHeroBanRates)(nil), // 81: dota.CMsgGCToServerLobbyHeroBanRates + (*CMsgSignOutGuildContractProgress)(nil), // 82: dota.CMsgSignOutGuildContractProgress + (*CMsgSignOutGuildChallengeProgress)(nil), // 83: dota.CMsgSignOutGuildChallengeProgress + (*CMsgSignOutMVPStats)(nil), // 84: dota.CMsgSignOutMVPStats + (*CMsgGCToServerRecordTrainingData)(nil), // 85: dota.CMsgGCToServerRecordTrainingData + (*CMsgServerToGCGetGuildContracts)(nil), // 86: dota.CMsgServerToGCGetGuildContracts + (*CMsgServerToGCGetGuildContractsResponse)(nil), // 87: dota.CMsgServerToGCGetGuildContractsResponse + (*CMsgMatchDiretideCandy)(nil), // 88: dota.CMsgMatchDiretideCandy + (*CMsgGCToServerCheerData)(nil), // 89: dota.CMsgGCToServerCheerData + (*CMsgCheerConfig)(nil), // 90: dota.CMsgCheerConfig + (*CMsgGCToServerCheerConfig)(nil), // 91: dota.CMsgGCToServerCheerConfig + (*CMsgServerToGCGetCheerConfig)(nil), // 92: dota.CMsgServerToGCGetCheerConfig + (*CMsgServerToGCGetCheerConfigResponse)(nil), // 93: dota.CMsgServerToGCGetCheerConfigResponse + (*CMsgGCToServerCheerScalesOverride)(nil), // 94: dota.CMsgGCToServerCheerScalesOverride + (*CMsgGCToServerGetCheerState)(nil), // 95: dota.CMsgGCToServerGetCheerState + (*CMsgCheerTypeState)(nil), // 96: dota.CMsgCheerTypeState + (*CMsgCheerState)(nil), // 97: dota.CMsgCheerState + (*CMsgServerToGCReportCheerState)(nil), // 98: dota.CMsgServerToGCReportCheerState + (*CMsgServerToGCGetStickerHeroes)(nil), // 99: dota.CMsgServerToGCGetStickerHeroes + (*CMsgServerToGCGetStickerHeroesResponse)(nil), // 100: dota.CMsgServerToGCGetStickerHeroesResponse + (*CMsgSteamLearnMatchInfo)(nil), // 101: dota.CMsgSteamLearnMatchInfo + (*CMsgSteamLearnMatchInfoPlayer)(nil), // 102: dota.CMsgSteamLearnMatchInfoPlayer + (*CMsgSteamLearnMatchInfoTeam)(nil), // 103: dota.CMsgSteamLearnMatchInfoTeam + (*CMsgSteamLearnMatchHeroesV3)(nil), // 104: dota.CMsgSteamLearnMatchHeroesV3 + (*CMsgSteamLearnMatchHeroV3)(nil), // 105: dota.CMsgSteamLearnMatchHeroV3 + (*CMsgSteamLearnPlayerTimedStats)(nil), // 106: dota.CMsgSteamLearnPlayerTimedStats + (*CMsgSteamLearnMatchStateV5)(nil), // 107: dota.CMsgSteamLearnMatchStateV5 + (*CMsgSteamLearnItemPurchase)(nil), // 108: dota.CMsgSteamLearnItemPurchase + (*CMsgSteamLearnPreGameItemPurchases)(nil), // 109: dota.CMsgSteamLearnPreGameItemPurchases + (*CMsgSteamLearnNeutralItemPurchase)(nil), // 110: dota.CMsgSteamLearnNeutralItemPurchase + (*CMsgSteamLearnNeutralItemPurchaseV2)(nil), // 111: dota.CMsgSteamLearnNeutralItemPurchaseV2 + (*CMsgSteamLearnAbilitySkill)(nil), // 112: dota.CMsgSteamLearnAbilitySkill + (*CMsgSteamLearnEarlyGameItemPurchasesV2)(nil), // 113: dota.CMsgSteamLearnEarlyGameItemPurchasesV2 + (*CMsgSteamLearnLateGameItemPurchasesV2)(nil), // 114: dota.CMsgSteamLearnLateGameItemPurchasesV2 + (*CMsgSteamLearnMainGameItemPurchases)(nil), // 115: dota.CMsgSteamLearnMainGameItemPurchases + (*CMsgSteamLearnWardPlacement)(nil), // 116: dota.CMsgSteamLearnWardPlacement + (*CMsgSignOutMuertaMinigame)(nil), // 117: dota.CMsgSignOutMuertaMinigame + (*CMsgSignOutMapStats)(nil), // 118: dota.CMsgSignOutMapStats + (*CMsgServerToGCNewBloomGift)(nil), // 119: dota.CMsgServerToGCNewBloomGift + (*CMsgServerToGCNewBloomGiftResponse)(nil), // 120: dota.CMsgServerToGCNewBloomGiftResponse + (*CMsgSignOutOverworld)(nil), // 121: dota.CMsgSignOutOverworld + (*CMsgSignOutCraftworks)(nil), // 122: dota.CMsgSignOutCraftworks + (*CMsgPoorNetworkConditions_Player)(nil), // 123: dota.CMsgPoorNetworkConditions.Player + (*CMsgConnectedPlayers_Player)(nil), // 124: dota.CMsgConnectedPlayers.Player + (*CMsgConnectedPlayers_PlayerDraft)(nil), // 125: dota.CMsgConnectedPlayers.PlayerDraft + (*CMsgSignOutGameplayStats_CPlayer)(nil), // 126: dota.CMsgSignOutGameplayStats.CPlayer + (*CMsgSignOutGameplayStats_CTeam)(nil), // 127: dota.CMsgSignOutGameplayStats.CTeam + (*CMsgGameMatchSignOut_CTeam)(nil), // 128: dota.CMsgGameMatchSignOut.CTeam + (*CMsgGameMatchSignOut_CAdditionalSignoutMsg)(nil), // 129: dota.CMsgGameMatchSignOut.CAdditionalSignoutMsg + (*CMsgGameMatchSignOut_CSocialFeedMatchEvent)(nil), // 130: dota.CMsgGameMatchSignOut.CSocialFeedMatchEvent + (*CMsgGameMatchSignOut_CCustomGameData)(nil), // 131: dota.CMsgGameMatchSignOut.CCustomGameData + (*CMsgGameMatchSignOut_EventGameLeaderboardEntry)(nil), // 132: dota.CMsgGameMatchSignOut.EventGameLeaderboardEntry + (*CMsgGameMatchSignOut_WardPlacement)(nil), // 133: dota.CMsgGameMatchSignOut.WardPlacement + (*CMsgGameMatchSignOut_CTeam_CPlayer)(nil), // 134: dota.CMsgGameMatchSignOut.CTeam.CPlayer + (*CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData)(nil), // 135: dota.CMsgGameMatchSignOut.CTeam.CPlayer.CCustomGameData + (*CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived)(nil), // 136: dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived + (*CMsgSignOutTextMuteInfo_TextMuteMessage)(nil), // 137: dota.CMsgSignOutTextMuteInfo.TextMuteMessage + (*CMsgSignOutCommunicationSummary_PlayerCommunication)(nil), // 138: dota.CMsgSignOutCommunicationSummary.PlayerCommunication + (*CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail)(nil), // 139: dota.CMsgSignOutCommunicationSummary.PlayerCommunication.PingDetail + (*CMsgGameMatchSignoutResponse_PlayerMetadata)(nil), // 140: dota.CMsgGameMatchSignoutResponse.PlayerMetadata + (*CMsgDOTALiveScoreboardUpdate_Team)(nil), // 141: dota.CMsgDOTALiveScoreboardUpdate.Team + (*CMsgDOTALiveScoreboardUpdate_Team_Player)(nil), // 142: dota.CMsgDOTALiveScoreboardUpdate.Team.Player + (*CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility)(nil), // 143: dota.CMsgDOTALiveScoreboardUpdate.Team.Player.HeroAbility + (*CMsgServerToGCRequestBatchPlayerResourcesResponse_Result)(nil), // 144: dota.CMsgServerToGCRequestBatchPlayerResourcesResponse.Result + (*CMsgDOTAAwardEventPoints_AwardPoints)(nil), // 145: dota.CMsgDOTAAwardEventPoints.AwardPoints + (*CMsgServerToGCMatchConnectionStats_Player)(nil), // 146: dota.CMsgServerToGCMatchConnectionStats.Player + (*CSerializedCombatLog_Dictionary)(nil), // 147: dota.CSerializedCombatLog.Dictionary + (*CSerializedCombatLog_Dictionary_DictString)(nil), // 148: dota.CSerializedCombatLog.Dictionary.DictString + (*CMsgServerToGCVictoryPredictions_PredictionItem)(nil), // 149: dota.CMsgServerToGCVictoryPredictions.PredictionItem + (*CMsgServerToGCVictoryPredictions_Record)(nil), // 150: dota.CMsgServerToGCVictoryPredictions.Record + (*CMsgServerToGCKillSummaries_KillSummary)(nil), // 151: dota.CMsgServerToGCKillSummaries.KillSummary + (*CMsgSignOutUpdatePlayerChallenge_Challenge)(nil), // 152: dota.CMsgSignOutUpdatePlayerChallenge.Challenge + (*CMsgSpendWager_Player)(nil), // 153: dota.CMsgSpendWager.Player + (*CMsgSignOutXPCoins_Player)(nil), // 154: dota.CMsgSignOutXPCoins.Player + (*CMsgSignOutBounties_Bounty)(nil), // 155: dota.CMsgSignOutBounties.Bounty + (*CMsgSignOutCommunityGoalProgress_EventGoalIncrement)(nil), // 156: dota.CMsgSignOutCommunityGoalProgress.EventGoalIncrement + (*CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult)(nil), // 157: dota.CMsgServerToGCCompendiumInGamePredictionResults.PredictionResult + (*CMsgServerToGCCompendiumChosenInGamePredictions_Prediction)(nil), // 158: dota.CMsgServerToGCCompendiumChosenInGamePredictions.Prediction + (*CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase)(nil), // 159: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase + (*CMsgServerToGCMatchPlayerItemPurchaseHistory_Player)(nil), // 160: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.Player + (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip)(nil), // 161: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ItemEquip + (*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player)(nil), // 162: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.Player + (*CMsgServerToGCMatchStateHistory_PlayerState)(nil), // 163: dota.CMsgServerToGCMatchStateHistory.PlayerState + (*CMsgServerToGCMatchStateHistory_TeamState)(nil), // 164: dota.CMsgServerToGCMatchStateHistory.TeamState + (*CMsgServerToGCMatchStateHistory_MatchState)(nil), // 165: dota.CMsgServerToGCMatchStateHistory.MatchState + (*CMsgServerToGCPlayerChallengeHistory_PlayerChallenge)(nil), // 166: dota.CMsgServerToGCPlayerChallengeHistory.PlayerChallenge + (*CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults)(nil), // 167: dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse.MapResults + (*CMsgNeutralItemStats_NeutralItem)(nil), // 168: dota.CMsgNeutralItemStats.NeutralItem + (*CMsgGCToServerLobbyHeroBanRates_HeroBanEntry)(nil), // 169: dota.CMsgGCToServerLobbyHeroBanRates.HeroBanEntry + (*CMsgSignOutGuildContractProgress_CompletedGuildEventContracts)(nil), // 170: dota.CMsgSignOutGuildContractProgress.CompletedGuildEventContracts + (*CMsgSignOutGuildContractProgress_PlayerContract)(nil), // 171: dota.CMsgSignOutGuildContractProgress.PlayerContract + (*CMsgSignOutGuildChallengeProgress_ChallengeProgress)(nil), // 172: dota.CMsgSignOutGuildChallengeProgress.ChallengeProgress + (*CMsgSignOutMVPStats_Player)(nil), // 173: dota.CMsgSignOutMVPStats.Player + (*CMsgSignOutMVPStats_Player_KillEaterEvent)(nil), // 174: dota.CMsgSignOutMVPStats.Player.KillEaterEvent + (*CMsgServerToGCGetGuildContractsResponse_ContractDetails)(nil), // 175: dota.CMsgServerToGCGetGuildContractsResponse.ContractDetails + (*CMsgServerToGCGetGuildContractsResponse_Player)(nil), // 176: dota.CMsgServerToGCGetGuildContractsResponse.Player + (*CMsgMatchDiretideCandy_CandyDetails)(nil), // 177: dota.CMsgMatchDiretideCandy.CandyDetails + (*CMsgMatchDiretideCandy_PlayerCandy)(nil), // 178: dota.CMsgMatchDiretideCandy.PlayerCandy + (*CMsgGCToServerCheerData_CheerTypeCount)(nil), // 179: dota.CMsgGCToServerCheerData.CheerTypeCount + (*CMsgServerToGCGetStickerHeroesResponse_Player)(nil), // 180: dota.CMsgServerToGCGetStickerHeroesResponse.Player + (*CMsgSteamLearnMatchInfoTeam_Player)(nil), // 181: dota.CMsgSteamLearnMatchInfoTeam.Player + (*CMsgSteamLearnPlayerTimedStats_StatBucket)(nil), // 182: dota.CMsgSteamLearnPlayerTimedStats.StatBucket + (*CMsgSteamLearnMatchStateV5_PlayerState)(nil), // 183: dota.CMsgSteamLearnMatchStateV5.PlayerState + (*CMsgSteamLearnMatchStateV5_TeamState)(nil), // 184: dota.CMsgSteamLearnMatchStateV5.TeamState + (*CMsgSteamLearnWardPlacement_Location)(nil), // 185: dota.CMsgSteamLearnWardPlacement.Location + (*CMsgSignOutMapStats_Player)(nil), // 186: dota.CMsgSignOutMapStats.Player + (*CMsgSignOutOverworld_Player)(nil), // 187: dota.CMsgSignOutOverworld.Player + (*CMsgSignOutCraftworks_Player)(nil), // 188: dota.CMsgSignOutCraftworks.Player + (DOTA_GameState)(0), // 189: dota.DOTA_GameState + (DOTALeaverStatusT)(0), // 190: dota.DOTALeaverStatus_t + (*CMsgLeaverState)(nil), // 191: dota.CMsgLeaverState + (ENetworkDisconnectionReason)(0), // 192: dota.ENetworkDisconnectionReason + (*CMsgDOTAFantasyPlayerStats)(nil), // 193: dota.CMsgDOTAFantasyPlayerStats + (*CMsgDOTARealtimeGameStatsTerse)(nil), // 194: dota.CMsgDOTARealtimeGameStatsTerse + (*CMsgEconPlayerStrangeCountAdjustment)(nil), // 195: dota.CMsgEconPlayerStrangeCountAdjustment + (*CExtraMsgBlock)(nil), // 196: dota.CExtraMsgBlock + (DOTA_GC_TEAM)(0), // 197: dota.DOTA_GC_TEAM + (*CMsgTrackedStat)(nil), // 198: dota.CMsgTrackedStat + (*CMatchHeroSelectEvent)(nil), // 199: dota.CMatchHeroSelectEvent + (DOTABotDifficulty)(0), // 200: dota.DOTABotDifficulty + (*CMsgDOTAMatch)(nil), // 201: dota.CMsgDOTAMatch + (*CMvpData)(nil), // 202: dota.CMvpData + (*CMsgOverworldMatchRewards)(nil), // 203: dota.CMsgOverworldMatchRewards + (EEvent)(0), // 204: dota.EEvent + (DOTA_TournamentEvents)(0), // 205: dota.DOTA_TournamentEvents + (*CProtoItemHeroStatue)(nil), // 206: dota.CProtoItemHeroStatue + (*CMsgDOTACombatLogEntry)(nil), // 207: dota.CMsgDOTACombatLogEntry + (*CMsgClientToGCRerollPlayerChallenge)(nil), // 208: dota.CMsgClientToGCRerollPlayerChallenge + (*CMsgMapStatsSnapshot)(nil), // 209: dota.CMsgMapStatsSnapshot + (ENewBloomGiftingResponse)(0), // 210: dota.ENewBloomGiftingResponse + (*CMatchPlayerTimedStats)(nil), // 211: dota.CMatchPlayerTimedStats + (*CMatchTeamTimedStats)(nil), // 212: dota.CMatchTeamTimedStats + (*CMatchPlayerAbilityUpgrade)(nil), // 213: dota.CMatchPlayerAbilityUpgrade + (*CMatchAdditionalUnitInventory)(nil), // 214: dota.CMatchAdditionalUnitInventory + (*CMatchPlayerPermanentBuff)(nil), // 215: dota.CMatchPlayerPermanentBuff + (EPlayerChallengeHistoryType)(0), // 216: dota.EPlayerChallengeHistoryType + (*CMsgStickerHeroes)(nil), // 217: dota.CMsgStickerHeroes + (*CMsgCraftworksComponents)(nil), // 218: dota.CMsgCraftworksComponents } var file_dota_gcmessages_server_proto_depIdxs = []int32{ 0, // 0: dota.CMsgPoorNetworkConditions.detection_type:type_name -> dota.EPoorNetworkConditionsType - 127, // 1: dota.CMsgPoorNetworkConditions.players:type_name -> dota.CMsgPoorNetworkConditions.Player - 191, // 2: dota.CMsgGameserverCrash.game_state:type_name -> dota.DOTA_GameState - 128, // 3: dota.CMsgConnectedPlayers.connected_players:type_name -> dota.CMsgConnectedPlayers.Player - 128, // 4: dota.CMsgConnectedPlayers.disconnected_players:type_name -> dota.CMsgConnectedPlayers.Player - 191, // 5: dota.CMsgConnectedPlayers.game_state:type_name -> dota.DOTA_GameState - 7, // 6: dota.CMsgConnectedPlayers.poor_network_conditions:type_name -> dota.CMsgPoorNetworkConditions + 123, // 1: dota.CMsgPoorNetworkConditions.players:type_name -> dota.CMsgPoorNetworkConditions.Player + 189, // 2: dota.CMsgGameserverCrash.game_state:type_name -> dota.DOTA_GameState + 124, // 3: dota.CMsgConnectedPlayers.connected_players:type_name -> dota.CMsgConnectedPlayers.Player + 124, // 4: dota.CMsgConnectedPlayers.disconnected_players:type_name -> dota.CMsgConnectedPlayers.Player + 189, // 5: dota.CMsgConnectedPlayers.game_state:type_name -> dota.DOTA_GameState + 6, // 6: dota.CMsgConnectedPlayers.poor_network_conditions:type_name -> dota.CMsgPoorNetworkConditions 1, // 7: dota.CMsgConnectedPlayers.send_reason:type_name -> dota.CMsgConnectedPlayers.SendReason - 129, // 8: dota.CMsgConnectedPlayers.player_draft:type_name -> dota.CMsgConnectedPlayers.PlayerDraft + 125, // 8: dota.CMsgConnectedPlayers.player_draft:type_name -> dota.CMsgConnectedPlayers.PlayerDraft 2, // 9: dota.CMsgGameServerInfo.server_type:type_name -> dota.CMsgGameServerInfo.ServerType 3, // 10: dota.CMsgGameServerInfo.allow_custom_games:type_name -> dota.CMsgGameServerInfo.CustomGames - 192, // 11: dota.CMsgLeaverDetected.leaver_status:type_name -> dota.DOTALeaverStatus_t - 193, // 12: dota.CMsgLeaverDetected.leaver_state:type_name -> dota.CMsgLeaverState - 194, // 13: dota.CMsgLeaverDetected.disconnect_reason:type_name -> dota.ENetworkDisconnectionReason - 7, // 14: dota.CMsgLeaverDetected.poor_network_conditions:type_name -> dota.CMsgPoorNetworkConditions - 195, // 15: dota.CMsgDOTAFantasyFinalPlayerStats.stats:type_name -> dota.CMsgDOTAFantasyPlayerStats - 195, // 16: dota.CMsgDOTAFantasyLivePlayerStats.stats:type_name -> dota.CMsgDOTAFantasyPlayerStats - 196, // 17: dota.CMsgServerToGCRealtimeStats.delayed:type_name -> dota.CMsgDOTARealtimeGameStatsTerse - 131, // 18: dota.CMsgSignOutGameplayStats.teams:type_name -> dota.CMsgSignOutGameplayStats.CTeam - 132, // 19: dota.CMsgGameMatchSignOut.teams:type_name -> dota.CMsgGameMatchSignOut.CTeam - 195, // 20: dota.CMsgGameMatchSignOut.fantasy_stats:type_name -> dota.CMsgDOTAFantasyPlayerStats - 197, // 21: dota.CMsgGameMatchSignOut.player_strange_count_adjustments:type_name -> dota.CMsgEconPlayerStrangeCountAdjustment - 7, // 22: dota.CMsgGameMatchSignOut.poor_network_conditions:type_name -> dota.CMsgPoorNetworkConditions - 133, // 23: dota.CMsgGameMatchSignOut.additional_msgs:type_name -> dota.CMsgGameMatchSignOut.CAdditionalSignoutMsg - 134, // 24: dota.CMsgGameMatchSignOut.social_feed_events:type_name -> dota.CMsgGameMatchSignOut.CSocialFeedMatchEvent - 135, // 25: dota.CMsgGameMatchSignOut.custom_game_data:type_name -> dota.CMsgGameMatchSignOut.CCustomGameData - 136, // 26: dota.CMsgGameMatchSignOut.event_game_leaderboard_entries:type_name -> dota.CMsgGameMatchSignOut.EventGameLeaderboardEntry - 137, // 27: dota.CMsgGameMatchSignOut.ward_placements:type_name -> dota.CMsgGameMatchSignOut.WardPlacement - 18, // 28: dota.CMsgGameMatchSignOut.gameplay_stats:type_name -> dota.CMsgSignOutGameplayStats - 198, // 29: dota.CMsgGameMatchSignOut.extra_messages:type_name -> dota.CExtraMsgBlock - 199, // 30: dota.CMsgGameMatchSignOut.winning_team:type_name -> dota.DOTA_GC_TEAM - 200, // 31: dota.CMsgGameMatchSignOut.match_tracked_stats:type_name -> dota.CMsgTrackedStat - 201, // 32: dota.CMsgSignOutDraftInfo.picks_bans:type_name -> dota.CMatchHeroSelectEvent - 202, // 33: dota.CMsgSignOutBotInfo.bot_difficulty_radiant:type_name -> dota.DOTABotDifficulty - 202, // 34: dota.CMsgSignOutBotInfo.bot_difficulty_dire:type_name -> dota.DOTABotDifficulty - 141, // 35: dota.CMsgSignOutTextMuteInfo.text_mute_messages:type_name -> dota.CMsgSignOutTextMuteInfo.TextMuteMessage - 142, // 36: dota.CMsgSignOutCommunicationSummary.players:type_name -> dota.CMsgSignOutCommunicationSummary.PlayerCommunication - 203, // 37: dota.CMsgGameMatchSignoutResponse.timed_reward_details:type_name -> dota.CLobbyTimedRewardDetails - 204, // 38: dota.CMsgGameMatchSignoutResponse.xp_reward_details:type_name -> dota.CSODOTALobbyMember - 205, // 39: dota.CMsgGameMatchSignoutResponse.match_details:type_name -> dota.CMsgDOTAMatch - 144, // 40: dota.CMsgGameMatchSignoutResponse.players_metadata:type_name -> dota.CMsgGameMatchSignoutResponse.PlayerMetadata - 206, // 41: dota.CMsgGameMatchSignoutResponse.mvp_data:type_name -> dota.CMvpData - 207, // 42: dota.CMsgGameMatchSignoutResponse.overworld_rewards:type_name -> dota.CMsgOverworldMatchRewards - 203, // 43: dota.CMsgTimedRewardContainer.timed_reward_details:type_name -> dota.CLobbyTimedRewardDetails - 208, // 44: dota.CMsgGameMatchSignOutEventGameData.event_id:type_name -> dota.EEvent - 145, // 45: dota.CMsgDOTALiveScoreboardUpdate.team_good:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team - 145, // 46: dota.CMsgDOTALiveScoreboardUpdate.team_bad:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team - 148, // 47: dota.CMsgServerToGCRequestBatchPlayerResourcesResponse.results:type_name -> dota.CMsgServerToGCRequestBatchPlayerResourcesResponse.Result - 209, // 48: dota.CMsgTournamentItemEvent.event_type:type_name -> dota.DOTA_TournamentEvents - 210, // 49: dota.CMsgTournamentItemEvent.hero_statues:type_name -> dota.CProtoItemHeroStatue - 209, // 50: dota.CMsgTournamentItemEventResponse.event_type:type_name -> dota.DOTA_TournamentEvents - 6, // 51: dota.CMsgGameServerSaveGameResult.result:type_name -> dota.CMsgGameServerSaveGameResult.Result - 149, // 52: dota.CMsgDOTAAwardEventPoints.award_points:type_name -> dota.CMsgDOTAAwardEventPoints.AwardPoints - 208, // 53: dota.CMsgDOTAAwardEventPoints.event_id:type_name -> dota.EEvent - 150, // 54: dota.CMsgServerToGCMatchConnectionStats.players:type_name -> dota.CMsgServerToGCMatchConnectionStats.Player - 151, // 55: dota.CSerializedCombatLog.dictionary:type_name -> dota.CSerializedCombatLog.Dictionary - 211, // 56: dota.CSerializedCombatLog.entries:type_name -> dota.CMsgDOTACombatLogEntry - 154, // 57: dota.CMsgServerToGCVictoryPredictions.records:type_name -> dota.CMsgServerToGCVictoryPredictions.Record - 155, // 58: dota.CMsgServerToGCKillSummaries.summaries:type_name -> dota.CMsgServerToGCKillSummaries.KillSummary - 156, // 59: dota.CMsgSignOutUpdatePlayerChallenge.completed:type_name -> dota.CMsgSignOutUpdatePlayerChallenge.Challenge - 156, // 60: dota.CMsgSignOutUpdatePlayerChallenge.rerolled:type_name -> dota.CMsgSignOutUpdatePlayerChallenge.Challenge - 212, // 61: dota.CMsgServerToGCRerollPlayerChallenge.reroll_msg:type_name -> dota.CMsgClientToGCRerollPlayerChallenge - 157, // 62: dota.CMsgSpendWager.players:type_name -> dota.CMsgSpendWager.Player - 208, // 63: dota.CMsgSpendWager.event_id:type_name -> dota.EEvent - 158, // 64: dota.CMsgSignOutXPCoins.players:type_name -> dota.CMsgSignOutXPCoins.Player - 208, // 65: dota.CMsgSignOutXPCoins.event_id:type_name -> dota.EEvent - 159, // 66: dota.CMsgSignOutBounties.bounties:type_name -> dota.CMsgSignOutBounties.Bounty - 208, // 67: dota.CMsgSignOutBounties.event_id:type_name -> dota.EEvent - 208, // 68: dota.CMsgSignOutCommunityGoalProgress.event_id:type_name -> dota.EEvent - 160, // 69: dota.CMsgSignOutCommunityGoalProgress.event_increments:type_name -> dota.CMsgSignOutCommunityGoalProgress.EventGoalIncrement - 161, // 70: dota.CMsgServerToGCCompendiumInGamePredictionResults.results:type_name -> dota.CMsgServerToGCCompendiumInGamePredictionResults.PredictionResult - 162, // 71: dota.CMsgServerToGCCompendiumChosenInGamePredictions.predictions_chosen:type_name -> dota.CMsgServerToGCCompendiumChosenInGamePredictions.Prediction - 71, // 72: dota.CMsgGCToGCCompendiumInGamePredictionResults.results:type_name -> dota.CMsgServerToGCCompendiumInGamePredictionResults - 164, // 73: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.players:type_name -> dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.Player - 166, // 74: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.players:type_name -> dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.Player - 169, // 75: dota.CMsgServerToGCMatchStateHistory.match_states:type_name -> dota.CMsgServerToGCMatchStateHistory.MatchState - 169, // 76: dota.CMsgMatchStateSteamMLEntry.match_state:type_name -> dota.CMsgServerToGCMatchStateHistory.MatchState - 170, // 77: dota.CMsgServerToGCPlayerChallengeHistory.challenge_records:type_name -> dota.CMsgServerToGCPlayerChallengeHistory.PlayerChallenge - 171, // 78: dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse.map_results:type_name -> dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse.MapResults - 172, // 79: dota.CMsgNeutralItemStats.neutral_items:type_name -> dota.CMsgNeutralItemStats.NeutralItem - 173, // 80: dota.CMsgGCToServerLobbyHeroBanRates.ban_data:type_name -> dota.CMsgGCToServerLobbyHeroBanRates.HeroBanEntry - 175, // 81: dota.CMsgSignOutGuildContractProgress.player_contracts:type_name -> dota.CMsgSignOutGuildContractProgress.PlayerContract - 176, // 82: dota.CMsgSignOutGuildChallengeProgress.guild_challenges_progresses:type_name -> dota.CMsgSignOutGuildChallengeProgress.ChallengeProgress - 177, // 83: dota.CMsgSignOutMVPStats.players:type_name -> dota.CMsgSignOutMVPStats.Player - 180, // 84: dota.CMsgServerToGCGetGuildContractsResponse.player_contracts:type_name -> dota.CMsgServerToGCGetGuildContractsResponse.Player - 182, // 85: dota.CMsgMatchDiretideCandy.player_candy_data:type_name -> dota.CMsgMatchDiretideCandy.PlayerCandy - 208, // 86: dota.CMsgMatchDiretideCandy.event_id:type_name -> dota.EEvent - 183, // 87: dota.CMsgGCToServerCheerData.cheer_types:type_name -> dota.CMsgGCToServerCheerData.CheerTypeCount - 96, // 88: dota.CMsgGCToServerCheerConfig.cheer_config:type_name -> dota.CMsgCheerConfig - 96, // 89: dota.CMsgServerToGCGetCheerConfigResponse.cheer_config:type_name -> dota.CMsgCheerConfig - 102, // 90: dota.CMsgCheerState.cheer_types:type_name -> dota.CMsgCheerTypeState - 96, // 91: dota.CMsgServerToGCReportCheerState.cheer_config:type_name -> dota.CMsgCheerConfig - 103, // 92: dota.CMsgServerToGCReportCheerState.cheer_state:type_name -> dota.CMsgCheerState - 184, // 93: dota.CMsgServerToGCGetStickerHeroesResponse.players:type_name -> dota.CMsgServerToGCGetStickerHeroesResponse.Player - 213, // 94: dota.CMsgGCToServerSteamLearnAccessTokensChanged.access_tokens:type_name -> dota.CMsgSteamLearnAccessTokens - 185, // 95: dota.CMsgSteamLearnPlayerTimedStats.stat_buckets:type_name -> dota.CMsgSteamLearnPlayerTimedStats.StatBucket - 187, // 96: dota.CMsgSteamLearnMatchStateV5.radiant_state:type_name -> dota.CMsgSteamLearnMatchStateV5.TeamState - 187, // 97: dota.CMsgSteamLearnMatchStateV5.dire_state:type_name -> dota.CMsgSteamLearnMatchStateV5.TeamState - 188, // 98: dota.CMsgSteamLearnWardPlacement.ward_loc:type_name -> dota.CMsgSteamLearnWardPlacement.Location - 188, // 99: dota.CMsgSteamLearnWardPlacement.existing_ward_locs:type_name -> dota.CMsgSteamLearnWardPlacement.Location - 189, // 100: dota.CMsgSignOutMapStats.players:type_name -> dota.CMsgSignOutMapStats.Player - 214, // 101: dota.CMsgSignOutMapStats.global_stats:type_name -> dota.CMsgMapStatsSnapshot - 215, // 102: dota.CMsgServerToGCNewBloomGiftResponse.result:type_name -> dota.ENewBloomGiftingResponse - 190, // 103: dota.CMsgSignOutOverworld.players:type_name -> dota.CMsgSignOutOverworld.Player - 208, // 104: dota.CMsgSignOutOverworld.event_id:type_name -> dota.EEvent - 194, // 105: dota.CMsgPoorNetworkConditions.Player.disconnect_reason:type_name -> dota.ENetworkDisconnectionReason - 193, // 106: dota.CMsgConnectedPlayers.Player.leaver_state:type_name -> dota.CMsgLeaverState - 194, // 107: dota.CMsgConnectedPlayers.Player.disconnect_reason:type_name -> dota.ENetworkDisconnectionReason - 199, // 108: dota.CMsgConnectedPlayers.PlayerDraft.team:type_name -> dota.DOTA_GC_TEAM - 216, // 109: dota.CMsgSignOutGameplayStats.CPlayer.timed_player_stats:type_name -> dota.CMatchPlayerTimedStats - 217, // 110: dota.CMsgSignOutGameplayStats.CTeam.timed_team_stats:type_name -> dota.CMatchTeamTimedStats - 130, // 111: dota.CMsgSignOutGameplayStats.CTeam.players:type_name -> dota.CMsgSignOutGameplayStats.CPlayer - 138, // 112: dota.CMsgGameMatchSignOut.CTeam.players:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer - 200, // 113: dota.CMsgGameMatchSignOut.CTeam.team_tracked_stats:type_name -> dota.CMsgTrackedStat - 218, // 114: dota.CMsgGameMatchSignOut.CTeam.CPlayer.ability_upgrades:type_name -> dota.CMatchPlayerAbilityUpgrade - 219, // 115: dota.CMsgGameMatchSignOut.CTeam.CPlayer.additional_units_inventory:type_name -> dota.CMatchAdditionalUnitInventory - 220, // 116: dota.CMsgGameMatchSignOut.CTeam.CPlayer.permanent_buffs:type_name -> dota.CMatchPlayerPermanentBuff - 139, // 117: dota.CMsgGameMatchSignOut.CTeam.CPlayer.custom_game_data:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.CCustomGameData - 140, // 118: dota.CMsgGameMatchSignOut.CTeam.CPlayer.hero_damage_received:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived - 140, // 119: dota.CMsgGameMatchSignOut.CTeam.CPlayer.hero_damage_dealt:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived - 199, // 120: dota.CMsgGameMatchSignOut.CTeam.CPlayer.team_number:type_name -> dota.DOTA_GC_TEAM - 200, // 121: dota.CMsgGameMatchSignOut.CTeam.CPlayer.player_tracked_stats:type_name -> dota.CMsgTrackedStat - 4, // 122: dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived.damage_type:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType - 143, // 123: dota.CMsgSignOutCommunicationSummary.PlayerCommunication.ping_details:type_name -> dota.CMsgSignOutCommunicationSummary.PlayerCommunication.PingDetail - 146, // 124: dota.CMsgDOTALiveScoreboardUpdate.Team.players:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team.Player - 5, // 125: dota.CMsgDOTALiveScoreboardUpdate.Team.Player.ultimate_state:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team.Player.DOTAUltimateState - 147, // 126: dota.CMsgDOTALiveScoreboardUpdate.Team.Player.abilities:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team.Player.HeroAbility - 152, // 127: dota.CSerializedCombatLog.Dictionary.strings:type_name -> dota.CSerializedCombatLog.Dictionary.DictString - 153, // 128: dota.CMsgServerToGCVictoryPredictions.Record.prediction_items:type_name -> dota.CMsgServerToGCVictoryPredictions.PredictionItem - 208, // 129: dota.CMsgSignOutUpdatePlayerChallenge.Challenge.event_id:type_name -> dota.EEvent - 163, // 130: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.Player.item_purchases:type_name -> dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase - 165, // 131: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.Player.item_equips:type_name -> dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ItemEquip - 167, // 132: dota.CMsgServerToGCMatchStateHistory.TeamState.player_states:type_name -> dota.CMsgServerToGCMatchStateHistory.PlayerState - 168, // 133: dota.CMsgServerToGCMatchStateHistory.MatchState.radiant_state:type_name -> dota.CMsgServerToGCMatchStateHistory.TeamState - 168, // 134: dota.CMsgServerToGCMatchStateHistory.MatchState.dire_state:type_name -> dota.CMsgServerToGCMatchStateHistory.TeamState - 221, // 135: dota.CMsgServerToGCPlayerChallengeHistory.PlayerChallenge.challenge_type:type_name -> dota.EPlayerChallengeHistoryType - 174, // 136: dota.CMsgSignOutGuildContractProgress.PlayerContract.completed_contracts:type_name -> dota.CMsgSignOutGuildContractProgress.CompletedGuildEventContracts - 178, // 137: dota.CMsgSignOutMVPStats.Player.kill_eater_events:type_name -> dota.CMsgSignOutMVPStats.Player.KillEaterEvent - 208, // 138: dota.CMsgServerToGCGetGuildContractsResponse.Player.event_id:type_name -> dota.EEvent - 179, // 139: dota.CMsgServerToGCGetGuildContractsResponse.Player.contracts:type_name -> dota.CMsgServerToGCGetGuildContractsResponse.ContractDetails - 181, // 140: dota.CMsgMatchDiretideCandy.PlayerCandy.candy_breakdown:type_name -> dota.CMsgMatchDiretideCandy.CandyDetails - 222, // 141: dota.CMsgServerToGCGetStickerHeroesResponse.Player.stickers:type_name -> dota.CMsgStickerHeroes - 186, // 142: dota.CMsgSteamLearnMatchStateV5.TeamState.player_states:type_name -> dota.CMsgSteamLearnMatchStateV5.PlayerState - 214, // 143: dota.CMsgSignOutMapStats.Player.personal_stats:type_name -> dota.CMsgMapStatsSnapshot + 190, // 11: dota.CMsgLeaverDetected.leaver_status:type_name -> dota.DOTALeaverStatus_t + 191, // 12: dota.CMsgLeaverDetected.leaver_state:type_name -> dota.CMsgLeaverState + 192, // 13: dota.CMsgLeaverDetected.disconnect_reason:type_name -> dota.ENetworkDisconnectionReason + 6, // 14: dota.CMsgLeaverDetected.poor_network_conditions:type_name -> dota.CMsgPoorNetworkConditions + 193, // 15: dota.CMsgDOTAFantasyFinalPlayerStats.stats:type_name -> dota.CMsgDOTAFantasyPlayerStats + 193, // 16: dota.CMsgDOTAFantasyLivePlayerStats.stats:type_name -> dota.CMsgDOTAFantasyPlayerStats + 194, // 17: dota.CMsgServerToGCRealtimeStats.delayed:type_name -> dota.CMsgDOTARealtimeGameStatsTerse + 127, // 18: dota.CMsgSignOutGameplayStats.teams:type_name -> dota.CMsgSignOutGameplayStats.CTeam + 128, // 19: dota.CMsgGameMatchSignOut.teams:type_name -> dota.CMsgGameMatchSignOut.CTeam + 193, // 20: dota.CMsgGameMatchSignOut.fantasy_stats:type_name -> dota.CMsgDOTAFantasyPlayerStats + 195, // 21: dota.CMsgGameMatchSignOut.player_strange_count_adjustments:type_name -> dota.CMsgEconPlayerStrangeCountAdjustment + 6, // 22: dota.CMsgGameMatchSignOut.poor_network_conditions:type_name -> dota.CMsgPoorNetworkConditions + 129, // 23: dota.CMsgGameMatchSignOut.additional_msgs:type_name -> dota.CMsgGameMatchSignOut.CAdditionalSignoutMsg + 130, // 24: dota.CMsgGameMatchSignOut.social_feed_events:type_name -> dota.CMsgGameMatchSignOut.CSocialFeedMatchEvent + 131, // 25: dota.CMsgGameMatchSignOut.custom_game_data:type_name -> dota.CMsgGameMatchSignOut.CCustomGameData + 132, // 26: dota.CMsgGameMatchSignOut.event_game_leaderboard_entries:type_name -> dota.CMsgGameMatchSignOut.EventGameLeaderboardEntry + 133, // 27: dota.CMsgGameMatchSignOut.ward_placements:type_name -> dota.CMsgGameMatchSignOut.WardPlacement + 17, // 28: dota.CMsgGameMatchSignOut.gameplay_stats:type_name -> dota.CMsgSignOutGameplayStats + 196, // 29: dota.CMsgGameMatchSignOut.extra_messages:type_name -> dota.CExtraMsgBlock + 197, // 30: dota.CMsgGameMatchSignOut.winning_team:type_name -> dota.DOTA_GC_TEAM + 198, // 31: dota.CMsgGameMatchSignOut.match_tracked_stats:type_name -> dota.CMsgTrackedStat + 199, // 32: dota.CMsgSignOutDraftInfo.picks_bans:type_name -> dota.CMatchHeroSelectEvent + 200, // 33: dota.CMsgSignOutBotInfo.bot_difficulty_radiant:type_name -> dota.DOTABotDifficulty + 200, // 34: dota.CMsgSignOutBotInfo.bot_difficulty_dire:type_name -> dota.DOTABotDifficulty + 137, // 35: dota.CMsgSignOutTextMuteInfo.text_mute_messages:type_name -> dota.CMsgSignOutTextMuteInfo.TextMuteMessage + 138, // 36: dota.CMsgSignOutCommunicationSummary.players:type_name -> dota.CMsgSignOutCommunicationSummary.PlayerCommunication + 201, // 37: dota.CMsgGameMatchSignoutResponse.match_details:type_name -> dota.CMsgDOTAMatch + 140, // 38: dota.CMsgGameMatchSignoutResponse.players_metadata:type_name -> dota.CMsgGameMatchSignoutResponse.PlayerMetadata + 202, // 39: dota.CMsgGameMatchSignoutResponse.mvp_data:type_name -> dota.CMvpData + 203, // 40: dota.CMsgGameMatchSignoutResponse.overworld_rewards:type_name -> dota.CMsgOverworldMatchRewards + 204, // 41: dota.CMsgGameMatchSignOutEventGameData.event_id:type_name -> dota.EEvent + 141, // 42: dota.CMsgDOTALiveScoreboardUpdate.team_good:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team + 141, // 43: dota.CMsgDOTALiveScoreboardUpdate.team_bad:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team + 144, // 44: dota.CMsgServerToGCRequestBatchPlayerResourcesResponse.results:type_name -> dota.CMsgServerToGCRequestBatchPlayerResourcesResponse.Result + 205, // 45: dota.CMsgTournamentItemEvent.event_type:type_name -> dota.DOTA_TournamentEvents + 206, // 46: dota.CMsgTournamentItemEvent.hero_statues:type_name -> dota.CProtoItemHeroStatue + 205, // 47: dota.CMsgTournamentItemEventResponse.event_type:type_name -> dota.DOTA_TournamentEvents + 145, // 48: dota.CMsgDOTAAwardEventPoints.award_points:type_name -> dota.CMsgDOTAAwardEventPoints.AwardPoints + 204, // 49: dota.CMsgDOTAAwardEventPoints.event_id:type_name -> dota.EEvent + 146, // 50: dota.CMsgServerToGCMatchConnectionStats.players:type_name -> dota.CMsgServerToGCMatchConnectionStats.Player + 147, // 51: dota.CSerializedCombatLog.dictionary:type_name -> dota.CSerializedCombatLog.Dictionary + 207, // 52: dota.CSerializedCombatLog.entries:type_name -> dota.CMsgDOTACombatLogEntry + 150, // 53: dota.CMsgServerToGCVictoryPredictions.records:type_name -> dota.CMsgServerToGCVictoryPredictions.Record + 151, // 54: dota.CMsgServerToGCKillSummaries.summaries:type_name -> dota.CMsgServerToGCKillSummaries.KillSummary + 152, // 55: dota.CMsgSignOutUpdatePlayerChallenge.completed:type_name -> dota.CMsgSignOutUpdatePlayerChallenge.Challenge + 152, // 56: dota.CMsgSignOutUpdatePlayerChallenge.rerolled:type_name -> dota.CMsgSignOutUpdatePlayerChallenge.Challenge + 208, // 57: dota.CMsgServerToGCRerollPlayerChallenge.reroll_msg:type_name -> dota.CMsgClientToGCRerollPlayerChallenge + 153, // 58: dota.CMsgSpendWager.players:type_name -> dota.CMsgSpendWager.Player + 204, // 59: dota.CMsgSpendWager.event_id:type_name -> dota.EEvent + 154, // 60: dota.CMsgSignOutXPCoins.players:type_name -> dota.CMsgSignOutXPCoins.Player + 204, // 61: dota.CMsgSignOutXPCoins.event_id:type_name -> dota.EEvent + 155, // 62: dota.CMsgSignOutBounties.bounties:type_name -> dota.CMsgSignOutBounties.Bounty + 204, // 63: dota.CMsgSignOutBounties.event_id:type_name -> dota.EEvent + 204, // 64: dota.CMsgSignOutCommunityGoalProgress.event_id:type_name -> dota.EEvent + 156, // 65: dota.CMsgSignOutCommunityGoalProgress.event_increments:type_name -> dota.CMsgSignOutCommunityGoalProgress.EventGoalIncrement + 157, // 66: dota.CMsgServerToGCCompendiumInGamePredictionResults.results:type_name -> dota.CMsgServerToGCCompendiumInGamePredictionResults.PredictionResult + 158, // 67: dota.CMsgServerToGCCompendiumChosenInGamePredictions.predictions_chosen:type_name -> dota.CMsgServerToGCCompendiumChosenInGamePredictions.Prediction + 65, // 68: dota.CMsgGCToGCCompendiumInGamePredictionResults.results:type_name -> dota.CMsgServerToGCCompendiumInGamePredictionResults + 160, // 69: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.players:type_name -> dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.Player + 162, // 70: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.players:type_name -> dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.Player + 165, // 71: dota.CMsgServerToGCMatchStateHistory.match_states:type_name -> dota.CMsgServerToGCMatchStateHistory.MatchState + 165, // 72: dota.CMsgMatchStateSteamMLEntry.match_state:type_name -> dota.CMsgServerToGCMatchStateHistory.MatchState + 166, // 73: dota.CMsgServerToGCPlayerChallengeHistory.challenge_records:type_name -> dota.CMsgServerToGCPlayerChallengeHistory.PlayerChallenge + 167, // 74: dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse.map_results:type_name -> dota.CMsgServerToGCCavernCrawlIsHeroActiveResponse.MapResults + 168, // 75: dota.CMsgNeutralItemStats.neutral_items:type_name -> dota.CMsgNeutralItemStats.NeutralItem + 169, // 76: dota.CMsgGCToServerLobbyHeroBanRates.ban_data:type_name -> dota.CMsgGCToServerLobbyHeroBanRates.HeroBanEntry + 171, // 77: dota.CMsgSignOutGuildContractProgress.player_contracts:type_name -> dota.CMsgSignOutGuildContractProgress.PlayerContract + 172, // 78: dota.CMsgSignOutGuildChallengeProgress.guild_challenges_progresses:type_name -> dota.CMsgSignOutGuildChallengeProgress.ChallengeProgress + 173, // 79: dota.CMsgSignOutMVPStats.players:type_name -> dota.CMsgSignOutMVPStats.Player + 176, // 80: dota.CMsgServerToGCGetGuildContractsResponse.player_contracts:type_name -> dota.CMsgServerToGCGetGuildContractsResponse.Player + 178, // 81: dota.CMsgMatchDiretideCandy.player_candy_data:type_name -> dota.CMsgMatchDiretideCandy.PlayerCandy + 204, // 82: dota.CMsgMatchDiretideCandy.event_id:type_name -> dota.EEvent + 179, // 83: dota.CMsgGCToServerCheerData.cheer_types:type_name -> dota.CMsgGCToServerCheerData.CheerTypeCount + 90, // 84: dota.CMsgGCToServerCheerConfig.cheer_config:type_name -> dota.CMsgCheerConfig + 90, // 85: dota.CMsgServerToGCGetCheerConfigResponse.cheer_config:type_name -> dota.CMsgCheerConfig + 96, // 86: dota.CMsgCheerState.cheer_types:type_name -> dota.CMsgCheerTypeState + 90, // 87: dota.CMsgServerToGCReportCheerState.cheer_config:type_name -> dota.CMsgCheerConfig + 97, // 88: dota.CMsgServerToGCReportCheerState.cheer_state:type_name -> dota.CMsgCheerState + 180, // 89: dota.CMsgServerToGCGetStickerHeroesResponse.players:type_name -> dota.CMsgServerToGCGetStickerHeroesResponse.Player + 181, // 90: dota.CMsgSteamLearnMatchInfoTeam.radiant_players:type_name -> dota.CMsgSteamLearnMatchInfoTeam.Player + 181, // 91: dota.CMsgSteamLearnMatchInfoTeam.dire_players:type_name -> dota.CMsgSteamLearnMatchInfoTeam.Player + 182, // 92: dota.CMsgSteamLearnPlayerTimedStats.stat_buckets:type_name -> dota.CMsgSteamLearnPlayerTimedStats.StatBucket + 184, // 93: dota.CMsgSteamLearnMatchStateV5.radiant_state:type_name -> dota.CMsgSteamLearnMatchStateV5.TeamState + 184, // 94: dota.CMsgSteamLearnMatchStateV5.dire_state:type_name -> dota.CMsgSteamLearnMatchStateV5.TeamState + 185, // 95: dota.CMsgSteamLearnWardPlacement.ward_loc:type_name -> dota.CMsgSteamLearnWardPlacement.Location + 185, // 96: dota.CMsgSteamLearnWardPlacement.existing_ward_locs:type_name -> dota.CMsgSteamLearnWardPlacement.Location + 186, // 97: dota.CMsgSignOutMapStats.players:type_name -> dota.CMsgSignOutMapStats.Player + 209, // 98: dota.CMsgSignOutMapStats.global_stats:type_name -> dota.CMsgMapStatsSnapshot + 210, // 99: dota.CMsgServerToGCNewBloomGiftResponse.result:type_name -> dota.ENewBloomGiftingResponse + 187, // 100: dota.CMsgSignOutOverworld.players:type_name -> dota.CMsgSignOutOverworld.Player + 204, // 101: dota.CMsgSignOutOverworld.event_id:type_name -> dota.EEvent + 188, // 102: dota.CMsgSignOutCraftworks.players:type_name -> dota.CMsgSignOutCraftworks.Player + 204, // 103: dota.CMsgSignOutCraftworks.event_id:type_name -> dota.EEvent + 192, // 104: dota.CMsgPoorNetworkConditions.Player.disconnect_reason:type_name -> dota.ENetworkDisconnectionReason + 191, // 105: dota.CMsgConnectedPlayers.Player.leaver_state:type_name -> dota.CMsgLeaverState + 192, // 106: dota.CMsgConnectedPlayers.Player.disconnect_reason:type_name -> dota.ENetworkDisconnectionReason + 197, // 107: dota.CMsgConnectedPlayers.PlayerDraft.team:type_name -> dota.DOTA_GC_TEAM + 211, // 108: dota.CMsgSignOutGameplayStats.CPlayer.timed_player_stats:type_name -> dota.CMatchPlayerTimedStats + 212, // 109: dota.CMsgSignOutGameplayStats.CTeam.timed_team_stats:type_name -> dota.CMatchTeamTimedStats + 126, // 110: dota.CMsgSignOutGameplayStats.CTeam.players:type_name -> dota.CMsgSignOutGameplayStats.CPlayer + 134, // 111: dota.CMsgGameMatchSignOut.CTeam.players:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer + 198, // 112: dota.CMsgGameMatchSignOut.CTeam.team_tracked_stats:type_name -> dota.CMsgTrackedStat + 213, // 113: dota.CMsgGameMatchSignOut.CTeam.CPlayer.ability_upgrades:type_name -> dota.CMatchPlayerAbilityUpgrade + 214, // 114: dota.CMsgGameMatchSignOut.CTeam.CPlayer.additional_units_inventory:type_name -> dota.CMatchAdditionalUnitInventory + 215, // 115: dota.CMsgGameMatchSignOut.CTeam.CPlayer.permanent_buffs:type_name -> dota.CMatchPlayerPermanentBuff + 135, // 116: dota.CMsgGameMatchSignOut.CTeam.CPlayer.custom_game_data:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.CCustomGameData + 136, // 117: dota.CMsgGameMatchSignOut.CTeam.CPlayer.hero_damage_received:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived + 136, // 118: dota.CMsgGameMatchSignOut.CTeam.CPlayer.hero_damage_dealt:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived + 197, // 119: dota.CMsgGameMatchSignOut.CTeam.CPlayer.team_number:type_name -> dota.DOTA_GC_TEAM + 198, // 120: dota.CMsgGameMatchSignOut.CTeam.CPlayer.player_tracked_stats:type_name -> dota.CMsgTrackedStat + 4, // 121: dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageReceived.damage_type:type_name -> dota.CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType + 139, // 122: dota.CMsgSignOutCommunicationSummary.PlayerCommunication.ping_details:type_name -> dota.CMsgSignOutCommunicationSummary.PlayerCommunication.PingDetail + 142, // 123: dota.CMsgDOTALiveScoreboardUpdate.Team.players:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team.Player + 5, // 124: dota.CMsgDOTALiveScoreboardUpdate.Team.Player.ultimate_state:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team.Player.DOTAUltimateState + 143, // 125: dota.CMsgDOTALiveScoreboardUpdate.Team.Player.abilities:type_name -> dota.CMsgDOTALiveScoreboardUpdate.Team.Player.HeroAbility + 148, // 126: dota.CSerializedCombatLog.Dictionary.strings:type_name -> dota.CSerializedCombatLog.Dictionary.DictString + 149, // 127: dota.CMsgServerToGCVictoryPredictions.Record.prediction_items:type_name -> dota.CMsgServerToGCVictoryPredictions.PredictionItem + 204, // 128: dota.CMsgSignOutUpdatePlayerChallenge.Challenge.event_id:type_name -> dota.EEvent + 159, // 129: dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.Player.item_purchases:type_name -> dota.CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase + 161, // 130: dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.Player.item_equips:type_name -> dota.CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ItemEquip + 163, // 131: dota.CMsgServerToGCMatchStateHistory.TeamState.player_states:type_name -> dota.CMsgServerToGCMatchStateHistory.PlayerState + 164, // 132: dota.CMsgServerToGCMatchStateHistory.MatchState.radiant_state:type_name -> dota.CMsgServerToGCMatchStateHistory.TeamState + 164, // 133: dota.CMsgServerToGCMatchStateHistory.MatchState.dire_state:type_name -> dota.CMsgServerToGCMatchStateHistory.TeamState + 216, // 134: dota.CMsgServerToGCPlayerChallengeHistory.PlayerChallenge.challenge_type:type_name -> dota.EPlayerChallengeHistoryType + 170, // 135: dota.CMsgSignOutGuildContractProgress.PlayerContract.completed_contracts:type_name -> dota.CMsgSignOutGuildContractProgress.CompletedGuildEventContracts + 174, // 136: dota.CMsgSignOutMVPStats.Player.kill_eater_events:type_name -> dota.CMsgSignOutMVPStats.Player.KillEaterEvent + 204, // 137: dota.CMsgServerToGCGetGuildContractsResponse.Player.event_id:type_name -> dota.EEvent + 175, // 138: dota.CMsgServerToGCGetGuildContractsResponse.Player.contracts:type_name -> dota.CMsgServerToGCGetGuildContractsResponse.ContractDetails + 177, // 139: dota.CMsgMatchDiretideCandy.PlayerCandy.candy_breakdown:type_name -> dota.CMsgMatchDiretideCandy.CandyDetails + 217, // 140: dota.CMsgServerToGCGetStickerHeroesResponse.Player.stickers:type_name -> dota.CMsgStickerHeroes + 183, // 141: dota.CMsgSteamLearnMatchStateV5.TeamState.player_states:type_name -> dota.CMsgSteamLearnMatchStateV5.PlayerState + 209, // 142: dota.CMsgSignOutMapStats.Player.personal_stats:type_name -> dota.CMsgMapStatsSnapshot + 218, // 143: dota.CMsgSignOutCraftworks.Player.components:type_name -> dota.CMsgCraftworksComponents 144, // [144:144] is the sub-list for method output_type 144, // [144:144] is the sub-list for method input_type 144, // [144:144] is the sub-list for extension type_name @@ -18001,10 +18006,12 @@ func file_dota_gcmessages_server_proto_init() { file_dota_shared_enums_proto_init() file_dota_gcmessages_common_proto_init() file_econ_gcmessages_proto_init() + file_base_gcmessages_proto_init() file_network_connection_proto_init() file_dota_gcmessages_common_lobby_proto_init() file_dota_gcmessages_common_match_management_proto_init() file_dota_gcmessages_common_overworld_proto_init() + file_dota_gcmessages_common_craftworks_proto_init() file_gcsdk_gcmessages_proto_init() file_steammessages_steamlearn_steamworkssdk_proto_init() if !protoimpl.UnsafeEnabled { @@ -18237,7 +18244,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgTimedRewardContainer); i { + switch v := v.(*CMsgGameMatchSignOutPermissionRequest); i { case 0: return &v.state case 1: @@ -18249,7 +18256,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOutPermissionRequest); i { + switch v := v.(*CMsgGameMatchSignOutPermissionResponse); i { case 0: return &v.state case 1: @@ -18261,7 +18268,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOutPermissionResponse); i { + switch v := v.(*CMsgGameMatchSignOutEventGameData); i { case 0: return &v.state case 1: @@ -18273,7 +18280,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOutEventGameData); i { + switch v := v.(*CMsgGameMatchSignOutPerfData); i { case 0: return &v.state case 1: @@ -18285,7 +18292,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOutPerfData); i { + switch v := v.(*CMsgGameMatchSignOutBanData); i { case 0: return &v.state case 1: @@ -18297,7 +18304,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOutBanData); i { + switch v := v.(*CMsgDOTALiveScoreboardUpdate); i { case 0: return &v.state case 1: @@ -18309,7 +18316,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTALiveScoreboardUpdate); i { + switch v := v.(*CMsgServerToGCRequestBatchPlayerResources); i { case 0: return &v.state case 1: @@ -18321,7 +18328,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCRequestBatchPlayerResources); i { + switch v := v.(*CMsgServerToGCRequestBatchPlayerResourcesResponse); i { case 0: return &v.state case 1: @@ -18333,7 +18340,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCRequestBatchPlayerResourcesResponse); i { + switch v := v.(*CMsgDOTAPlayerFailedToConnect); i { case 0: return &v.state case 1: @@ -18345,7 +18352,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAPlayerFailedToConnect); i { + switch v := v.(*CMsgGCToRelayConnect); i { case 0: return &v.state case 1: @@ -18357,7 +18364,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToRelayConnect); i { + switch v := v.(*CMsgGCGCToLANServerRelayConnect); i { case 0: return &v.state case 1: @@ -18369,7 +18376,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGCToLANServerRelayConnect); i { + switch v := v.(*CMsgGCBanStatusRequest); i { case 0: return &v.state case 1: @@ -18381,7 +18388,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCBanStatusRequest); i { + switch v := v.(*CMsgGCBanStatusResponse); i { case 0: return &v.state case 1: @@ -18393,7 +18400,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCBanStatusResponse); i { + switch v := v.(*CMsgTournamentItemEvent); i { case 0: return &v.state case 1: @@ -18405,7 +18412,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgTournamentItemEvent); i { + switch v := v.(*CMsgTournamentItemEventResponse); i { case 0: return &v.state case 1: @@ -18417,7 +18424,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgTournamentItemEventResponse); i { + switch v := v.(*CMsgTeamFanfare); i { case 0: return &v.state case 1: @@ -18429,7 +18436,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgTeamFanfare); i { + switch v := v.(*CMsgResponseTeamFanfare); i { case 0: return &v.state case 1: @@ -18441,7 +18448,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgResponseTeamFanfare); i { + switch v := v.(*CMsgDOTAAwardEventPoints); i { case 0: return &v.state case 1: @@ -18453,7 +18460,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameServerUploadSaveGame); i { + switch v := v.(*CMsgGCToServerPingRequest); i { case 0: return &v.state case 1: @@ -18465,7 +18472,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameServerSaveGameResult); i { + switch v := v.(*CMsgGCToServerPingResponse); i { case 0: return &v.state case 1: @@ -18477,7 +18484,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameServerGetLoadGame); i { + switch v := v.(*CMsgServerToGCMatchConnectionStats); i { case 0: return &v.state case 1: @@ -18489,7 +18496,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameServerGetLoadGameResult); i { + switch v := v.(*CMsgServerGCUpdateSpectatorCount); i { case 0: return &v.state case 1: @@ -18501,7 +18508,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAAwardEventPoints); i { + switch v := v.(*CSerializedCombatLog); i { case 0: return &v.state case 1: @@ -18513,7 +18520,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerPingRequest); i { + switch v := v.(*CMsgServerToGCVictoryPredictions); i { case 0: return &v.state case 1: @@ -18525,7 +18532,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerPingResponse); i { + switch v := v.(*CMsgServerToGCRequestStatus); i { case 0: return &v.state case 1: @@ -18537,7 +18544,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchConnectionStats); i { + switch v := v.(*CMsgServerToGCRequestStatus_Response); i { case 0: return &v.state case 1: @@ -18549,7 +18556,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerGCUpdateSpectatorCount); i { + switch v := v.(*CMsgGCToServerEvaluateToxicChat); i { case 0: return &v.state case 1: @@ -18561,7 +18568,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSerializedCombatLog); i { + switch v := v.(*CMsgServerToGCEvaluateToxicChat); i { case 0: return &v.state case 1: @@ -18573,7 +18580,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCVictoryPredictions); i { + switch v := v.(*CMsgServerToGCEvaluateToxicChatResponse); i { case 0: return &v.state case 1: @@ -18585,7 +18592,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCRequestStatus); i { + switch v := v.(*CMsgSignOutAssassinMiniGameInfo); i { case 0: return &v.state case 1: @@ -18597,7 +18604,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCRequestStatus_Response); i { + switch v := v.(*CMsgServerToGCKillSummaries); i { case 0: return &v.state case 1: @@ -18609,7 +18616,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerEvaluateToxicChat); i { + switch v := v.(*CMsgServerToGCLockCharmTrading); i { case 0: return &v.state case 1: @@ -18621,7 +18628,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCEvaluateToxicChat); i { + switch v := v.(*CMsgSignOutUpdatePlayerChallenge); i { case 0: return &v.state case 1: @@ -18633,7 +18640,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCEvaluateToxicChatResponse); i { + switch v := v.(*CMsgServerToGCRerollPlayerChallenge); i { case 0: return &v.state case 1: @@ -18645,7 +18652,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutAssassinMiniGameInfo); i { + switch v := v.(*CMsgSpendWager); i { case 0: return &v.state case 1: @@ -18657,7 +18664,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCKillSummaries); i { + switch v := v.(*CMsgSignOutXPCoins); i { case 0: return &v.state case 1: @@ -18669,7 +18676,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCLockCharmTrading); i { + switch v := v.(*CMsgSignOutBounties); i { case 0: return &v.state case 1: @@ -18681,7 +18688,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutUpdatePlayerChallenge); i { + switch v := v.(*CMsgSignOutCommunityGoalProgress); i { case 0: return &v.state case 1: @@ -18693,7 +18700,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCRerollPlayerChallenge); i { + switch v := v.(*CMsgServerToGCCloseCompendiumInGamePredictionVoting); i { case 0: return &v.state case 1: @@ -18705,7 +18712,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSpendWager); i { + switch v := v.(*CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse); i { case 0: return &v.state case 1: @@ -18717,7 +18724,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutXPCoins); i { + switch v := v.(*CMsgServerToGCCompendiumInGamePredictionResults); i { case 0: return &v.state case 1: @@ -18729,7 +18736,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutBounties); i { + switch v := v.(*CMsgServerToGCCompendiumChosenInGamePredictions); i { case 0: return &v.state case 1: @@ -18741,7 +18748,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutCommunityGoalProgress); i { + switch v := v.(*CMsgGCToGCCompendiumInGamePredictionResults); i { case 0: return &v.state case 1: @@ -18753,7 +18760,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCloseCompendiumInGamePredictionVoting); i { + switch v := v.(*CMsgServerToGCMatchPlayerItemPurchaseHistory); i { case 0: return &v.state case 1: @@ -18765,7 +18772,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse); i { + switch v := v.(*CMsgServerToGCMatchPlayerNeutralItemEquipHistory); i { case 0: return &v.state case 1: @@ -18777,7 +18784,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCompendiumInGamePredictionResults); i { + switch v := v.(*CMsgServerToGCMatchStateHistory); i { case 0: return &v.state case 1: @@ -18789,7 +18796,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCompendiumChosenInGamePredictions); i { + switch v := v.(*CMsgMatchStateSteamMLEntry); i { case 0: return &v.state case 1: @@ -18801,7 +18808,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToGCCompendiumInGamePredictionResults); i { + switch v := v.(*CMsgLaneSelectionSteamMLEntry); i { case 0: return &v.state case 1: @@ -18813,7 +18820,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchPlayerItemPurchaseHistory); i { + switch v := v.(*CMsgAbilitySelectionSteamMLEntry); i { case 0: return &v.state case 1: @@ -18825,7 +18832,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchPlayerNeutralItemEquipHistory); i { + switch v := v.(*CMsgItemPurchasePregameSteamMLEntry); i { case 0: return &v.state case 1: @@ -18837,7 +18844,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchStateHistory); i { + switch v := v.(*CMsgItemPurchaseSteamMLEntry); i { case 0: return &v.state case 1: @@ -18849,7 +18856,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgMatchStateSteamMLEntry); i { + switch v := v.(*CMsgItemPurchaseSequenceSteamMLEntry); i { case 0: return &v.state case 1: @@ -18861,7 +18868,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgLaneSelectionSteamMLEntry); i { + switch v := v.(*CMsgServerToGCCavernCrawlIsHeroActive); i { case 0: return &v.state case 1: @@ -18873,7 +18880,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAbilitySelectionSteamMLEntry); i { + switch v := v.(*CMsgServerToGCPlayerChallengeHistory); i { case 0: return &v.state case 1: @@ -18885,7 +18892,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgItemPurchasePregameSteamMLEntry); i { + switch v := v.(*CMsgServerToGCCavernCrawlIsHeroActiveResponse); i { case 0: return &v.state case 1: @@ -18897,7 +18904,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgItemPurchaseSteamMLEntry); i { + switch v := v.(*CMsgNeutralItemStats); i { case 0: return &v.state case 1: @@ -18909,7 +18916,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgItemPurchaseSequenceSteamMLEntry); i { + switch v := v.(*CMsgGCToServerLobbyHeroBanRates); i { case 0: return &v.state case 1: @@ -18921,7 +18928,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCavernCrawlIsHeroActive); i { + switch v := v.(*CMsgSignOutGuildContractProgress); i { case 0: return &v.state case 1: @@ -18933,7 +18940,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCPlayerChallengeHistory); i { + switch v := v.(*CMsgSignOutGuildChallengeProgress); i { case 0: return &v.state case 1: @@ -18945,7 +18952,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCavernCrawlIsHeroActiveResponse); i { + switch v := v.(*CMsgSignOutMVPStats); i { case 0: return &v.state case 1: @@ -18957,7 +18964,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgNeutralItemStats); i { + switch v := v.(*CMsgGCToServerRecordTrainingData); i { case 0: return &v.state case 1: @@ -18969,7 +18976,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerLobbyHeroBanRates); i { + switch v := v.(*CMsgServerToGCGetGuildContracts); i { case 0: return &v.state case 1: @@ -18981,7 +18988,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutGuildContractProgress); i { + switch v := v.(*CMsgServerToGCGetGuildContractsResponse); i { case 0: return &v.state case 1: @@ -18993,7 +19000,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutGuildChallengeProgress); i { + switch v := v.(*CMsgMatchDiretideCandy); i { case 0: return &v.state case 1: @@ -19005,7 +19012,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutMVPStats); i { + switch v := v.(*CMsgGCToServerCheerData); i { case 0: return &v.state case 1: @@ -19017,7 +19024,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerRecordTrainingData); i { + switch v := v.(*CMsgCheerConfig); i { case 0: return &v.state case 1: @@ -19029,7 +19036,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetGuildContracts); i { + switch v := v.(*CMsgGCToServerCheerConfig); i { case 0: return &v.state case 1: @@ -19041,7 +19048,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetGuildContractsResponse); i { + switch v := v.(*CMsgServerToGCGetCheerConfig); i { case 0: return &v.state case 1: @@ -19053,7 +19060,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgMatchDiretideCandy); i { + switch v := v.(*CMsgServerToGCGetCheerConfigResponse); i { case 0: return &v.state case 1: @@ -19065,7 +19072,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerCheerData); i { + switch v := v.(*CMsgGCToServerCheerScalesOverride); i { case 0: return &v.state case 1: @@ -19077,7 +19084,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgCheerConfig); i { + switch v := v.(*CMsgGCToServerGetCheerState); i { case 0: return &v.state case 1: @@ -19089,7 +19096,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerCheerConfig); i { + switch v := v.(*CMsgCheerTypeState); i { case 0: return &v.state case 1: @@ -19101,7 +19108,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetCheerConfig); i { + switch v := v.(*CMsgCheerState); i { case 0: return &v.state case 1: @@ -19113,7 +19120,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetCheerConfigResponse); i { + switch v := v.(*CMsgServerToGCReportCheerState); i { case 0: return &v.state case 1: @@ -19125,7 +19132,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerCheerScalesOverride); i { + switch v := v.(*CMsgServerToGCGetStickerHeroes); i { case 0: return &v.state case 1: @@ -19137,7 +19144,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerGetCheerState); i { + switch v := v.(*CMsgServerToGCGetStickerHeroesResponse); i { case 0: return &v.state case 1: @@ -19149,7 +19156,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgCheerTypeState); i { + switch v := v.(*CMsgSteamLearnMatchInfo); i { case 0: return &v.state case 1: @@ -19161,7 +19168,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgCheerState); i { + switch v := v.(*CMsgSteamLearnMatchInfoPlayer); i { case 0: return &v.state case 1: @@ -19173,7 +19180,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCReportCheerState); i { + switch v := v.(*CMsgSteamLearnMatchInfoTeam); i { case 0: return &v.state case 1: @@ -19185,7 +19192,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetStickerHeroes); i { + switch v := v.(*CMsgSteamLearnMatchHeroesV3); i { case 0: return &v.state case 1: @@ -19197,7 +19204,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetStickerHeroesResponse); i { + switch v := v.(*CMsgSteamLearnMatchHeroV3); i { case 0: return &v.state case 1: @@ -19209,7 +19216,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerSteamLearnAccessTokensChanged); i { + switch v := v.(*CMsgSteamLearnPlayerTimedStats); i { case 0: return &v.state case 1: @@ -19221,7 +19228,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerSteamLearnUseHTTP); i { + switch v := v.(*CMsgSteamLearnMatchStateV5); i { case 0: return &v.state case 1: @@ -19233,7 +19240,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnMatchInfo); i { + switch v := v.(*CMsgSteamLearnItemPurchase); i { case 0: return &v.state case 1: @@ -19245,7 +19252,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnMatchInfoPlayer); i { + switch v := v.(*CMsgSteamLearnPreGameItemPurchases); i { case 0: return &v.state case 1: @@ -19257,7 +19264,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnMatchHeroesV3); i { + switch v := v.(*CMsgSteamLearnNeutralItemPurchase); i { case 0: return &v.state case 1: @@ -19269,7 +19276,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnMatchHeroV3); i { + switch v := v.(*CMsgSteamLearnNeutralItemPurchaseV2); i { case 0: return &v.state case 1: @@ -19281,7 +19288,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnPlayerTimedStats); i { + switch v := v.(*CMsgSteamLearnAbilitySkill); i { case 0: return &v.state case 1: @@ -19293,7 +19300,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnMatchStateV5); i { + switch v := v.(*CMsgSteamLearnEarlyGameItemPurchasesV2); i { case 0: return &v.state case 1: @@ -19305,7 +19312,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnItemPurchase); i { + switch v := v.(*CMsgSteamLearnLateGameItemPurchasesV2); i { case 0: return &v.state case 1: @@ -19317,7 +19324,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnPreGameItemPurchases); i { + switch v := v.(*CMsgSteamLearnMainGameItemPurchases); i { case 0: return &v.state case 1: @@ -19329,7 +19336,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnNeutralItemPurchase); i { + switch v := v.(*CMsgSteamLearnWardPlacement); i { case 0: return &v.state case 1: @@ -19341,7 +19348,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnAbilitySkill); i { + switch v := v.(*CMsgSignOutMuertaMinigame); i { case 0: return &v.state case 1: @@ -19353,7 +19360,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnEarlyGameItemPurchases); i { + switch v := v.(*CMsgSignOutMapStats); i { case 0: return &v.state case 1: @@ -19365,7 +19372,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnLateGameItemPurchases); i { + switch v := v.(*CMsgServerToGCNewBloomGift); i { case 0: return &v.state case 1: @@ -19377,7 +19384,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnWardPlacement); i { + switch v := v.(*CMsgServerToGCNewBloomGiftResponse); i { case 0: return &v.state case 1: @@ -19389,7 +19396,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutMuertaMinigame); i { + switch v := v.(*CMsgSignOutOverworld); i { case 0: return &v.state case 1: @@ -19401,7 +19408,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutMapStats); i { + switch v := v.(*CMsgSignOutCraftworks); i { case 0: return &v.state case 1: @@ -19413,7 +19420,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCNewBloomGift); i { + switch v := v.(*CMsgPoorNetworkConditions_Player); i { case 0: return &v.state case 1: @@ -19425,7 +19432,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCNewBloomGiftResponse); i { + switch v := v.(*CMsgConnectedPlayers_Player); i { case 0: return &v.state case 1: @@ -19437,7 +19444,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutOverworld); i { + switch v := v.(*CMsgConnectedPlayers_PlayerDraft); i { case 0: return &v.state case 1: @@ -19449,7 +19456,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPoorNetworkConditions_Player); i { + switch v := v.(*CMsgSignOutGameplayStats_CPlayer); i { case 0: return &v.state case 1: @@ -19461,7 +19468,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgConnectedPlayers_Player); i { + switch v := v.(*CMsgSignOutGameplayStats_CTeam); i { case 0: return &v.state case 1: @@ -19473,7 +19480,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgConnectedPlayers_PlayerDraft); i { + switch v := v.(*CMsgGameMatchSignOut_CTeam); i { case 0: return &v.state case 1: @@ -19485,7 +19492,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutGameplayStats_CPlayer); i { + switch v := v.(*CMsgGameMatchSignOut_CAdditionalSignoutMsg); i { case 0: return &v.state case 1: @@ -19497,7 +19504,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutGameplayStats_CTeam); i { + switch v := v.(*CMsgGameMatchSignOut_CSocialFeedMatchEvent); i { case 0: return &v.state case 1: @@ -19509,7 +19516,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_CTeam); i { + switch v := v.(*CMsgGameMatchSignOut_CCustomGameData); i { case 0: return &v.state case 1: @@ -19521,7 +19528,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_CAdditionalSignoutMsg); i { + switch v := v.(*CMsgGameMatchSignOut_EventGameLeaderboardEntry); i { case 0: return &v.state case 1: @@ -19533,7 +19540,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_CSocialFeedMatchEvent); i { + switch v := v.(*CMsgGameMatchSignOut_WardPlacement); i { case 0: return &v.state case 1: @@ -19545,7 +19552,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_CCustomGameData); i { + switch v := v.(*CMsgGameMatchSignOut_CTeam_CPlayer); i { case 0: return &v.state case 1: @@ -19557,7 +19564,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_EventGameLeaderboardEntry); i { + switch v := v.(*CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData); i { case 0: return &v.state case 1: @@ -19569,7 +19576,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_WardPlacement); i { + switch v := v.(*CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived); i { case 0: return &v.state case 1: @@ -19581,7 +19588,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_CTeam_CPlayer); i { + switch v := v.(*CMsgSignOutTextMuteInfo_TextMuteMessage); i { case 0: return &v.state case 1: @@ -19593,7 +19600,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_CTeam_CPlayer_CCustomGameData); i { + switch v := v.(*CMsgSignOutCommunicationSummary_PlayerCommunication); i { case 0: return &v.state case 1: @@ -19605,7 +19612,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignOut_CTeam_CPlayer_HeroDamageReceived); i { + switch v := v.(*CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail); i { case 0: return &v.state case 1: @@ -19617,7 +19624,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutTextMuteInfo_TextMuteMessage); i { + switch v := v.(*CMsgGameMatchSignoutResponse_PlayerMetadata); i { case 0: return &v.state case 1: @@ -19629,7 +19636,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutCommunicationSummary_PlayerCommunication); i { + switch v := v.(*CMsgDOTALiveScoreboardUpdate_Team); i { case 0: return &v.state case 1: @@ -19641,7 +19648,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutCommunicationSummary_PlayerCommunication_PingDetail); i { + switch v := v.(*CMsgDOTALiveScoreboardUpdate_Team_Player); i { case 0: return &v.state case 1: @@ -19653,7 +19660,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGameMatchSignoutResponse_PlayerMetadata); i { + switch v := v.(*CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility); i { case 0: return &v.state case 1: @@ -19665,7 +19672,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTALiveScoreboardUpdate_Team); i { + switch v := v.(*CMsgServerToGCRequestBatchPlayerResourcesResponse_Result); i { case 0: return &v.state case 1: @@ -19677,7 +19684,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTALiveScoreboardUpdate_Team_Player); i { + switch v := v.(*CMsgDOTAAwardEventPoints_AwardPoints); i { case 0: return &v.state case 1: @@ -19689,7 +19696,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTALiveScoreboardUpdate_Team_Player_HeroAbility); i { + switch v := v.(*CMsgServerToGCMatchConnectionStats_Player); i { case 0: return &v.state case 1: @@ -19701,7 +19708,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCRequestBatchPlayerResourcesResponse_Result); i { + switch v := v.(*CSerializedCombatLog_Dictionary); i { case 0: return &v.state case 1: @@ -19713,7 +19720,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDOTAAwardEventPoints_AwardPoints); i { + switch v := v.(*CSerializedCombatLog_Dictionary_DictString); i { case 0: return &v.state case 1: @@ -19725,7 +19732,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchConnectionStats_Player); i { + switch v := v.(*CMsgServerToGCVictoryPredictions_PredictionItem); i { case 0: return &v.state case 1: @@ -19737,7 +19744,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSerializedCombatLog_Dictionary); i { + switch v := v.(*CMsgServerToGCVictoryPredictions_Record); i { case 0: return &v.state case 1: @@ -19749,7 +19756,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSerializedCombatLog_Dictionary_DictString); i { + switch v := v.(*CMsgServerToGCKillSummaries_KillSummary); i { case 0: return &v.state case 1: @@ -19761,7 +19768,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCVictoryPredictions_PredictionItem); i { + switch v := v.(*CMsgSignOutUpdatePlayerChallenge_Challenge); i { case 0: return &v.state case 1: @@ -19773,7 +19780,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCVictoryPredictions_Record); i { + switch v := v.(*CMsgSpendWager_Player); i { case 0: return &v.state case 1: @@ -19785,7 +19792,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCKillSummaries_KillSummary); i { + switch v := v.(*CMsgSignOutXPCoins_Player); i { case 0: return &v.state case 1: @@ -19797,7 +19804,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutUpdatePlayerChallenge_Challenge); i { + switch v := v.(*CMsgSignOutBounties_Bounty); i { case 0: return &v.state case 1: @@ -19809,7 +19816,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSpendWager_Player); i { + switch v := v.(*CMsgSignOutCommunityGoalProgress_EventGoalIncrement); i { case 0: return &v.state case 1: @@ -19821,7 +19828,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutXPCoins_Player); i { + switch v := v.(*CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult); i { case 0: return &v.state case 1: @@ -19833,7 +19840,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutBounties_Bounty); i { + switch v := v.(*CMsgServerToGCCompendiumChosenInGamePredictions_Prediction); i { case 0: return &v.state case 1: @@ -19845,7 +19852,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutCommunityGoalProgress_EventGoalIncrement); i { + switch v := v.(*CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase); i { case 0: return &v.state case 1: @@ -19857,7 +19864,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCompendiumInGamePredictionResults_PredictionResult); i { + switch v := v.(*CMsgServerToGCMatchPlayerItemPurchaseHistory_Player); i { case 0: return &v.state case 1: @@ -19869,7 +19876,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCompendiumChosenInGamePredictions_Prediction); i { + switch v := v.(*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip); i { case 0: return &v.state case 1: @@ -19881,7 +19888,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchPlayerItemPurchaseHistory_ItemPurchase); i { + switch v := v.(*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player); i { case 0: return &v.state case 1: @@ -19893,7 +19900,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchPlayerItemPurchaseHistory_Player); i { + switch v := v.(*CMsgServerToGCMatchStateHistory_PlayerState); i { case 0: return &v.state case 1: @@ -19905,7 +19912,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_ItemEquip); i { + switch v := v.(*CMsgServerToGCMatchStateHistory_TeamState); i { case 0: return &v.state case 1: @@ -19917,7 +19924,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchPlayerNeutralItemEquipHistory_Player); i { + switch v := v.(*CMsgServerToGCMatchStateHistory_MatchState); i { case 0: return &v.state case 1: @@ -19929,7 +19936,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchStateHistory_PlayerState); i { + switch v := v.(*CMsgServerToGCPlayerChallengeHistory_PlayerChallenge); i { case 0: return &v.state case 1: @@ -19941,7 +19948,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchStateHistory_TeamState); i { + switch v := v.(*CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults); i { case 0: return &v.state case 1: @@ -19953,7 +19960,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCMatchStateHistory_MatchState); i { + switch v := v.(*CMsgNeutralItemStats_NeutralItem); i { case 0: return &v.state case 1: @@ -19965,7 +19972,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCPlayerChallengeHistory_PlayerChallenge); i { + switch v := v.(*CMsgGCToServerLobbyHeroBanRates_HeroBanEntry); i { case 0: return &v.state case 1: @@ -19977,7 +19984,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCCavernCrawlIsHeroActiveResponse_MapResults); i { + switch v := v.(*CMsgSignOutGuildContractProgress_CompletedGuildEventContracts); i { case 0: return &v.state case 1: @@ -19989,7 +19996,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgNeutralItemStats_NeutralItem); i { + switch v := v.(*CMsgSignOutGuildContractProgress_PlayerContract); i { case 0: return &v.state case 1: @@ -20001,7 +20008,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerLobbyHeroBanRates_HeroBanEntry); i { + switch v := v.(*CMsgSignOutGuildChallengeProgress_ChallengeProgress); i { case 0: return &v.state case 1: @@ -20013,7 +20020,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutGuildContractProgress_CompletedGuildEventContracts); i { + switch v := v.(*CMsgSignOutMVPStats_Player); i { case 0: return &v.state case 1: @@ -20025,7 +20032,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutGuildContractProgress_PlayerContract); i { + switch v := v.(*CMsgSignOutMVPStats_Player_KillEaterEvent); i { case 0: return &v.state case 1: @@ -20037,7 +20044,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutGuildChallengeProgress_ChallengeProgress); i { + switch v := v.(*CMsgServerToGCGetGuildContractsResponse_ContractDetails); i { case 0: return &v.state case 1: @@ -20049,7 +20056,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutMVPStats_Player); i { + switch v := v.(*CMsgServerToGCGetGuildContractsResponse_Player); i { case 0: return &v.state case 1: @@ -20061,7 +20068,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutMVPStats_Player_KillEaterEvent); i { + switch v := v.(*CMsgMatchDiretideCandy_CandyDetails); i { case 0: return &v.state case 1: @@ -20073,7 +20080,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetGuildContractsResponse_ContractDetails); i { + switch v := v.(*CMsgMatchDiretideCandy_PlayerCandy); i { case 0: return &v.state case 1: @@ -20085,7 +20092,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetGuildContractsResponse_Player); i { + switch v := v.(*CMsgGCToServerCheerData_CheerTypeCount); i { case 0: return &v.state case 1: @@ -20097,7 +20104,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgMatchDiretideCandy_CandyDetails); i { + switch v := v.(*CMsgServerToGCGetStickerHeroesResponse_Player); i { case 0: return &v.state case 1: @@ -20109,7 +20116,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgMatchDiretideCandy_PlayerCandy); i { + switch v := v.(*CMsgSteamLearnMatchInfoTeam_Player); i { case 0: return &v.state case 1: @@ -20121,7 +20128,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToServerCheerData_CheerTypeCount); i { + switch v := v.(*CMsgSteamLearnPlayerTimedStats_StatBucket); i { case 0: return &v.state case 1: @@ -20133,7 +20140,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerToGCGetStickerHeroesResponse_Player); i { + switch v := v.(*CMsgSteamLearnMatchStateV5_PlayerState); i { case 0: return &v.state case 1: @@ -20145,7 +20152,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnPlayerTimedStats_StatBucket); i { + switch v := v.(*CMsgSteamLearnMatchStateV5_TeamState); i { case 0: return &v.state case 1: @@ -20157,7 +20164,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnMatchStateV5_PlayerState); i { + switch v := v.(*CMsgSteamLearnWardPlacement_Location); i { case 0: return &v.state case 1: @@ -20169,7 +20176,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnMatchStateV5_TeamState); i { + switch v := v.(*CMsgSignOutMapStats_Player); i { case 0: return &v.state case 1: @@ -20181,7 +20188,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearnWardPlacement_Location); i { + switch v := v.(*CMsgSignOutOverworld_Player); i { case 0: return &v.state case 1: @@ -20193,19 +20200,7 @@ func file_dota_gcmessages_server_proto_init() { } } file_dota_gcmessages_server_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutMapStats_Player); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_dota_gcmessages_server_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSignOutOverworld_Player); i { + switch v := v.(*CMsgSignOutCraftworks_Player); i { case 0: return &v.state case 1: @@ -20222,8 +20217,8 @@ func file_dota_gcmessages_server_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_gcmessages_server_proto_rawDesc, - NumEnums: 7, - NumMessages: 184, + NumEnums: 6, + NumMessages: 183, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_gcmessages_server.proto b/dota/dota_gcmessages_server.proto index 15ce7e72..e54936e9 100644 --- a/dota/dota_gcmessages_server.proto +++ b/dota/dota_gcmessages_server.proto @@ -8,10 +8,12 @@ import "valveextensions.proto"; import "dota_shared_enums.proto"; import "dota_gcmessages_common.proto"; import "econ_gcmessages.proto"; +import "base_gcmessages.proto"; import "network_connection.proto"; import "dota_gcmessages_common_lobby.proto"; import "dota_gcmessages_common_match_management.proto"; import "dota_gcmessages_common_overworld.proto"; +import "dota_gcmessages_common_craftworks.proto"; import "gcsdk_gcmessages.proto"; import "steammessages_steamlearn.steamworkssdk.proto"; @@ -280,6 +282,7 @@ message CMsgGameMatchSignOut { repeated CMsgTrackedStat player_tracked_stats = 80; optional uint32 predicted_rank = 81; optional uint32 selected_facet = 82; + optional uint32 enhancement_level = 83; } repeated CMsgGameMatchSignOut.CTeam.CPlayer players = 1; @@ -462,8 +465,6 @@ message CMsgGameMatchSignoutResponse { optional uint64 match_id = 1; optional fixed32 replay_salt = 2; - repeated CLobbyTimedRewardDetails timed_reward_details = 3; - repeated CSODOTALobbyMember xp_reward_details = 4; optional uint32 leagueid = 5; optional fixed32 metadata_private_key = 7; optional CMsgDOTAMatch match_details = 8; @@ -475,10 +476,6 @@ message CMsgGameMatchSignoutResponse { optional CMsgOverworldMatchRewards overworld_rewards = 14; } -message CMsgTimedRewardContainer { - repeated CLobbyTimedRewardDetails timed_reward_details = 1; -} - message CMsgGameMatchSignOutPermissionRequest { optional uint32 server_version = 1; optional uint32 local_attempt = 2; @@ -612,6 +609,9 @@ message CMsgServerToGCRequestBatchPlayerResourcesResponse { optional int32 wins = 11; optional int32 losses = 12; optional int32 smurf_category = 13; + optional int32 comm_score = 14; + optional int32 behavior_score = 15; + optional int32 rank_uncertainty = 16; } repeated CMsgServerToGCRequestBatchPlayerResourcesResponse.Result results = 6; @@ -676,32 +676,6 @@ message CMsgResponseTeamFanfare { optional uint32 fanfare_badguys = 2; } -message CMsgGameServerUploadSaveGame { - optional uint32 game_time = 1; - optional bytes save_game_data = 2; - optional uint64 lobby_id = 3; - repeated uint64 player_steam_ids = 4; -} - -message CMsgGameServerSaveGameResult { - enum Result { - SaveSuccessful = 0; - SessionNotFound = 1; - DatabaseError = 2; - TooBig = 3; - } - - optional CMsgGameServerSaveGameResult.Result result = 1; -} - -message CMsgGameServerGetLoadGame { - optional uint32 save_id = 1; -} - -message CMsgGameServerGetLoadGameResult { - optional bytes save_game_data = 1; -} - message CMsgDOTAAwardEventPoints { message AwardPoints { optional uint32 account_id = 1; @@ -1339,14 +1313,6 @@ message CMsgServerToGCGetStickerHeroesResponse { repeated CMsgServerToGCGetStickerHeroesResponse.Player players = 1; } -message CMsgGCToServerSteamLearnAccessTokensChanged { - optional CMsgSteamLearnAccessTokens access_tokens = 1; -} - -message CMsgGCToServerSteamLearnUseHTTP { - optional bool use_http = 1; -} - message CMsgSteamLearnMatchInfo { optional uint32 average_mmr = 1; optional bool radiant_won = 2; @@ -1364,6 +1330,20 @@ message CMsgSteamLearnMatchInfoPlayer { optional uint32 player_mmr = 6; } +message CMsgSteamLearnMatchInfoTeam { + message Player { + optional uint32 prematch_mmr = 1; + optional uint32 prematch_rank_uncertainty = 2; + optional uint32 prematch_behavior_score = 3; + optional uint32 prematch_comm_score = 4; + optional uint32 num_players_in_party = 5; + } + + repeated CMsgSteamLearnMatchInfoTeam.Player radiant_players = 1; + repeated CMsgSteamLearnMatchInfoTeam.Player dire_players = 2; + optional bool radiant_team_won = 3; +} + message CMsgSteamLearnMatchHeroesV3 { repeated int32 radiant_hero_ids = 1; repeated int32 dire_hero_ids = 2; @@ -1461,6 +1441,13 @@ message CMsgSteamLearnNeutralItemPurchase { optional bool is_using_dota_plus = 4; } +message CMsgSteamLearnNeutralItemPurchaseV2 { + optional uint32 tier = 1; + optional int32 trinket_id = 2; + optional int32 enhancement_id = 3; + optional int32 previous_trinket_id = 4; +} + message CMsgSteamLearnAbilitySkill { optional int32 ability_id = 1; repeated int32 skilled_abilities = 2; @@ -1468,11 +1455,17 @@ message CMsgSteamLearnAbilitySkill { optional bool is_using_dota_plus = 4; } -message CMsgSteamLearnEarlyGameItemPurchases { +message CMsgSteamLearnEarlyGameItemPurchasesV2 { + repeated int32 item_ids = 1; + repeated int32 other_item_ids = 2; +} + +message CMsgSteamLearnLateGameItemPurchasesV2 { repeated int32 item_ids = 1; + repeated int32 other_item_ids = 2; } -message CMsgSteamLearnLateGameItemPurchases { +message CMsgSteamLearnMainGameItemPurchases { repeated int32 item_ids = 1; } @@ -1522,3 +1515,13 @@ message CMsgSignOutOverworld { repeated CMsgSignOutOverworld.Player players = 1; optional EEvent event_id = 2; } + +message CMsgSignOutCraftworks { + message Player { + optional uint32 account_id = 1; + optional CMsgCraftworksComponents components = 2; + } + + repeated CMsgSignOutCraftworks.Player players = 1; + optional EEvent event_id = 2; +} diff --git a/dota/dota_gcmessages_webapi.pb.go b/dota/dota_gcmessages_webapi.pb.go index eb8cce44..688c6166 100644 --- a/dota/dota_gcmessages_webapi.pb.go +++ b/dota/dota_gcmessages_webapi.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_gcmessages_webapi.proto package dota @@ -680,6 +680,7 @@ const ( CMsgDPCEvent_SUMMER_2023_LEAGUE CMsgDPCEvent_ELeagueEvent = 19 CMsgDPCEvent_SUMMER_2023_MAJOR CMsgDPCEvent_ELeagueEvent = 20 CMsgDPCEvent_INTERNATIONAL_2023 CMsgDPCEvent_ELeagueEvent = 21 + CMsgDPCEvent_INTERNATIONAL_2024 CMsgDPCEvent_ELeagueEvent = 23 ) // Enum value maps for CMsgDPCEvent_ELeagueEvent. @@ -707,6 +708,7 @@ var ( 19: "SUMMER_2023_LEAGUE", 20: "SUMMER_2023_MAJOR", 21: "INTERNATIONAL_2023", + 23: "INTERNATIONAL_2024", } CMsgDPCEvent_ELeagueEvent_value = map[string]int32{ "EVENT_INVALID": 0, @@ -731,6 +733,7 @@ var ( "SUMMER_2023_LEAGUE": 19, "SUMMER_2023_MAJOR": 20, "INTERNATIONAL_2023": 21, + "INTERNATIONAL_2024": 23, } ) @@ -4201,7 +4204,7 @@ var file_dota_gcmessages_webapi_proto_rawDesc = []byte{ 0x22, 0x2f, 0x0a, 0x07, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0x01, 0x22, 0x9c, 0x10, 0x0a, 0x0c, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, + 0x01, 0x22, 0xb4, 0x10, 0x0a, 0x0c, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x45, 0x76, 0x65, @@ -4268,7 +4271,7 @@ var file_dota_gcmessages_webapi_proto_rawDesc = []byte{ 0x64, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x68, 0x61, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x06, 0x70, 0x68, 0x61, 0x73, 0x65, 0x73, 0x22, 0xd3, 0x04, 0x0a, 0x0c, 0x45, 0x4c, 0x65, 0x61, + 0x06, 0x70, 0x68, 0x61, 0x73, 0x65, 0x73, 0x22, 0xeb, 0x04, 0x0a, 0x0c, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x50, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, @@ -4305,255 +4308,256 @@ var file_dota_gcmessages_webapi_proto_rawDesc = []byte{ 0x5f, 0x32, 0x30, 0x32, 0x33, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x13, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x10, 0x14, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x10, 0x15, 0x22, 0xc9, 0x01, - 0x0a, 0x11, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x68, - 0x61, 0x73, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x49, 0x4c, 0x44, 0x5f, 0x43, - 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, - 0x54, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x41, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x42, 0x10, 0x04, - 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x4c, 0x4c, 0x10, 0x05, 0x12, 0x0b, 0x0a, - 0x07, 0x50, 0x4c, 0x41, 0x59, 0x4f, 0x46, 0x46, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, - 0x53, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x50, 0x43, 0x5f, 0x50, - 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x08, - 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x10, 0x09, 0x12, 0x0b, 0x0a, - 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x4c, - 0x41, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0b, 0x22, 0x88, 0x01, 0x0a, 0x10, 0x45, 0x4c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, - 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x41, 0x4a, 0x4f, 0x52, - 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x41, 0x4c, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, 0x52, 0x53, 0x10, 0x03, - 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, - 0x4c, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x46, 0x49, - 0x4e, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, - 0x41, 0x4c, 0x10, 0x06, 0x22, 0x3a, 0x0a, 0x05, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x12, 0x0d, 0x0a, - 0x09, 0x54, 0x4f, 0x55, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, - 0x54, 0x4f, 0x55, 0x52, 0x5f, 0x31, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x4f, 0x55, 0x52, - 0x5f, 0x32, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x4f, 0x55, 0x52, 0x5f, 0x33, 0x10, 0x03, - 0x22, 0x3e, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x22, 0x97, 0x06, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x12, 0x40, - 0x0a, 0x07, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, - 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, - 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x07, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, - 0x1a, 0x4b, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xaf, 0x02, - 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x43, 0x0a, - 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x2e, - 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x52, 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, - 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x1a, - 0x77, 0x0a, 0x06, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, - 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x10, 0x15, 0x12, 0x16, 0x0a, + 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, + 0x30, 0x32, 0x34, 0x10, 0x17, 0x22, 0xc9, 0x01, 0x0a, 0x11, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x50, + 0x48, 0x41, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0d, + 0x0a, 0x09, 0x57, 0x49, 0x4c, 0x44, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, + 0x0b, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0b, + 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x42, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x56, 0x45, 0x52, + 0x41, 0x4c, 0x4c, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x59, 0x4f, 0x46, 0x46, + 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x07, 0x12, + 0x17, 0x0a, 0x13, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, + 0x50, 0x5f, 0x43, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, + 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, + 0x0b, 0x22, 0x88, 0x01, 0x0a, 0x10, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x01, 0x12, + 0x09, 0x0a, 0x05, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x46, 0x49, 0x45, 0x52, 0x53, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x0c, + 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x06, 0x22, 0x3a, 0x0a, 0x05, + 0x45, 0x54, 0x6f, 0x75, 0x72, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x4f, 0x55, 0x52, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x4f, 0x55, 0x52, 0x5f, 0x31, 0x10, 0x01, + 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x4f, 0x55, 0x52, 0x5f, 0x32, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, + 0x54, 0x4f, 0x55, 0x52, 0x5f, 0x33, 0x10, 0x03, 0x22, 0x3e, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, + 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x43, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x97, 0x06, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x05, 0x63, 0x61, 0x72, - 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0xbf, 0x01, 0x0a, 0x06, 0x50, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x67, - 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x2e, 0x4c, 0x65, 0x61, 0x67, 0x75, - 0x65, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x73, 0x22, 0x9c, 0x03, 0x0a, 0x17, 0x43, + 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x12, 0x40, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, - 0x1a, 0x4b, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xf9, 0x01, - 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x41, 0x0a, - 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, - 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x61, - 0x72, 0x64, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x52, 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, - 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x87, 0x03, 0x0a, 0x28, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, 0x54, 0x6f, - 0x78, 0x69, 0x63, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x78, 0x69, - 0x63, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x52, - 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x0d, 0x49, 0x6e, 0x64, - 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x52, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x65, 0x65, 0x6e, - 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x78, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x10, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x78, 0x69, - 0x63, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x65, 0x65, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x61, 0x74, - 0x54, 0x6f, 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, + 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, + 0x07, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, + 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x75, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xaf, 0x02, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2a, + 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x6e, 0x75, + 0x73, 0x52, 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x1a, 0x77, 0x0a, 0x06, 0x4c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x49, 0x64, 0x12, 0x3a, + 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, + 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x75, 0x70, 0x2e, 0x43, + 0x61, 0x72, 0x64, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x1a, 0xbf, 0x01, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x50, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x45, 0x6e, 0x64, + 0x12, 0x40, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, + 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6e, 0x65, + 0x75, 0x70, 0x2e, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x73, 0x22, 0x9c, 0x03, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, + 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, + 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, + 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x75, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xf9, 0x01, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2a, + 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x43, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x52, + 0x07, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x22, 0x87, 0x03, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, + 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x50, + 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x78, 0x69, + 0x63, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x64, + 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, + 0x1a, 0x88, 0x02, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x52, + 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x65, - 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x74, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x6e, - 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x6d, 0x6c, 0x5f, 0x74, - 0x68, 0x69, 0x6e, 0x6b, 0x73, 0x5f, 0x74, 0x6f, 0x78, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x18, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x4d, 0x6c, - 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x73, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x96, 0x03, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x1a, 0xd9, 0x01, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, - 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x73, - 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x44, 0x50, 0x43, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x29, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2a, 0x88, 0x01, 0x0a, 0x15, 0x45, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, - 0x1f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, - 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, - 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x45, 0x41, 0x4d, 0x5f, - 0x46, 0x41, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xe9, - 0x02, 0x0a, 0x18, 0x45, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x6b, - 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x67, 0x6f, 0x50, 0x4e, 0x47, 0x10, 0x01, 0x12, - 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, - 0x47, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, + 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x78, 0x69, + 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, + 0x65, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x61, + 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x65, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x16, + 0x43, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x78, 0x69, 0x63, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x65, 0x65, 0x6e, + 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x5f, 0x6d, 0x6c, 0x5f, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x73, 0x5f, 0x74, 0x6f, + 0x78, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6e, 0x75, 0x6d, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x4d, 0x6c, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x73, 0x54, 0x6f, + 0x78, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x96, 0x03, + 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, + 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0xd9, 0x01, 0x0a, 0x06, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x73, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, + 0x54, 0x41, 0x44, 0x50, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x05, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x88, 0x01, 0x0a, 0x15, + 0x45, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x41, + 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x25, 0x0a, 0x21, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x56, 0x41, 0x4c, 0x55, + 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xe9, 0x02, 0x0a, 0x18, 0x45, 0x54, 0x65, 0x61, 0x6d, + 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, - 0x67, 0x6f, 0x33, 0x44, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, - 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x70, 0x72, 0x61, 0x79, 0x73, 0x10, 0x05, 0x12, 0x25, 0x0a, - 0x21, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, - 0x72, 0x73, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, - 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x73, 0x10, 0x07, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, - 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x10, - 0x08, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x09, 0x2a, 0x8d, 0x01, 0x0a, 0x1a, 0x45, - 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, - 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, + 0x67, 0x6f, 0x50, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x46, 0x61, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x6b, + 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x67, 0x6f, 0x33, 0x44, 0x10, 0x03, 0x12, 0x22, + 0x0a, 0x1e, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x70, 0x72, + 0x61, 0x79, 0x73, 0x10, 0x05, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x57, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x73, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x64, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x81, 0x01, 0x0a, 0x14, 0x45, - 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x41, 0x4c, - 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x91, - 0x01, 0x0a, 0x17, 0x45, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, - 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x10, 0x01, 0x12, - 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x75, 0x74, - 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x54, - 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, - 0x10, 0x03, 0x2a, 0x95, 0x01, 0x0a, 0x19, 0x45, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x73, + 0x10, 0x07, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x6f, 0x69, + 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x65, + 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0x09, 0x2a, 0x8d, 0x01, 0x0a, 0x1a, 0x45, 0x54, 0x65, 0x61, 0x6d, 0x46, 0x61, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x6f, + 0x6e, 0x65, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x54, 0x61, 0x6c, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x01, + 0x5f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x6b, + 0x5f, 0x65, 0x46, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x10, 0x02, 0x2a, 0x81, 0x01, 0x0a, 0x14, 0x45, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x54, + 0x41, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x21, + 0x0a, 0x1d, 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x56, 0x41, 0x4c, 0x55, + 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x91, 0x01, 0x0a, 0x17, 0x45, 0x54, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x65, 0x54, 0x61, + 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x02, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, - 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, - 0x61, + 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x6f, + 0x69, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x10, 0x03, 0x2a, 0x95, 0x01, 0x0a, 0x19, 0x45, + 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x65, 0x54, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x28, + 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x65, 0x54, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x10, 0x02, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, + 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/dota_gcmessages_webapi.proto b/dota/dota_gcmessages_webapi.proto index 4a9bbee4..3990f5e0 100644 --- a/dota/dota_gcmessages_webapi.proto +++ b/dota/dota_gcmessages_webapi.proto @@ -278,6 +278,7 @@ message CMsgDPCEvent { SUMMER_2023_LEAGUE = 19; SUMMER_2023_MAJOR = 20; INTERNATIONAL_2023 = 21; + INTERNATIONAL_2024 = 23; } enum ELeagueEventPhase { diff --git a/dota/dota_hud_types.pb.go b/dota/dota_hud_types.pb.go index c45ec0b5..51929f90 100644 --- a/dota/dota_hud_types.pb.go +++ b/dota/dota_hud_types.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_hud_types.proto package dota @@ -150,16 +150,16 @@ var file_dota_hud_types_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.EnumValueOptions)(nil), ExtensionType: (*string)(nil), - Field: 50501, + Field: 51501, Name: "dota.hud_localize_token", - Tag: "bytes,50501,opt,name=hud_localize_token", + Tag: "bytes,51501,opt,name=hud_localize_token", Filename: "dota_hud_types.proto", }, } // Extension fields to descriptorpb.EnumValueOptions. var ( - // optional string hud_localize_token = 50501; + // optional string hud_localize_token = 51501; E_HudLocalizeToken = &file_dota_hud_types_proto_extTypes[0] ) @@ -250,7 +250,7 @@ var file_dota_hud_types_proto_rawDesc = []byte{ 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0xc5, 0x8a, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x68, 0x75, 0x64, 0x4c, + 0x6e, 0x73, 0x18, 0xad, 0x92, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x68, 0x75, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, diff --git a/dota/dota_hud_types.proto b/dota/dota_hud_types.proto index fb7ebfba..db5311c5 100644 --- a/dota/dota_hud_types.proto +++ b/dota/dota_hud_types.proto @@ -6,7 +6,7 @@ option go_package = "github.com/dotabuff/manta/dota;dota"; import "google/protobuf/descriptor.proto"; extend google.protobuf.EnumValueOptions { - optional string hud_localize_token = 50501; + optional string hud_localize_token = 51501; } enum EHeroSelectionText { diff --git a/dota/dota_match_metadata.pb.go b/dota/dota_match_metadata.pb.go index 3253d462..16cba770 100644 --- a/dota/dota_match_metadata.pb.go +++ b/dota/dota_match_metadata.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_match_metadata.proto package dota @@ -760,14 +760,15 @@ type CDOTAMatchMetadata_Team_InventorySnapshot struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemId []int32 `protobuf:"varint,1,rep,name=item_id,json=itemId" json:"item_id,omitempty"` - GameTime *int32 `protobuf:"varint,2,opt,name=game_time,json=gameTime" json:"game_time,omitempty"` - Kills *uint32 `protobuf:"varint,3,opt,name=kills" json:"kills,omitempty"` - Deaths *uint32 `protobuf:"varint,4,opt,name=deaths" json:"deaths,omitempty"` - Assists *uint32 `protobuf:"varint,5,opt,name=assists" json:"assists,omitempty"` - Level *uint32 `protobuf:"varint,6,opt,name=level" json:"level,omitempty"` - BackpackItemId []int32 `protobuf:"varint,7,rep,name=backpack_item_id,json=backpackItemId" json:"backpack_item_id,omitempty"` - NeutralItemId *int32 `protobuf:"varint,8,opt,name=neutral_item_id,json=neutralItemId" json:"neutral_item_id,omitempty"` + ItemId []int32 `protobuf:"varint,1,rep,name=item_id,json=itemId" json:"item_id,omitempty"` + GameTime *int32 `protobuf:"varint,2,opt,name=game_time,json=gameTime" json:"game_time,omitempty"` + Kills *uint32 `protobuf:"varint,3,opt,name=kills" json:"kills,omitempty"` + Deaths *uint32 `protobuf:"varint,4,opt,name=deaths" json:"deaths,omitempty"` + Assists *uint32 `protobuf:"varint,5,opt,name=assists" json:"assists,omitempty"` + Level *uint32 `protobuf:"varint,6,opt,name=level" json:"level,omitempty"` + BackpackItemId []int32 `protobuf:"varint,7,rep,name=backpack_item_id,json=backpackItemId" json:"backpack_item_id,omitempty"` + NeutralItemId *int32 `protobuf:"varint,8,opt,name=neutral_item_id,json=neutralItemId" json:"neutral_item_id,omitempty"` + NeutralEnhancementId *int32 `protobuf:"varint,9,opt,name=neutral_enhancement_id,json=neutralEnhancementId" json:"neutral_enhancement_id,omitempty"` } func (x *CDOTAMatchMetadata_Team_InventorySnapshot) Reset() { @@ -858,6 +859,13 @@ func (x *CDOTAMatchMetadata_Team_InventorySnapshot) GetNeutralItemId() int32 { return 0 } +func (x *CDOTAMatchMetadata_Team_InventorySnapshot) GetNeutralEnhancementId() int32 { + if x != nil && x.NeutralEnhancementId != nil { + return *x.NeutralEnhancementId + } + return 0 +} + type CDOTAMatchMetadata_Team_AutoStyleCriteria struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1763,6 +1771,7 @@ type CDOTAMatchMetadata_Team_Player struct { GamePlayerId *int32 `protobuf:"varint,57,opt,name=game_player_id,json=gamePlayerId" json:"game_player_id,omitempty"` PlayerTrackedStats []*CMsgTrackedStat `protobuf:"bytes,58,rep,name=player_tracked_stats,json=playerTrackedStats" json:"player_tracked_stats,omitempty"` OverworldRewards *CDOTAMatchMetadata_Team_Player_OverworldRewards `protobuf:"bytes,59,opt,name=overworld_rewards,json=overworldRewards" json:"overworld_rewards,omitempty"` + CraftworksQuestRewards []*CMsgCraftworksQuestReward `protobuf:"bytes,60,rep,name=craftworks_quest_rewards,json=craftworksQuestRewards" json:"craftworks_quest_rewards,omitempty"` } func (x *CDOTAMatchMetadata_Team_Player) Reset() { @@ -2175,6 +2184,13 @@ func (x *CDOTAMatchMetadata_Team_Player) GetOverworldRewards() *CDOTAMatchMetada return nil } +func (x *CDOTAMatchMetadata_Team_Player) GetCraftworksQuestRewards() []*CMsgCraftworksQuestReward { + if x != nil { + return x.CraftworksQuestRewards + } + return nil +} + type CDOTAMatchMetadata_Team_Player_ContractProgress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3359,739 +3375,751 @@ var file_dota_match_metadata_proto_rawDesc = []byte{ 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x65, - 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, - 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x02, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xde, 0x41, 0x0a, 0x12, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x65, - 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x74, - 0x69, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, - 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x08, 0x6d, 0x76, 0x70, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x6d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x69, 0x0a, 0x18, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x16, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x0c, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, - 0x69, 0x70, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x70, 0x73, 0x12, 0x45, 0x0a, - 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x52, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x08, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, - 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x65, 0x71, 0x75, 0x69, - 0x70, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x0d, 0x65, 0x71, 0x75, - 0x69, 0x70, 0x70, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x89, 0x35, 0x0a, 0x04, 0x54, - 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x61, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x65, 0x61, 0x6d, - 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, - 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x12, 0x29, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x47, 0x6f, 0x6c, - 0x64, 0x45, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, - 0x52, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, - 0x22, 0x0a, 0x0d, 0x63, 0x6d, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x63, 0x6b, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, - 0x69, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x6d, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, - 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x11, 0x63, 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6d, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, - 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6d, 0x50, 0x65, 0x6e, 0x61, - 0x6c, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x12, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x52, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, - 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x43, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, - 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x63, - 0x74, 0x69, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x4c, 0x0a, - 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, - 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xf9, 0x01, 0x0a, 0x11, - 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, - 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, - 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, - 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, - 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x1a, 0x48, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x53, - 0x74, 0x79, 0x6c, 0x65, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x1d, 0x0a, 0x0a, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x1a, 0xb2, 0x02, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6c, - 0x5f, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x2b, 0x0a, 0x12, 0x67, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x65, - 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, - 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x11, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x1a, 0x98, 0x01, 0x0a, 0x11, 0x56, 0x69, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, - 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, - 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x1a, 0x83, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x65, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x65, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0x6b, 0x0a, 0x15, 0x43, 0x61, 0x76, 0x65, 0x72, - 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, - 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x1a, 0x7b, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x75, 0x64, - 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x1a, 0x3c, 0x0a, 0x0a, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, - 0x78, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, - 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x1a, 0xcc, 0x0c, 0x0a, 0x09, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x63, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x23, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x20, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x50, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x77, 0x6e, 0x65, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x77, - 0x6e, 0x65, 0x64, 0x12, 0x6b, 0x0a, 0x1c, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x53, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x19, 0x73, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x61, 0x67, 0x65, 0x72, 0x57, - 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x61, 0x76, 0x65, 0x72, - 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, - 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, - 0x3a, 0x0a, 0x19, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x17, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x61, 0x67, 0x65, 0x72, - 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x74, 0x0a, 0x1c, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x19, 0x63, 0x61, 0x76, - 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, - 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x20, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x57, 0x69, - 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x61, - 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x72, 0x61, 0x77, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x76, - 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x61, - 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x61, 0x67, 0x65, - 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x57, 0x61, 0x67, 0x65, 0x72, 0x42, 0x6f, 0x6e, 0x75, - 0x73, 0x50, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6b, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, - 0x77, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x50, 0x63, 0x74, 0x12, 0x5a, - 0x0a, 0x14, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x43, 0x61, 0x6e, 0x64, - 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x12, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, - 0x72, 0x61, 0x77, 0x6c, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, - 0x61, 0x77, 0x6c, 0x48, 0x61, 0x6c, 0x66, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x61, 0x0a, - 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, - 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0x46, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x12, 0x65, 0x78, 0x74, 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x75, 0x0a, 0x18, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, - 0xd4, 0x18, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x3e, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x52, - 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, + 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x61, 0x66, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x64, 0x6f, + 0x74, 0x61, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x64, 0x6f, 0x74, 0x61, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x16, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x02, + 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xef, 0x42, 0x0a, + 0x12, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, + 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x62, 0x62, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, + 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x6e, + 0x74, 0x69, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x35, 0x0a, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x14, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x4c, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x29, + 0x0a, 0x08, 0x6d, 0x76, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x07, 0x6d, 0x76, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x69, 0x0a, 0x18, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x16, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, + 0x6f, 0x73, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x74, + 0x47, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x69, 0x70, 0x52, 0x09, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x54, 0x69, 0x70, 0x73, 0x12, 0x45, 0x0a, 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, + 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x52, 0x11, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xd3, 0x01, + 0x0a, 0x08, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, + 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, + 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x38, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x4f, 0x45, + 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x70, 0x65, 0x64, 0x52, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x1a, 0x9a, 0x36, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x02, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x67, 0x6f, + 0x6c, 0x64, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x02, 0x52, + 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x61, 0x72, 0x6e, 0x65, 0x64, + 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, + 0x72, 0x74, 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x4e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6d, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x63, 0x6d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x14, + 0x63, 0x6d, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x63, 0x6d, 0x43, 0x61, + 0x70, 0x74, 0x61, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x6d, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x63, 0x6d, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x12, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x52, + 0x10, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x1a, 0x43, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x12, + 0x1f, 0x0a, 0x0b, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x53, 0x6c, 0x6f, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x4c, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xaf, 0x02, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, + 0x0a, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x61, + 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x75, 0x74, + 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, + 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x68, 0x61, + 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x14, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x1a, 0x48, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x74, + 0x79, 0x6c, 0x65, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, + 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x1a, 0xb2, 0x02, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, + 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x2b, 0x0a, 0x12, 0x67, 0x65, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x65, 0x6d, + 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x10, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x2f, 0x0a, 0x14, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, + 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x1a, 0x98, 0x01, 0x0a, 0x11, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, + 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x1a, 0x83, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x65, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0x6b, 0x0a, 0x15, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x6f, + 0x6d, 0x49, 0x64, 0x1a, 0x7b, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x1a, 0x3c, 0x0a, 0x0a, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x78, + 0x0a, 0x14, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x1a, 0xcc, 0x0c, 0x0a, 0x09, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x23, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x20, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x77, 0x6e, + 0x65, 0x64, 0x12, 0x6b, 0x0a, 0x1c, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x53, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x19, 0x73, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x61, 0x67, 0x65, 0x72, 0x57, 0x69, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, + 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x3a, + 0x0a, 0x19, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x17, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x61, 0x67, 0x65, 0x72, 0x65, + 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x74, 0x0a, 0x1c, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, - 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x76, 0x67, 0x5f, - 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x61, 0x76, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x58, 0x31, 0x36, 0x12, 0x24, 0x0a, 0x0e, - 0x61, 0x76, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x44, 0x65, 0x61, 0x74, 0x68, 0x73, 0x58, - 0x31, 0x36, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, - 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x67, - 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x58, 0x31, 0x36, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, - 0x67, 0x5f, 0x67, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x76, 0x67, 0x47, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, - 0x67, 0x5f, 0x78, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x76, 0x67, 0x58, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, - 0x73, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x58, 0x31, 0x36, - 0x12, 0x28, 0x0a, 0x10, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, - 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x65, 0x73, 0x74, - 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x58, 0x31, 0x36, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x65, - 0x73, 0x74, 0x5f, 0x67, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x47, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x20, 0x0a, 0x0c, - 0x62, 0x65, 0x73, 0x74, 0x5f, 0x78, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x58, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x1d, - 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x77, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x26, 0x0a, - 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x57, 0x69, 0x6e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x69, 0x67, 0x68, - 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x61, 0x72, 0x6d, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, - 0x73, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, - 0x70, 0x75, 0x73, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, - 0x74, 0x68, 0x18, 0x17, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, - 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x5e, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x65, 0x6e, - 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x18, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, - 0x61, 0x6d, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x76, 0x67, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x76, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, - 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x13, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x43, - 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x79, - 0x6c, 0x65, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x46, 0x0a, 0x0a, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x43, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x19, 0x63, 0x61, 0x76, 0x65, + 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, + 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x20, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6c, 0x75, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x57, 0x69, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x62, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x67, 0x65, - 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, - 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x12, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x78, - 0x70, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x58, 0x70, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, - 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x53, 0x74, 0x61, - 0x63, 0x6b, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x12, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, - 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, - 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x11, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x22, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x69, 0x6c, - 0x6c, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x65, 0x67, 0x69, 0x73, 0x5f, 0x73, - 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, - 0x65, 0x67, 0x69, 0x73, 0x53, 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, - 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x75, - 0x72, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x73, 0x4b, 0x69, 0x6c, 0x6c, - 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x5f, - 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x57, - 0x6f, 0x72, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x29, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x6f, 0x6c, - 0x64, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, - 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, - 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x57, - 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, - 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x75, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x74, 0x75, 0x6e, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x13, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6d, - 0x6d, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x2e, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, - 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x72, 0x61, - 0x6e, 0x6b, 0x4d, 0x6d, 0x72, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x62, - 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x31, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x73, 0x12, - 0x2a, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, - 0x54, 0x45, 0x41, 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x34, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x74, 0x0a, - 0x1a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, - 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, - 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, - 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x18, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x61, 0x76, + 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x72, 0x61, 0x77, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x61, 0x76, + 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, 0x77, 0x6c, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x77, 0x61, 0x67, 0x65, 0x72, + 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x57, 0x61, 0x67, 0x65, 0x72, 0x42, 0x6f, 0x6e, 0x75, 0x73, + 0x50, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6b, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, + 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x50, 0x63, 0x74, 0x12, 0x5a, 0x0a, + 0x14, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x79, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x12, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x72, + 0x61, 0x77, 0x6c, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x72, 0x61, + 0x77, 0x6c, 0x48, 0x61, 0x6c, 0x66, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x61, 0x0a, 0x12, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, + 0x46, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x12, 0x65, 0x78, 0x74, 0x72, 0x61, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x75, 0x0a, 0x18, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x41, 0x0a, 0x1d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x68, - 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x51, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x51, 0x0a, 0x13, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, - 0x64, 0x5f, 0x65, 0x63, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x38, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x63, 0x6f, - 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x11, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, - 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x39, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x47, - 0x0a, 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x52, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x3b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xaf, + 0x19, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x3e, 0x0a, 0x05, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x05, + 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x65, 0x61, 0x6d, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x76, 0x67, 0x5f, 0x6b, + 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x61, 0x76, 0x67, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x58, 0x31, 0x36, 0x12, 0x24, 0x0a, 0x0e, 0x61, + 0x76, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x44, 0x65, 0x61, 0x74, 0x68, 0x73, 0x58, 0x31, + 0x36, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, + 0x5f, 0x78, 0x31, 0x36, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x67, 0x41, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x58, 0x31, 0x36, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, + 0x5f, 0x67, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x76, 0x67, 0x47, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, + 0x5f, 0x78, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x76, 0x67, 0x58, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, 0x73, + 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x58, 0x31, 0x36, 0x12, + 0x28, 0x0a, 0x10, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x5f, + 0x78, 0x31, 0x36, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x41, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x58, 0x31, 0x36, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x65, 0x73, + 0x74, 0x5f, 0x67, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x62, 0x65, 0x73, 0x74, 0x47, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x20, 0x0a, 0x0c, 0x62, + 0x65, 0x73, 0x74, 0x5f, 0x78, 0x70, 0x6d, 0x5f, 0x78, 0x31, 0x36, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x58, 0x70, 0x6d, 0x58, 0x31, 0x36, 0x12, 0x1d, 0x0a, + 0x0a, 0x77, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x77, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x12, 0x26, 0x0a, 0x0f, + 0x62, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x57, 0x69, 0x6e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x69, 0x67, 0x68, 0x74, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x72, 0x6d, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x61, 0x72, 0x6d, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x73, + 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, + 0x75, 0x73, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x0c, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, + 0x68, 0x18, 0x17, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x65, + 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x5e, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x18, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, - 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x97, 0x02, 0x0a, 0x10, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x73, - 0x6c, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0x6f, 0x0a, 0x10, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, - 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x06, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, - 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0xbf, 0x04, 0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3d, 0x0a, 0x1b, 0x63, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x41, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x1e, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x5f, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x1c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x73, 0x0a, 0x13, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, + 0x6d, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x76, 0x67, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x76, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x61, + 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, + 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, + 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x43, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x79, 0x6c, + 0x65, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x46, 0x0a, 0x0a, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x49, - 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x12, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x51, 0x0a, 0x12, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, - 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x1a, 0xa9, 0x01, 0x0a, 0x03, 0x54, 0x69, 0x70, - 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x2c, - 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x69, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x74, 0x69, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x22, 0xba, 0x17, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x32, - 0x0a, 0x15, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x62, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x13, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x57, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x1a, 0x30, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x1a, 0xab, 0x15, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, - 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, - 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x12, 0x4b, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xd4, 0x12, - 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x12, 0x62, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x62, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x67, 0x65, 0x6d, + 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x53, + 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x12, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x78, 0x70, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x58, 0x70, 0x12, 0x23, + 0x0a, 0x0d, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x53, 0x74, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x12, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x56, + 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x11, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x65, 0x67, 0x69, 0x73, 0x5f, 0x73, 0x6e, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x65, + 0x67, 0x69, 0x73, 0x53, 0x6e, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x72, + 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, + 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x61, 0x70, 0x69, 0x65, 0x72, 0x73, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x75, 0x72, + 0x69, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x65, + 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x72, + 0x61, 0x6e, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x57, 0x6f, + 0x72, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x6f, 0x6c, 0x64, + 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x2a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x57, 0x61, + 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, + 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x57, 0x61, + 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x5f, 0x64, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x77, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x75, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x74, 0x75, 0x6e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x13, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6d, 0x6d, + 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x2e, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x72, 0x61, 0x6e, + 0x6b, 0x4d, 0x6d, 0x72, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x62, 0x0a, + 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x31, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x73, 0x12, 0x2a, + 0x0a, 0x11, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, + 0x45, 0x41, 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x34, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x74, 0x0a, 0x1a, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x18, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x64, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x41, 0x0a, 0x1d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x51, 0x0a, 0x13, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, + 0x5f, 0x65, 0x63, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x38, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x63, 0x6f, 0x6e, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x11, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, 0x63, + 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x39, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x47, 0x0a, + 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x52, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x3b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, + 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x59, 0x0a, 0x18, 0x63, 0x72, + 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x16, 0x63, + 0x72, 0x61, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x97, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x6c, 0x6f, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, + 0x6f, 0x0a, 0x10, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x1a, 0xbf, 0x04, 0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x1e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, + 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x73, 0x0a, 0x13, 0x69, 0x6e, + 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, + 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x12, 0x69, 0x6e, 0x64, + 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x1a, + 0x51, 0x0a, 0x12, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, + 0x6f, 0x74, 0x1a, 0xa9, 0x01, 0x0a, 0x03, 0x54, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x70, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x70, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xba, + 0x17, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x05, + 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, - 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0c, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x52, 0x0b, 0x62, 0x75, 0x66, 0x66, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x02, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x44, 0x65, 0x61, 0x74, 0x68, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, - 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x41, - 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, - 0x6c, 0x61, 0x73, 0x74, 0x68, 0x69, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, 0x61, 0x73, 0x74, 0x68, 0x69, 0x74, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x02, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x73, - 0x12, 0x5d, 0x0a, 0x0d, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x52, 0x0c, 0x67, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, - 0x57, 0x0a, 0x0b, 0x78, 0x70, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x58, 0x50, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x0a, 0x78, 0x70, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, - 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x1a, 0xe1, 0x06, 0x0a, 0x0d, 0x43, - 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x11, 0x64, 0x61, 0x6d, - 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, + 0x6d, 0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x13, 0x67, 0x72, 0x61, 0x70, 0x68, 0x57, 0x69, + 0x6e, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x0c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x30, 0x0a, 0x0a, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xab, 0x15, + 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x74, + 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x6f, 0x74, 0x61, 0x54, + 0x65, 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, - 0x0f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x78, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x5f, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, - 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, - 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x42, - 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x10, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, - 0x67, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x9d, 0x02, 0x0a, 0x0f, 0x44, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2a, - 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x7e, 0x0a, 0x0f, 0x62, 0x79, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x65, 0x61, 0x6d, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xd4, 0x12, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x6c, 0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x62, 0x0a, 0x0f, + 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0c, + 0x62, 0x75, 0x66, 0x66, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x42, 0x79, - 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0d, 0x62, 0x79, 0x48, 0x65, - 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x3f, 0x0a, 0x0c, 0x42, 0x79, 0x48, - 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0xa1, 0x02, 0x0a, 0x10, 0x48, - 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x7f, 0x0a, 0x0f, 0x62, 0x79, - 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, - 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, - 0x42, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0d, 0x62, 0x79, - 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x41, 0x0a, 0x0c, 0x42, - 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, - 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, - 0x72, 0x6f, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0xc0, - 0x02, 0x0a, 0x0a, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x0a, - 0x0f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x41, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x62, 0x75, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x6b, 0x0a, 0x0f, 0x62, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, + 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0b, 0x62, 0x75, 0x66, 0x66, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0a, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x44, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x02, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x68, 0x69, + 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, + 0x61, 0x73, 0x74, 0x68, 0x69, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0b, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x67, 0x6f, + 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x47, + 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x0c, 0x67, 0x6f, 0x6c, + 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x0b, 0x78, 0x70, 0x5f, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x58, 0x50, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x0a, 0x78, 0x70, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x12, 0x33, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x0a, 0x74, 0x65, 0x61, + 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, + 0x53, 0x6c, 0x6f, 0x74, 0x1a, 0xe1, 0x06, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x11, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, + 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, + 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x78, 0x0a, 0x12, 0x68, 0x65, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x52, 0x10, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x9d, 0x02, 0x0a, 0x0f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x42, + 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x7e, 0x0a, 0x0f, 0x62, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, - 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x42, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x52, 0x0d, 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, - 0x1a, 0x6f, 0x0a, 0x0c, 0x42, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6c, 0x61, - 0x70, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, - 0x6e, 0x1a, 0xe1, 0x01, 0x0a, 0x0c, 0x47, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x63, 0x72, 0x65, 0x65, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x52, 0x75, - 0x6e, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x72, - 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x1a, 0xcc, 0x01, 0x0a, 0x0a, 0x58, 0x50, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x72, 0x65, 0x65, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, - 0x72, 0x6f, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, - 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, - 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x6d, 0x65, 0x4f, 0x66, 0x4b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x08, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, - 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x5f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x58, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x5f, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, + 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x79, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x42, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x0d, 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x73, 0x1a, 0x3f, 0x0a, 0x0c, 0x42, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x1a, 0xa1, 0x02, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, + 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x6e, 0x69, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x7f, 0x0a, 0x0f, 0x62, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x57, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, + 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, + 0x42, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x42, 0x79, 0x48, 0x65, 0x72, 0x6f, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0d, 0x62, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x41, 0x0a, 0x0c, 0x42, 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0xc0, 0x02, 0x0a, 0x0a, 0x42, 0x75, 0x66, + 0x66, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x75, 0x66, 0x66, 0x5f, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, + 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x75, 0x66, + 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6b, 0x0a, + 0x0f, 0x62, 0x79, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x42, + 0x79, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0d, 0x62, 0x79, 0x48, + 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x6f, 0x0a, 0x0c, 0x42, 0x79, + 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, + 0x6f, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x65, + 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x1a, 0xe1, 0x01, 0x0a, 0x0c, + 0x47, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x72, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x72, 0x65, + 0x65, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, + 0x75, 0x6e, 0x74, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x62, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x1a, + 0xcc, 0x01, 0x0a, 0x0a, 0x58, 0x50, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x72, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, + 0x72, 0x65, 0x65, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, + 0x73, 0x68, 0x61, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, + 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x74, 0x6f, 0x6d, 0x65, 0x4f, 0x66, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x9a, + 0x01, 0x0a, 0x08, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x75, + 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x5f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, - 0x74, 0x59, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x64, 0x65, 0x61, 0x74, 0x68, 0x54, 0x69, 0x6d, - 0x65, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, - 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x74, 0x58, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x5f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x59, 0x12, 0x1d, 0x0a, 0x0a, + 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x09, 0x64, 0x65, 0x61, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x25, 0x5a, 0x23, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, + 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, + 0x74, 0x61, } var ( @@ -4154,7 +4182,8 @@ var file_dota_match_metadata_proto_goTypes = []interface{}{ (*CExtraMsgBlock)(nil), // 43: dota.CExtraMsgBlock (EDOTAMMRBoostType)(0), // 44: dota.EDOTAMMRBoostType (DOTA_GC_TEAM)(0), // 45: dota.DOTA_GC_TEAM - (*CMsgOverworldTokenQuantity)(nil), // 46: dota.CMsgOverworldTokenQuantity + (*CMsgCraftworksQuestReward)(nil), // 46: dota.CMsgCraftworksQuestReward + (*CMsgOverworldTokenQuantity)(nil), // 47: dota.CMsgOverworldTokenQuantity } var file_dota_match_metadata_proto_depIdxs = []int32{ 1, // 0: dota.CDOTAMatchMetadataFile.metadata:type_name -> dota.CDOTAMatchMetadata @@ -4193,24 +4222,25 @@ var file_dota_match_metadata_proto_depIdxs = []int32{ 3, // 33: dota.CDOTAMatchMetadata.Team.Player.equipped_econ_items:type_name -> dota.CDOTAMatchMetadata.EconItem 39, // 34: dota.CDOTAMatchMetadata.Team.Player.player_tracked_stats:type_name -> dota.CMsgTrackedStat 22, // 35: dota.CDOTAMatchMetadata.Team.Player.overworld_rewards:type_name -> dota.CDOTAMatchMetadata.Team.Player.OverworldRewards - 46, // 36: dota.CDOTAMatchMetadata.Team.Player.OverworldRewards.tokens:type_name -> dota.CMsgOverworldTokenQuantity - 26, // 37: dota.CDOTAMatchPrivateMetadata.Team.players:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player - 27, // 38: dota.CDOTAMatchPrivateMetadata.Team.buildings:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Building - 28, // 39: dota.CDOTAMatchPrivateMetadata.Team.Player.combat_segments:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment - 29, // 40: dota.CDOTAMatchPrivateMetadata.Team.Player.buff_records:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.BuffRecord - 30, // 41: dota.CDOTAMatchPrivateMetadata.Team.Player.gold_received:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.GoldReceived - 31, // 42: dota.CDOTAMatchPrivateMetadata.Team.Player.xp_received:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.XPReceived - 45, // 43: dota.CDOTAMatchPrivateMetadata.Team.Player.team_number:type_name -> dota.DOTA_GC_TEAM - 32, // 44: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.damage_by_ability:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility - 33, // 45: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.healing_by_ability:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility - 36, // 46: dota.CDOTAMatchPrivateMetadata.Team.Player.BuffRecord.by_hero_targets:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.BuffRecord.ByHeroTarget - 34, // 47: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility.by_hero_targets:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility.ByHeroTarget - 35, // 48: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility.by_hero_targets:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility.ByHeroTarget - 49, // [49:49] is the sub-list for method output_type - 49, // [49:49] is the sub-list for method input_type - 49, // [49:49] is the sub-list for extension type_name - 49, // [49:49] is the sub-list for extension extendee - 0, // [0:49] is the sub-list for field type_name + 46, // 36: dota.CDOTAMatchMetadata.Team.Player.craftworks_quest_rewards:type_name -> dota.CMsgCraftworksQuestReward + 47, // 37: dota.CDOTAMatchMetadata.Team.Player.OverworldRewards.tokens:type_name -> dota.CMsgOverworldTokenQuantity + 26, // 38: dota.CDOTAMatchPrivateMetadata.Team.players:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player + 27, // 39: dota.CDOTAMatchPrivateMetadata.Team.buildings:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Building + 28, // 40: dota.CDOTAMatchPrivateMetadata.Team.Player.combat_segments:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment + 29, // 41: dota.CDOTAMatchPrivateMetadata.Team.Player.buff_records:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.BuffRecord + 30, // 42: dota.CDOTAMatchPrivateMetadata.Team.Player.gold_received:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.GoldReceived + 31, // 43: dota.CDOTAMatchPrivateMetadata.Team.Player.xp_received:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.XPReceived + 45, // 44: dota.CDOTAMatchPrivateMetadata.Team.Player.team_number:type_name -> dota.DOTA_GC_TEAM + 32, // 45: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.damage_by_ability:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility + 33, // 46: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.healing_by_ability:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility + 36, // 47: dota.CDOTAMatchPrivateMetadata.Team.Player.BuffRecord.by_hero_targets:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.BuffRecord.ByHeroTarget + 34, // 48: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility.by_hero_targets:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.DamageByAbility.ByHeroTarget + 35, // 49: dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility.by_hero_targets:type_name -> dota.CDOTAMatchPrivateMetadata.Team.Player.CombatSegment.HealingByAbility.ByHeroTarget + 50, // [50:50] is the sub-list for method output_type + 50, // [50:50] is the sub-list for method input_type + 50, // [50:50] is the sub-list for extension type_name + 50, // [50:50] is the sub-list for extension extendee + 0, // [0:50] is the sub-list for field type_name } func init() { file_dota_match_metadata_proto_init() } @@ -4222,6 +4252,7 @@ func file_dota_match_metadata_proto_init() { file_dota_gcmessages_common_match_management_proto_init() file_dota_gcmessages_common_lobby_proto_init() file_dota_gcmessages_common_overworld_proto_init() + file_dota_gcmessages_common_craftworks_proto_init() file_dota_gcmessages_common_proto_init() file_dota_shared_enums_proto_init() file_gcsdk_gcmessages_proto_init() diff --git a/dota/dota_match_metadata.proto b/dota/dota_match_metadata.proto index 5f0c3d45..a139b0ab 100644 --- a/dota/dota_match_metadata.proto +++ b/dota/dota_match_metadata.proto @@ -7,6 +7,7 @@ import "base_gcmessages.proto"; import "dota_gcmessages_common_match_management.proto"; import "dota_gcmessages_common_lobby.proto"; import "dota_gcmessages_common_overworld.proto"; +import "dota_gcmessages_common_craftworks.proto"; import "dota_gcmessages_common.proto"; import "dota_shared_enums.proto"; import "gcsdk_gcmessages.proto"; @@ -47,6 +48,7 @@ message CDOTAMatchMetadata { optional uint32 level = 6; repeated int32 backpack_item_id = 7; optional int32 neutral_item_id = 8; + optional int32 neutral_enhancement_id = 9; } message AutoStyleCriteria { @@ -206,6 +208,7 @@ message CDOTAMatchMetadata { optional int32 game_player_id = 57; repeated CMsgTrackedStat player_tracked_stats = 58; optional CDOTAMatchMetadata.Team.Player.OverworldRewards overworld_rewards = 59; + repeated CMsgCraftworksQuestReward craftworks_quest_rewards = 60; } optional uint32 dota_team = 1; diff --git a/dota/dota_modifiers.pb.go b/dota/dota_modifiers.pb.go index 6cc6a001..bc9555e5 100644 --- a/dota/dota_modifiers.pb.go +++ b/dota/dota_modifiers.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_modifiers.proto package dota diff --git a/dota/dota_scenariomessages.pb.go b/dota/dota_scenariomessages.pb.go index 2a1fa6d4..76bdb916 100644 --- a/dota/dota_scenariomessages.pb.go +++ b/dota/dota_scenariomessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_scenariomessages.proto package dota diff --git a/dota/dota_shared_enums.pb.go b/dota/dota_shared_enums.pb.go index 1aa52f2c..9745c54a 100644 --- a/dota/dota_shared_enums.pb.go +++ b/dota/dota_shared_enums.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_shared_enums.proto package dota @@ -387,6 +387,7 @@ const ( EEvent_EVENT_ID_CROWNFALL EEvent = 47 EEvent_EVENT_ID_FROSTIVUS_2023 EEvent = 48 EEvent_EVENT_ID_INTERNATIONAL_2024 EEvent = 49 + EEvent_EVENT_ID_FROSTIVUS_2024 EEvent = 50 ) // Enum value maps for EEvent. @@ -441,6 +442,7 @@ var ( 47: "EVENT_ID_CROWNFALL", 48: "EVENT_ID_FROSTIVUS_2023", 49: "EVENT_ID_INTERNATIONAL_2024", + 50: "EVENT_ID_FROSTIVUS_2024", } EEvent_value = map[string]int32{ "EVENT_ID_NONE": 0, @@ -492,6 +494,7 @@ var ( "EVENT_ID_CROWNFALL": 47, "EVENT_ID_FROSTIVUS_2023": 48, "EVENT_ID_INTERNATIONAL_2024": 49, + "EVENT_ID_FROSTIVUS_2024": 50, } ) @@ -2954,6 +2957,10 @@ const ( EBadgeType_k_EBadgeType_TI12_PlayoffsDay3 EBadgeType = 15 EBadgeType_k_EBadgeType_TI12_FinalsWeekend EBadgeType = 16 EBadgeType_k_EBadgeType_TI12_Special EBadgeType = 17 + EBadgeType_k_EBadgeType_TI13_FinalsDay1 EBadgeType = 18 + EBadgeType_k_EBadgeType_TI13_FinalsDay2 EBadgeType = 19 + EBadgeType_k_EBadgeType_TI13_FinalsDay3 EBadgeType = 20 + EBadgeType_k_EBadgeType_TI13_Special EBadgeType = 21 ) // Enum value maps for EBadgeType. @@ -2977,6 +2984,10 @@ var ( 15: "k_EBadgeType_TI12_PlayoffsDay3", 16: "k_EBadgeType_TI12_FinalsWeekend", 17: "k_EBadgeType_TI12_Special", + 18: "k_EBadgeType_TI13_FinalsDay1", + 19: "k_EBadgeType_TI13_FinalsDay2", + 20: "k_EBadgeType_TI13_FinalsDay3", + 21: "k_EBadgeType_TI13_Special", } EBadgeType_value = map[string]int32{ "k_EBadgeType_Invalid": 0, @@ -2997,6 +3008,10 @@ var ( "k_EBadgeType_TI12_PlayoffsDay3": 15, "k_EBadgeType_TI12_FinalsWeekend": 16, "k_EBadgeType_TI12_Special": 17, + "k_EBadgeType_TI13_FinalsDay1": 18, + "k_EBadgeType_TI13_FinalsDay2": 19, + "k_EBadgeType_TI13_FinalsDay3": 20, + "k_EBadgeType_TI13_Special": 21, } ) @@ -3728,6 +3743,7 @@ const ( DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_UNIT_TELEPORTED DOTA_COMBATLOG_TYPES = 41 DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_KILL_EATER_EVENT DOTA_COMBATLOG_TYPES = 42 DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED DOTA_COMBATLOG_TYPES = 43 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_STAT_TRACKER_PLAYER DOTA_COMBATLOG_TYPES = 44 ) // Enum value maps for DOTA_COMBATLOG_TYPES. @@ -3778,6 +3794,7 @@ var ( 41: "DOTA_COMBATLOG_UNIT_TELEPORTED", 42: "DOTA_COMBATLOG_KILL_EATER_EVENT", 43: "DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED", + 44: "DOTA_COMBATLOG_STAT_TRACKER_PLAYER", } DOTA_COMBATLOG_TYPES_value = map[string]int32{ "DOTA_COMBATLOG_INVALID": -1, @@ -3825,6 +3842,7 @@ var ( "DOTA_COMBATLOG_UNIT_TELEPORTED": 41, "DOTA_COMBATLOG_KILL_EATER_EVENT": 42, "DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED": 43, + "DOTA_COMBATLOG_STAT_TRACKER_PLAYER": 44, } ) @@ -4264,6 +4282,130 @@ func (ECandyShopUpgrade) EnumDescriptor() ([]byte, []int) { return file_dota_shared_enums_proto_rawDescGZIP(), []int{51} } +type EItemSuggestPreference int32 + +const ( + EItemSuggestPreference_k_EItemSuggestPreference_None EItemSuggestPreference = 0 + EItemSuggestPreference_k_EItemSuggestPreference_Liked EItemSuggestPreference = 1 + EItemSuggestPreference_k_EItemSuggestPreference_Disliked EItemSuggestPreference = 2 +) + +// Enum value maps for EItemSuggestPreference. +var ( + EItemSuggestPreference_name = map[int32]string{ + 0: "k_EItemSuggestPreference_None", + 1: "k_EItemSuggestPreference_Liked", + 2: "k_EItemSuggestPreference_Disliked", + } + EItemSuggestPreference_value = map[string]int32{ + "k_EItemSuggestPreference_None": 0, + "k_EItemSuggestPreference_Liked": 1, + "k_EItemSuggestPreference_Disliked": 2, + } +) + +func (x EItemSuggestPreference) Enum() *EItemSuggestPreference { + p := new(EItemSuggestPreference) + *p = x + return p +} + +func (x EItemSuggestPreference) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EItemSuggestPreference) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[52].Descriptor() +} + +func (EItemSuggestPreference) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[52] +} + +func (x EItemSuggestPreference) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EItemSuggestPreference) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EItemSuggestPreference(num) + return nil +} + +// Deprecated: Use EItemSuggestPreference.Descriptor instead. +func (EItemSuggestPreference) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{52} +} + +type ETimerAlertType int32 + +const ( + ETimerAlertType_k_TimerAlertType_PowerRune ETimerAlertType = 1 + ETimerAlertType_k_TimerAlertType_BountyRune ETimerAlertType = 2 + ETimerAlertType_k_TimerAlertType_WisdomShrine ETimerAlertType = 3 + ETimerAlertType_k_TimerAlertType_JungleCamps ETimerAlertType = 4 + ETimerAlertType_k_TimerAlertType_LotusPool ETimerAlertType = 5 +) + +// Enum value maps for ETimerAlertType. +var ( + ETimerAlertType_name = map[int32]string{ + 1: "k_TimerAlertType_PowerRune", + 2: "k_TimerAlertType_BountyRune", + 3: "k_TimerAlertType_WisdomShrine", + 4: "k_TimerAlertType_JungleCamps", + 5: "k_TimerAlertType_LotusPool", + } + ETimerAlertType_value = map[string]int32{ + "k_TimerAlertType_PowerRune": 1, + "k_TimerAlertType_BountyRune": 2, + "k_TimerAlertType_WisdomShrine": 3, + "k_TimerAlertType_JungleCamps": 4, + "k_TimerAlertType_LotusPool": 5, + } +) + +func (x ETimerAlertType) Enum() *ETimerAlertType { + p := new(ETimerAlertType) + *p = x + return p +} + +func (x ETimerAlertType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ETimerAlertType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[53].Descriptor() +} + +func (ETimerAlertType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[53] +} + +func (x ETimerAlertType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ETimerAlertType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ETimerAlertType(num) + return nil +} + +// Deprecated: Use ETimerAlertType.Descriptor instead. +func (ETimerAlertType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{53} +} + type CDOTAClientHardwareSpecs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4514,6 +4656,7 @@ type CMsgDOTACombatLogEntry struct { RegeneratedHealth *float32 `protobuf:"fixed32,77,opt,name=regenerated_health,json=regeneratedHealth" json:"regenerated_health,omitempty"` WillReincarnate *bool `protobuf:"varint,78,opt,name=will_reincarnate,json=willReincarnate" json:"will_reincarnate,omitempty"` UsesCharges *bool `protobuf:"varint,79,opt,name=uses_charges,json=usesCharges" json:"uses_charges,omitempty"` + TrackedStatId *uint32 `protobuf:"varint,80,opt,name=tracked_stat_id,json=trackedStatId" json:"tracked_stat_id,omitempty"` } func (x *CMsgDOTACombatLogEntry) Reset() { @@ -5101,6 +5244,13 @@ func (x *CMsgDOTACombatLogEntry) GetUsesCharges() bool { return false } +func (x *CMsgDOTACombatLogEntry) GetTrackedStatId() uint32 { + if x != nil && x.TrackedStatId != nil { + return *x.TrackedStatId + } + return 0 +} + type CMsgPendingEventAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5455,7 +5605,7 @@ var file_dota_shared_enums_proto_rawDesc = []byte{ 0x6d, 0x65, 0x1a, 0x2d, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, - 0x79, 0x22, 0xb1, 0x19, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, + 0x79, 0x22, 0xd9, 0x19, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, @@ -5658,1225 +5808,1260 @@ var file_dota_shared_enums_proto_rawDesc = []byte{ 0x08, 0x52, 0x0f, 0x77, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x73, 0x43, 0x68, - 0x61, 0x72, 0x67, 0x65, 0x73, 0x22, 0xfd, 0x01, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, - 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x2a, 0x9a, 0x05, 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, - 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, + 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x49, 0x64, 0x22, 0xfd, 0x01, + 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, + 0x3a, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2a, 0x9a, 0x05, + 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x50, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, + 0x4d, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x44, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x41, 0x50, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, - 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4d, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x44, 0x10, - 0x03, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x53, 0x44, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x52, 0x10, 0x05, 0x12, 0x17, 0x0a, - 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, - 0x4e, 0x54, 0x52, 0x4f, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, - 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x48, 0x57, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, - 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x43, 0x4d, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x4d, 0x41, 0x53, - 0x10, 0x09, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x55, 0x54, 0x4f, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x0a, 0x12, 0x14, + 0x5f, 0x41, 0x52, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, + 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x4f, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x4d, 0x4f, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, - 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x50, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, - 0x31, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x48, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, - 0x4d, 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x44, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x44, 0x10, 0x11, 0x12, - 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x12, + 0x48, 0x57, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, + 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x43, 0x4d, + 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x4d, 0x41, 0x53, 0x10, 0x09, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x55, 0x54, 0x4f, + 0x52, 0x49, 0x41, 0x4c, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x4f, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x50, + 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x31, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x48, 0x10, + 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x44, 0x10, + 0x10, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x42, 0x44, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x12, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, + 0x13, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x41, 0x52, 0x44, 0x4d, 0x10, 0x14, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x31, 0x56, 0x31, 0x4d, 0x49, + 0x44, 0x10, 0x15, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, - 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x13, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x52, 0x44, 0x4d, 0x10, - 0x14, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x31, 0x56, 0x31, 0x4d, 0x49, 0x44, 0x10, 0x15, 0x12, 0x1b, 0x0a, 0x17, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, - 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x55, 0x52, 0x42, 0x4f, 0x10, - 0x17, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x18, 0x12, 0x23, 0x0a, - 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, - 0x4f, 0x41, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, - 0x10, 0x19, 0x2a, 0xbc, 0x04, 0x0a, 0x0e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, - 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, - 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, - 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x5f, 0x54, 0x4f, - 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, - 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, - 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, - 0x59, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, + 0x45, 0x5f, 0x54, 0x55, 0x52, 0x42, 0x4f, 0x10, 0x17, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x18, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, + 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x43, + 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x19, 0x2a, 0xbc, 0x04, 0x0a, 0x0e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, + 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x50, 0x4c, + 0x41, 0x59, 0x45, 0x52, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, + 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, + 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x45, 0x4c, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, - 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, - 0x4f, 0x53, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x06, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x07, 0x12, - 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, - 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x48, 0x4f, - 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x08, 0x12, 0x2a, 0x0a, 0x26, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, + 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, + 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x47, 0x41, 0x4d, + 0x45, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x05, 0x12, 0x22, + 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x10, 0x06, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, + 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x07, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x55, - 0x50, 0x10, 0x09, 0x12, 0x2d, 0x0a, 0x29, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, - 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, - 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, - 0x10, 0x0a, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, - 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x41, - 0x52, 0x49, 0x4f, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x44, + 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x08, 0x12, + 0x2a, 0x0a, 0x26, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, + 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x09, 0x12, 0x2d, 0x0a, 0x29, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, - 0x10, 0x0c, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, - 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x10, - 0x0d, 0x2a, 0xa9, 0x03, 0x0a, 0x0c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, - 0x41, 0x4d, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, - 0x41, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, 0x00, 0x12, 0x19, - 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, - 0x41, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, - 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, - 0x52, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, - 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, - 0x04, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, - 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, - 0x4d, 0x5f, 0x31, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, - 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x32, 0x10, 0x07, - 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, - 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x33, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, - 0x4f, 0x4d, 0x5f, 0x34, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, - 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x35, 0x10, - 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, - 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x36, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, - 0x54, 0x4f, 0x4d, 0x5f, 0x37, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x38, - 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, - 0x41, 0x4d, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x53, 0x10, 0x0e, 0x2a, 0xd9, 0x0b, - 0x0a, 0x06, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x54, 0x49, 0x44, 0x45, - 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x53, - 0x50, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x45, 0x53, 0x54, 0x49, 0x56, 0x41, 0x4c, 0x10, 0x02, - 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, - 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x33, 0x10, 0x03, 0x12, 0x1c, 0x0a, - 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x34, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x4f, 0x4e, 0x5f, 0x50, 0x43, - 0x5f, 0x42, 0x41, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x49, 0x44, 0x5f, 0x50, 0x57, 0x52, 0x44, 0x5f, 0x44, 0x41, 0x43, 0x5f, 0x32, 0x30, 0x31, - 0x35, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, - 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, 0x07, - 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, - 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x41, - 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, 0x09, 0x12, - 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x52, 0x41, 0x43, - 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x10, 0x0a, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, - 0x31, 0x35, 0x5f, 0x50, 0x52, 0x45, 0x42, 0x45, 0x41, 0x53, 0x54, 0x10, 0x0b, 0x12, 0x16, 0x0a, - 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, - 0x56, 0x55, 0x53, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, - 0x44, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, - 0x30, 0x31, 0x36, 0x10, 0x0d, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, - 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, - 0x32, 0x30, 0x31, 0x36, 0x10, 0x0e, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, - 0x49, 0x44, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, 0x30, - 0x31, 0x36, 0x10, 0x0f, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, - 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, 0x30, - 0x31, 0x37, 0x10, 0x10, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, - 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, - 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x37, - 0x10, 0x12, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x50, - 0x4c, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x13, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x53, - 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x53, 0x5f, 0x44, 0x41, 0x59, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, - 0x14, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, - 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, 0x15, 0x12, 0x1f, - 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x38, 0x10, 0x16, 0x12, - 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, - 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x38, 0x10, 0x17, 0x12, 0x1b, 0x0a, 0x17, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, - 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x10, 0x19, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, - 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x1a, 0x12, 0x1b, - 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, - 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x10, 0x1b, 0x12, 0x1b, 0x0a, 0x17, 0x45, + 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, + 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x0a, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x41, 0x52, 0x49, 0x4f, 0x5f, 0x53, 0x45, 0x54, 0x55, + 0x50, 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x0c, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x0d, 0x2a, 0xa9, 0x03, 0x0a, 0x0c, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x5f, + 0x47, 0x55, 0x59, 0x53, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, + 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, + 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, + 0x4d, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, + 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, + 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x45, 0x41, 0x4d, + 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x31, 0x10, 0x06, 0x12, 0x19, 0x0a, + 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, + 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x32, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, + 0x33, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, + 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x34, 0x10, 0x09, 0x12, 0x19, + 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, + 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x35, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, + 0x5f, 0x36, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, + 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x37, 0x10, 0x0c, 0x12, + 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, + 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x38, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, + 0x41, 0x4c, 0x53, 0x10, 0x0e, 0x2a, 0xf6, 0x0b, 0x0a, 0x06, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, + 0x44, 0x49, 0x52, 0x45, 0x54, 0x49, 0x44, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x50, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x45, + 0x53, 0x54, 0x49, 0x56, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, + 0x30, 0x31, 0x33, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, + 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x32, 0x30, 0x31, + 0x34, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, + 0x4e, 0x45, 0x58, 0x4f, 0x4e, 0x5f, 0x50, 0x43, 0x5f, 0x42, 0x41, 0x4e, 0x47, 0x10, 0x05, 0x12, + 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x50, 0x57, 0x52, 0x44, + 0x5f, 0x44, 0x41, 0x43, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, - 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1c, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, + 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1d, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x56, 0x45, + 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, + 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x10, 0x0a, 0x12, + 0x24, 0x0a, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, + 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x5f, 0x50, 0x52, 0x45, 0x42, 0x45, + 0x41, 0x53, 0x54, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, + 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x10, 0x0c, 0x12, 0x1e, 0x0a, + 0x1a, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, 0x30, 0x31, 0x36, 0x10, 0x0d, 0x12, 0x1f, 0x0a, + 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x36, 0x10, 0x0e, 0x12, 0x1c, + 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, + 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, 0x30, 0x31, 0x36, 0x10, 0x0f, 0x12, 0x1e, 0x0a, 0x1a, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, + 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, 0x10, 0x12, 0x1b, 0x0a, 0x17, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, + 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, 0x12, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x50, 0x4c, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, + 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x13, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x53, 0x5f, 0x44, + 0x41, 0x59, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, 0x14, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, + 0x32, 0x30, 0x31, 0x37, 0x10, 0x15, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, + 0x5f, 0x32, 0x30, 0x31, 0x38, 0x10, 0x16, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, + 0x31, 0x38, 0x10, 0x17, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, + 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x10, + 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x39, + 0x10, 0x19, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, + 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, + 0x45, 0x4e, 0x43, 0x45, 0x10, 0x1a, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, + 0x39, 0x10, 0x1b, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, + 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1c, + 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, + 0x1d, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x1e, 0x12, 0x1a, 0x0a, 0x16, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x54, 0x49, 0x44, 0x45, + 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1f, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x50, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x10, + 0x20, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x41, + 0x4c, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x10, 0x21, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x44, 0x4f, - 0x4d, 0x10, 0x1e, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, - 0x44, 0x49, 0x52, 0x45, 0x54, 0x49, 0x44, 0x45, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1f, 0x12, - 0x18, 0x0a, 0x14, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x50, 0x52, 0x49, - 0x4e, 0x47, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x10, 0x20, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x10, - 0x21, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, - 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x32, - 0x30, 0x32, 0x31, 0x10, 0x22, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, - 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x5f, 0x32, 0x30, 0x32, 0x32, - 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x32, 0x10, 0x23, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x32, 0x10, 0x24, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x5f, - 0x32, 0x30, 0x32, 0x32, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x33, 0x10, 0x25, 0x12, 0x24, 0x0a, 0x20, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x32, - 0x10, 0x26, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x50, - 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x10, - 0x27, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4d, 0x55, - 0x45, 0x52, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x53, 0x50, 0x52, - 0x49, 0x4e, 0x47, 0x32, 0x30, 0x32, 0x33, 0x10, 0x28, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x5f, - 0x54, 0x4f, 0x55, 0x52, 0x31, 0x10, 0x29, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x5f, 0x54, 0x4f, - 0x55, 0x52, 0x32, 0x10, 0x2a, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, - 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x5f, 0x54, 0x4f, 0x55, 0x52, - 0x33, 0x10, 0x2b, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, - 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, - 0x32, 0x33, 0x10, 0x2d, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, - 0x5f, 0x31, 0x30, 0x54, 0x48, 0x5f, 0x41, 0x4e, 0x4e, 0x49, 0x56, 0x45, 0x52, 0x53, 0x41, 0x52, - 0x59, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, - 0x43, 0x52, 0x4f, 0x57, 0x4e, 0x46, 0x41, 0x4c, 0x4c, 0x10, 0x2f, 0x12, 0x1b, 0x0a, 0x17, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, - 0x53, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x10, 0x30, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x34, 0x10, 0x31, 0x2a, 0xbb, 0x02, 0x0a, 0x09, 0x45, 0x52, - 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x52, 0x61, - 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, - 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x43, 0x61, 0x73, 0x75, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x45, 0x52, - 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x10, 0x02, - 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x43, 0x61, 0x73, 0x75, 0x61, 0x6c, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x10, 0x03, 0x12, 0x1c, - 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x61, - 0x6e, 0x6b, 0x65, 0x64, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, - 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x61, 0x73, 0x75, - 0x61, 0x6c, 0x47, 0x6c, 0x69, 0x63, 0x6b, 0x6f, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, - 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x64, - 0x47, 0x6c, 0x69, 0x63, 0x6b, 0x6f, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x52, - 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x10, - 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x10, 0x64, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x10, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x66, 0x2a, 0xca, 0x02, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, - 0x4c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x12, 0x14, - 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, - 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, - 0x56, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, - 0x52, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, - 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, - 0x45, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, - 0x56, 0x45, 0x52, 0x5f, 0x41, 0x46, 0x4b, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, - 0x4e, 0x47, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, - 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x45, - 0x41, 0x44, 0x59, 0x5f, 0x55, 0x50, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, - 0x52, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, - 0x55, 0x45, 0x10, 0x09, 0x2a, 0x9e, 0x02, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x12, 0x21, - 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x59, - 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x23, - 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x04, - 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, 0x8c, 0x01, 0x0a, 0x0d, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, - 0x79, 0x5f, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x4e, 0x54, 0x41, - 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, - 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, - 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, - 0x52, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, - 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x14, - 0x0a, 0x10, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, - 0x49, 0x44, 0x10, 0x04, 0x2a, 0xa1, 0x05, 0x0a, 0x0f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x5f, 0x53, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x41, 0x4e, 0x54, - 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, - 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, - 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x53, 0x10, 0x01, 0x12, - 0x16, 0x0a, 0x12, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, - 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x4e, 0x54, 0x41, - 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x50, 0x4d, 0x10, 0x03, - 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, - 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x10, - 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, - 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, - 0x53, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, - 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x46, 0x49, 0x47, 0x48, 0x54, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, - 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, - 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x41, 0x52, 0x44, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x45, - 0x44, 0x10, 0x07, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, - 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x53, 0x5f, 0x53, 0x54, 0x41, - 0x43, 0x4b, 0x45, 0x44, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, - 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x53, 0x5f, - 0x47, 0x52, 0x41, 0x42, 0x42, 0x45, 0x44, 0x10, 0x09, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, - 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x49, 0x52, - 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x41, - 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, - 0x55, 0x4e, 0x53, 0x10, 0x0b, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, - 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x4d, 0x4f, 0x4b, 0x45, 0x53, 0x5f, - 0x55, 0x53, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x28, 0x0a, 0x24, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, - 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, - 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x0d, - 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, - 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x53, 0x5f, 0x54, 0x41, 0x4b, - 0x45, 0x4e, 0x10, 0x0e, 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, - 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x54, 0x55, 0x53, 0x45, 0x53, 0x5f, - 0x47, 0x41, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x41, 0x4e, 0x54, - 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x4f, 0x52, 0x4d, - 0x45, 0x4e, 0x54, 0x4f, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x10, 0x10, 0x12, 0x21, 0x0a, - 0x1d, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, - 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x10, 0x11, - 0x12, 0x19, 0x0a, 0x15, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, - 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x10, 0x12, 0x12, 0x1b, 0x0a, 0x17, 0x46, - 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x13, 0x2a, 0x8a, 0x01, 0x0a, 0x12, 0x46, 0x61, 0x6e, - 0x74, 0x61, 0x73, 0x79, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, - 0x15, 0x0a, 0x11, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, - 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, - 0x14, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x53, 0x55, - 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x41, 0x4e, 0x54, 0x41, - 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x03, 0x12, 0x16, 0x0a, - 0x12, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x42, 0x45, - 0x4e, 0x43, 0x48, 0x10, 0x04, 0x2a, 0xdd, 0x02, 0x0a, 0x16, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, - 0x79, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, - 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1d, 0x0a, - 0x19, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x55, 0x46, 0x46, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, - 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x1b, 0x0a, - 0x17, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, - 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x50, 0x52, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, - 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x06, 0x12, 0x1e, 0x0a, - 0x1a, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x24, 0x0a, - 0x20, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, - 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x42, 0x41, - 0x53, 0x45, 0x44, 0x10, 0x09, 0x2a, 0x6a, 0x0a, 0x10, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, - 0x5f, 0x47, 0x65, 0x6d, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x41, 0x4e, - 0x54, 0x41, 0x53, 0x59, 0x5f, 0x47, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x55, - 0x42, 0x59, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, - 0x47, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x41, 0x50, 0x50, 0x48, 0x49, 0x52, - 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x47, - 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4d, 0x45, 0x52, 0x41, 0x4c, 0x44, 0x10, - 0x02, 0x2a, 0x82, 0x06, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x44, - 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, - 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x02, - 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x44, + 0x4d, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x10, 0x22, 0x12, 0x21, 0x0a, + 0x1d, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, + 0x30, 0x32, 0x31, 0x5f, 0x32, 0x30, 0x32, 0x32, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x32, 0x10, 0x23, + 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x32, 0x10, + 0x24, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x5f, 0x32, 0x30, 0x32, 0x32, 0x5f, 0x54, 0x4f, 0x55, + 0x52, 0x33, 0x10, 0x25, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, + 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x32, 0x10, 0x26, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, + 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x10, 0x27, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4d, 0x55, 0x45, 0x52, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x4c, + 0x45, 0x41, 0x53, 0x45, 0x5f, 0x53, 0x50, 0x52, 0x49, 0x4e, 0x47, 0x32, 0x30, 0x32, 0x33, 0x10, + 0x28, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x31, 0x10, 0x29, 0x12, + 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, + 0x5f, 0x32, 0x30, 0x32, 0x33, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x32, 0x10, 0x2a, 0x12, 0x1c, 0x0a, + 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, + 0x30, 0x32, 0x33, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x33, 0x10, 0x2b, 0x12, 0x1f, 0x0a, 0x1b, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x10, 0x2d, 0x12, 0x1d, 0x0a, 0x19, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x31, 0x30, 0x54, 0x48, 0x5f, 0x41, 0x4e, + 0x4e, 0x49, 0x56, 0x45, 0x52, 0x53, 0x41, 0x52, 0x59, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x43, 0x52, 0x4f, 0x57, 0x4e, 0x46, 0x41, 0x4c, + 0x4c, 0x10, 0x2f, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, + 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x32, 0x33, 0x10, 0x30, + 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x34, 0x10, + 0x31, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, + 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x32, 0x34, 0x10, 0x32, 0x2a, 0xbb, + 0x02, 0x0a, 0x09, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, + 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x61, 0x73, 0x75, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x16, 0x0a, + 0x12, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x61, 0x6e, + 0x6b, 0x65, 0x64, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x61, 0x73, 0x75, 0x61, 0x6c, 0x4c, 0x65, 0x67, 0x61, 0x63, + 0x79, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x10, + 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x43, 0x61, 0x73, 0x75, 0x61, 0x6c, 0x47, 0x6c, 0x69, 0x63, 0x6b, 0x6f, 0x10, 0x05, 0x12, + 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, + 0x61, 0x6e, 0x6b, 0x65, 0x64, 0x47, 0x6c, 0x69, 0x63, 0x6b, 0x6f, 0x10, 0x06, 0x12, 0x17, 0x0a, + 0x13, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x61, 0x6e, + 0x6b, 0x4d, 0x61, 0x78, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x52, 0x61, 0x6e, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x10, 0x64, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x52, 0x61, + 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x10, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x45, 0x52, 0x61, + 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x66, 0x2a, 0xca, 0x02, 0x0a, + 0x12, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x74, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, + 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x19, + 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x41, 0x42, + 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x41, 0x46, 0x4b, 0x10, 0x04, 0x12, 0x1f, + 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x45, + 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, + 0x28, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, + 0x45, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, + 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, + 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x55, 0x50, 0x10, 0x07, 0x12, 0x18, 0x0a, + 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x43, + 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, 0x09, 0x2a, 0x9e, 0x02, 0x0a, 0x15, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x59, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, + 0x4e, 0x45, 0x44, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, + 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, 0x8c, 0x01, 0x0a, 0x0d, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x16, + 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, + 0x18, 0x0a, 0x14, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, + 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x4e, + 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x41, 0x4e, + 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, + 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x04, 0x2a, 0xa1, 0x05, 0x0a, 0x0f, 0x46, 0x61, + 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x53, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, + 0x15, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, + 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x41, 0x54, + 0x48, 0x53, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, + 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, + 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, + 0x47, 0x50, 0x4d, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, + 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4b, + 0x49, 0x4c, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, + 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, + 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x45, 0x41, 0x4d, + 0x46, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, + 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x41, 0x52, 0x44, 0x53, 0x5f, 0x50, + 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x07, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x4d, 0x50, + 0x53, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x46, + 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, + 0x55, 0x4e, 0x45, 0x53, 0x5f, 0x47, 0x52, 0x41, 0x42, 0x42, 0x45, 0x44, 0x10, 0x09, 0x12, 0x1f, + 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, + 0x47, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x0a, 0x12, + 0x19, 0x0a, 0x15, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, + 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x55, 0x4e, 0x53, 0x10, 0x0b, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, + 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x4d, + 0x4f, 0x4b, 0x45, 0x53, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x28, 0x0a, 0x24, 0x46, + 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4e, + 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x5f, 0x46, 0x4f, + 0x55, 0x4e, 0x44, 0x10, 0x0d, 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, + 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, + 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0x0e, 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x41, 0x4e, + 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x54, + 0x55, 0x53, 0x45, 0x53, 0x5f, 0x47, 0x41, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x0f, 0x12, 0x23, 0x0a, + 0x1f, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, + 0x5f, 0x54, 0x4f, 0x52, 0x4d, 0x45, 0x4e, 0x54, 0x4f, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, + 0x10, 0x10, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, + 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x4b, 0x49, + 0x4c, 0x4c, 0x53, 0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, + 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x10, 0x12, + 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x52, + 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x13, 0x2a, 0x8a, 0x01, + 0x0a, 0x12, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x5f, 0x53, + 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, + 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x46, + 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x45, + 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, + 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, + 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x41, 0x4e, 0x59, + 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, + 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x4e, 0x43, 0x48, 0x10, 0x04, 0x2a, 0xdd, 0x02, 0x0a, 0x16, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, + 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, + 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, + 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x55, 0x46, 0x46, 0x4c, 0x45, 0x10, + 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, + 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, + 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, + 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, + 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, + 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, + 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x07, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, + 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x5f, + 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, + 0x52, 0x44, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x44, 0x10, 0x09, 0x2a, 0x6a, 0x0a, 0x10, 0x46, 0x61, + 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x47, 0x65, 0x6d, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, + 0x0a, 0x15, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x47, 0x45, 0x4d, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x52, 0x55, 0x42, 0x59, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x4e, + 0x54, 0x41, 0x53, 0x59, 0x5f, 0x47, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x41, + 0x50, 0x50, 0x48, 0x49, 0x52, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x47, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4d, 0x45, + 0x52, 0x41, 0x4c, 0x44, 0x10, 0x02, 0x2a, 0x82, 0x06, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, + 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x1a, + 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x61, + 0x72, 0x74, 0x79, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0x03, + 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, + 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x68, 0x69, 0x73, 0x70, 0x65, 0x72, 0x10, 0x07, 0x12, + 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x54, 0x61, 0x62, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x10, 0x0b, 0x12, + 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x10, 0x0c, 0x12, + 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, + 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x67, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x61, 0x66, 0x65, 0x10, 0x0f, 0x12, 0x1e, + 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x10, 0x12, 0x1b, + 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x10, 0x11, 0x12, 0x1c, 0x0a, 0x18, 0x44, + 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, + 0x6f, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x12, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, + 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x10, 0x13, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x4c, 0x54, 0x56, + 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x14, 0x12, 0x1e, 0x0a, 0x1a, 0x44, + 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, + 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, - 0x65, 0x61, 0x6d, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x05, - 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x10, 0x06, 0x12, 0x1b, 0x0a, - 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x57, 0x68, 0x69, 0x73, 0x70, 0x65, 0x72, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, - 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, - 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x61, 0x62, 0x10, 0x09, - 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x0a, 0x12, 0x1b, 0x0a, - 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, - 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x69, 0x65, 0x73, 0x10, 0x0c, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, - 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x0d, 0x12, 0x20, 0x0a, - 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x0e, 0x12, - 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x43, 0x61, 0x66, 0x65, 0x10, 0x0f, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, - 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x10, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, - 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x10, 0x11, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x6f, 0x73, 0x74, 0x47, 0x61, - 0x6d, 0x65, 0x10, 0x12, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, - 0x70, 0x10, 0x13, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x70, 0x65, 0x63, 0x74, - 0x61, 0x74, 0x6f, 0x72, 0x10, 0x14, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, - 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, - 0x17, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x67, 0x10, 0x18, 0x2a, 0x90, 0x01, 0x0a, 0x16, 0x45, 0x43, 0x68, 0x61, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x4e, 0x6f, - 0x6e, 0x65, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, - 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, - 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4d, 0x6f, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x02, 0x2a, 0xdd, 0x03, 0x0a, 0x0e, 0x44, 0x4f, - 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x12, 0x17, 0x0a, 0x13, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, - 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, - 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1c, - 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x43, 0x48, 0x41, 0x54, 0x57, 0x48, 0x45, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, - 0x49, 0x50, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x04, 0x12, 0x1b, 0x0a, - 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x4f, 0x49, - 0x43, 0x45, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, - 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x08, 0x12, - 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, - 0x4f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, - 0x4e, 0x4b, 0x45, 0x44, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x4d, 0x41, 0x4b, 0x45, 0x10, 0x0b, 0x12, + 0x72, 0x69, 0x76, 0x69, 0x61, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x10, 0x17, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x18, 0x2a, 0x90, 0x01, 0x0a, 0x16, + 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x73, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, + 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, + 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x53, 0x75, + 0x70, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x02, 0x2a, 0xdd, + 0x03, 0x0a, 0x0e, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x74, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x57, 0x48, 0x45, 0x45, 0x4c, 0x10, + 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x54, 0x49, 0x50, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, + 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x53, 0x10, 0x0c, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, 0x54, 0x10, 0x0d, 0x12, 0x1a, - 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x0e, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x50, - 0x44, 0x52, 0x41, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x0f, 0x2a, 0xfa, 0x01, 0x0a, 0x0f, 0x44, 0x4f, - 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x74, 0x12, 0x18, 0x0a, - 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, - 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, - 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, - 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x02, - 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, - 0x56, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x44, 0x52, 0x41, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x03, - 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, - 0x56, 0x45, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x49, - 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, - 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, - 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x49, 0x45, 0x44, 0x5f, 0x41, 0x42, 0x49, - 0x4c, 0x49, 0x54, 0x59, 0x10, 0x07, 0x2a, 0xbd, 0x01, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x42, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x74, 0x12, 0x1c, - 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, - 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, - 0x56, 0x45, 0x4c, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, - 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x55, 0x53, - 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x45, - 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x52, 0x4f, - 0x50, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, - 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x41, 0x43, - 0x48, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a, 0x84, 0x02, 0x0a, 0x14, 0x45, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, - 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, - 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, - 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x74, 0x61, 0x74, - 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x72, 0x6f, - 0x70, 0x68, 0x79, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, + 0x45, 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x59, + 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x55, + 0x53, 0x45, 0x10, 0x08, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, + 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, + 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0a, + 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x4d, 0x41, + 0x4b, 0x45, 0x10, 0x0b, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, + 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x53, 0x10, 0x0c, 0x12, 0x23, + 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4e, 0x45, 0x57, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, + 0x54, 0x10, 0x0d, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x0e, 0x12, + 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x44, 0x52, 0x41, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x0f, 0x2a, 0xfa, + 0x01, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x5f, 0x74, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, + 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, + 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x49, + 0x4e, 0x47, 0x53, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x44, 0x52, 0x41, 0x57, + 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0x04, 0x12, + 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, + 0x45, 0x4c, 0x5f, 0x54, 0x49, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, + 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x49, 0x45, + 0x44, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x07, 0x2a, 0xbd, 0x01, 0x0a, 0x13, + 0x44, 0x4f, 0x54, 0x41, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x5f, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, + 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, + 0x00, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, + 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, + 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, + 0x5f, 0x50, 0x41, 0x55, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, + 0x4c, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, + 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a, 0x84, 0x02, 0x0a, 0x14, + 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x50, 0x72, + 0x5f, 0x53, 0x74, 0x61, 0x74, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, + 0x65, 0x5f, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, + 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, + 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, - 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x06, 0x2a, 0x95, 0x01, - 0x0a, 0x17, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x6b, - 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0x01, 0x12, 0x25, - 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4f, 0x66, 0x66, 0x6c, - 0x69, 0x6e, 0x65, 0x10, 0x02, 0x2a, 0x4f, 0x0a, 0x0c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, - 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, 0x01, - 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x42, 0x41, 0x44, 0x5f, - 0x47, 0x55, 0x59, 0x53, 0x10, 0x02, 0x2a, 0xb4, 0x01, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x4c, - 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x61, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, - 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, - 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x52, 0x45, - 0x50, 0x4f, 0x52, 0x54, 0x53, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, - 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, - 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x50, 0x52, - 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x03, 0x2a, 0xa7, 0x01, - 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, - 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, - 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x44, - 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x12, 0x28, 0x0a, - 0x24, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, 0x03, 0x2a, 0xba, 0x04, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, - 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, - 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x24, 0x0a, - 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, - 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x47, 0x41, 0x4d, - 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, - 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, - 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x03, - 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, - 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x49, - 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, - 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x43, - 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x06, - 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, - 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x59, 0x10, 0x07, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, - 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x4c, 0x4f, 0x42, 0x42, - 0x59, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x4f, - 0x42, 0x42, 0x59, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x09, 0x12, 0x32, 0x0a, 0x2e, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x43, - 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, - 0x52, 0x45, 0x43, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x1c, - 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, - 0x4c, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x0b, 0x12, 0x29, 0x0a, 0x25, + 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x10, + 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, 0x61, 0x6d, + 0x10, 0x06, 0x2a, 0x95, 0x01, 0x0a, 0x17, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, + 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4f, 0x4b, 0x10, 0x00, + 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x65, 0x64, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0x02, 0x2a, 0x4f, 0x0a, 0x0c, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x15, + 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x5f, 0x47, + 0x55, 0x59, 0x53, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, + 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, 0x02, 0x2a, 0xb4, 0x01, 0x0a, 0x16, + 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, + 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, + 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, + 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, + 0x41, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x53, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, + 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x5f, + 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, + 0x41, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x45, + 0x10, 0x03, 0x2a, 0xa7, 0x01, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, + 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, + 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, + 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, + 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, 0x03, 0x2a, 0xba, 0x04, 0x0a, + 0x13, 0x44, 0x4f, 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, + 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, + 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, + 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, + 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, - 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x43, 0x4f, 0x4f, - 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x42, 0x55, 0x53, 0x59, - 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, - 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x54, 0x49, - 0x4d, 0x45, 0x10, 0x0e, 0x2a, 0x71, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x5f, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x6b, - 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x69, 0x63, 0x10, 0x01, 0x2a, 0xf6, 0x01, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x44, 0x4f, 0x54, + 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x57, + 0x4f, 0x52, 0x44, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, + 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, + 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x47, 0x45, + 0x4e, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x26, 0x0a, + 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, + 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, + 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x45, 0x41, + 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x10, 0x07, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4e, 0x4f, + 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x08, 0x12, 0x1f, + 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, + 0x4c, 0x54, 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x09, 0x12, + 0x32, 0x0a, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, + 0x55, 0x4c, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, + 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, + 0x4e, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, + 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, + 0x0b, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, + 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, + 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, + 0x5f, 0x42, 0x55, 0x53, 0x59, 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, + 0x4c, 0x41, 0x59, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0e, 0x2a, 0x71, 0x0a, 0x1a, 0x44, 0x4f, 0x54, + 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x44, 0x4f, 0x54, + 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x10, 0x00, + 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x5f, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x10, 0x01, 0x2a, 0xf6, 0x01, 0x0a, + 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x25, + 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, + 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x69, + 0x63, 0x6b, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x6b, + 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x10, 0x01, 0x12, - 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x5f, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x6b, 0x10, 0x02, 0x12, 0x29, 0x0a, - 0x25, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x52, - 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x44, 0x4f, - 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x69, 0x72, 0x65, 0x10, 0x04, - 0x2a, 0x62, 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, - 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, - 0x74, 0x65, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, - 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x5f, 0x50, 0x4f, - 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x02, 0x2a, 0x78, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, - 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x44, - 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x44, - 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, - 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x8b, - 0x01, 0x0a, 0x12, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, - 0x52, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x44, 0x4f, - 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0x01, 0x12, - 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x43, - 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x10, 0x03, 0x2a, 0x73, 0x0a, 0x11, - 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x4d, 0x52, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, - 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x10, 0x01, 0x12, - 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x10, - 0x02, 0x2a, 0xd0, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x15, 0x0a, 0x11, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, - 0x53, 0x55, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x54, 0x53, 0x10, 0x01, - 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, - 0x4f, 0x4d, 0x50, 0x45, 0x54, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, - 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x45, 0x4b, 0x45, - 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x4e, 0x45, 0x59, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, - 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, - 0x47, 0x45, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x50, 0x4f, - 0x4f, 0x4c, 0x10, 0x0e, 0x2a, 0x9c, 0x02, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, - 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, - 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x53, - 0x53, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, - 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, 0x41, 0x53, 0x59, 0x10, 0x01, 0x12, + 0x69, 0x63, 0x65, 0x5f, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x26, 0x0a, + 0x22, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x44, + 0x69, 0x72, 0x65, 0x10, 0x04, 0x2a, 0x62, 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, + 0x74, 0x65, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, + 0x16, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x5f, 0x4e, + 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x78, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x10, 0x00, + 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x10, + 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x10, 0x02, 0x2a, 0x8b, 0x01, 0x0a, 0x12, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, + 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, + 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x10, + 0x03, 0x2a, 0x73, 0x0a, 0x11, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, + 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, + 0x6e, 0x65, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x72, 0x10, 0x02, 0x2a, 0xd0, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x55, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4d, + 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x42, + 0x4f, 0x54, 0x53, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, 0x54, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, + 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x57, 0x45, 0x45, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x4e, 0x45, 0x59, 0x10, + 0x05, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x41, 0x54, 0x43, 0x48, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x43, 0x48, + 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x0e, 0x2a, 0x9c, 0x02, 0x0a, 0x11, 0x44, 0x4f, + 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, + 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, + 0x59, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, + 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, 0x41, + 0x53, 0x59, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, + 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, + 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, + 0x59, 0x5f, 0x48, 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, + 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x46, 0x41, 0x49, + 0x52, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, + 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, - 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, - 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x48, 0x41, 0x52, - 0x44, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, - 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x46, 0x41, 0x49, 0x52, 0x10, 0x04, 0x12, 0x1a, - 0x0a, 0x16, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, + 0x59, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x41, 0x31, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x54, - 0x52, 0x41, 0x31, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, - 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x41, 0x32, 0x10, 0x07, - 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, - 0x54, 0x59, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x41, 0x33, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x42, - 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x4e, 0x50, - 0x58, 0x10, 0x09, 0x2a, 0xae, 0x06, 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, - 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, - 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, - 0x41, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x10, - 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x45, - 0x41, 0x54, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, - 0x50, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0x06, + 0x52, 0x41, 0x32, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, + 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x41, 0x33, 0x10, 0x08, + 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, + 0x54, 0x59, 0x5f, 0x4e, 0x50, 0x58, 0x10, 0x09, 0x2a, 0xae, 0x06, 0x0a, 0x0d, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x41, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x54, + 0x54, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, + 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x03, 0x12, 0x19, + 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x52, 0x45, 0x54, 0x52, 0x45, 0x41, 0x54, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, + 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x53, + 0x48, 0x4f, 0x50, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, + 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x07, 0x12, 0x20, 0x0a, + 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, + 0x55, 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x08, 0x12, + 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x10, + 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x42, 0x4f, + 0x54, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x57, 0x45, + 0x52, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x0b, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, 0x5f, + 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, + 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x54, 0x10, 0x0d, 0x12, + 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x41, 0x53, 0x53, 0x45, 0x4d, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x26, 0x0a, 0x22, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, 0x53, + 0x45, 0x4d, 0x42, 0x4c, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x48, 0x55, 0x4d, 0x41, 0x4e, + 0x53, 0x10, 0x0f, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x10, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, - 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, - 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x09, 0x12, 0x20, 0x0a, 0x1c, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, - 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x54, 0x10, 0x0a, 0x12, 0x22, - 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x50, - 0x10, 0x0b, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, - 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, - 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, 0x5f, 0x54, - 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x54, 0x10, 0x0d, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, - 0x4d, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, - 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x4d, 0x42, 0x4c, 0x45, - 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x48, 0x55, 0x4d, 0x41, 0x4e, 0x53, 0x10, 0x0f, 0x12, 0x1b, - 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x10, 0x12, 0x16, 0x0a, 0x12, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x52, - 0x4d, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x59, - 0x10, 0x12, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x56, 0x41, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x45, - 0x55, 0x56, 0x45, 0x52, 0x53, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x10, - 0x14, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x15, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x57, 0x41, 0x52, 0x44, 0x10, - 0x16, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x17, 0x12, 0x1f, - 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x54, 0x55, 0x54, 0x4f, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x42, 0x4f, 0x53, 0x53, 0x10, 0x18, 0x12, - 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x19, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x4f, - 0x53, 0x54, 0x10, 0x1a, 0x2a, 0xf3, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, - 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, - 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x01, 0x12, - 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, - 0x45, 0x5f, 0x52, 0x55, 0x53, 0x53, 0x49, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4d, - 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x48, - 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x54, 0x43, 0x48, - 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x4b, 0x4f, 0x52, 0x45, 0x41, 0x4e, - 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, - 0x55, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x50, 0x41, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x05, 0x12, 0x1d, - 0x0a, 0x19, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, - 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x55, 0x47, 0x55, 0x45, 0x53, 0x45, 0x10, 0x06, 0x12, 0x1b, 0x0a, - 0x17, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, - 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x32, 0x10, 0x07, 0x2a, 0xd8, 0x02, 0x0a, 0x1a, 0x45, - 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, - 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, + 0x45, 0x5f, 0x46, 0x41, 0x52, 0x4d, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, + 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x12, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x56, 0x41, 0x53, 0x49, 0x56, 0x45, + 0x5f, 0x4d, 0x41, 0x4e, 0x45, 0x55, 0x56, 0x45, 0x52, 0x53, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x4f, + 0x53, 0x48, 0x41, 0x4e, 0x10, 0x14, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, + 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x15, 0x12, 0x16, + 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x57, 0x41, 0x52, 0x44, 0x10, 0x16, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, + 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x4e, 0x49, 0x4f, + 0x4e, 0x10, 0x17, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x55, 0x54, 0x4f, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x42, 0x4f, + 0x53, 0x53, 0x10, 0x18, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x19, 0x12, 0x19, + 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x4f, 0x55, 0x54, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x1a, 0x2a, 0xf3, 0x01, 0x0a, 0x0e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x16, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, + 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x4e, 0x47, 0x4c, 0x49, + 0x53, 0x48, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, + 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x55, 0x53, 0x53, 0x49, 0x41, 0x4e, 0x10, 0x02, + 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, + 0x47, 0x45, 0x5f, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x4b, + 0x4f, 0x52, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, + 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x50, 0x41, 0x4e, 0x49, 0x53, + 0x48, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, + 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x55, 0x47, 0x55, 0x45, 0x53, 0x45, + 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, + 0x55, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x32, 0x10, 0x07, 0x2a, + 0xd8, 0x02, 0x0a, 0x1a, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, + 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0x01, + 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x4f, 0x4b, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, + 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, + 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x53, 0x65, 0x65, + 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x65, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, - 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x6b, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, + 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x10, 0x04, 0x12, 0x2c, 0x0a, + 0x1f, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4e, 0x41, + 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x64, 0x4f, 0x4b, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x54, 0x6f, - 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, - 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x53, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x67, 0x42, - 0x79, 0x65, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, - 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x5f, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, - 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x10, 0x04, 0x12, 0x2c, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x54, - 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, - 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4e, 0x41, 0x10, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x45, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x53, - 0x6f, 0x6f, 0x6e, 0x10, 0x65, 0x2a, 0xd7, 0x05, 0x0a, 0x0d, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x52, 0x61, 0x64, 0x56, 0x69, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x44, 0x69, 0x72, 0x65, 0x56, 0x69, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, - 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x54, - 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x6b, - 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x31, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x06, 0x12, - 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x32, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x33, 0x56, 0x69, - 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x34, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x09, 0x12, 0x22, 0x0a, 0x1e, 0x6b, - 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x35, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0a, 0x12, - 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x36, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x10, 0x0b, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x37, 0x56, 0x69, - 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x38, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0d, 0x12, 0x33, 0x0a, 0x2f, 0x6b, + 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x65, 0x2a, 0xd7, 0x05, 0x0a, 0x0d, 0x45, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x17, + 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, + 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x52, 0x61, 0x64, + 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x44, 0x69, 0x72, + 0x65, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, + 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x65, + 0x75, 0x74, 0x72, 0x61, 0x6c, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x04, 0x12, 0x20, + 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x5f, 0x4e, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x10, 0x05, + 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x31, 0x56, 0x69, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x32, 0x56, + 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x33, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, + 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x34, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x09, + 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x35, 0x56, 0x69, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x36, 0x56, + 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0b, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x37, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, + 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x38, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0d, + 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x50, 0x6f, + 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x10, 0x40, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x64, 0x5f, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x10, 0x41, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, - 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x50, 0x6f, 0x6f, 0x72, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x40, - 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, - 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x72, 0x10, 0x41, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, + 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, + 0x72, 0x61, 0x73, 0x68, 0x10, 0x42, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x64, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x72, 0x61, 0x73, 0x68, 0x10, - 0x42, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x4e, - 0x65, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x10, 0x43, 0x12, 0x26, 0x0a, - 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x65, 0x64, 0x10, 0x44, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x64, 0x5f, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x10, 0x45, 0x2a, - 0x86, 0x01, 0x0a, 0x09, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, - 0x11, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x41, 0x4e, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4c, - 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x03, 0x12, 0x14, - 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x55, 0x4e, 0x47, - 0x4c, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x05, 0x2a, 0xd6, 0x04, 0x0a, 0x0a, 0x45, 0x42, 0x61, - 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x45, 0x42, 0x61, - 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, - 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x54, 0x49, 0x37, 0x5f, 0x4d, 0x69, 0x64, 0x77, 0x65, 0x65, 0x6b, 0x10, 0x01, 0x12, - 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x54, 0x49, 0x37, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, - 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x37, - 0x5f, 0x41, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x6b, + 0x72, 0x65, 0x64, 0x5f, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, + 0x10, 0x43, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x10, 0x44, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, + 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, + 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, + 0x75, 0x73, 0x10, 0x45, 0x2a, 0x86, 0x01, 0x0a, 0x09, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x4e, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, + 0x0d, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x02, + 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x49, + 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x4e, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x05, 0x2a, 0xdb, 0x05, + 0x0a, 0x0a, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, + 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x37, 0x5f, 0x4d, 0x69, 0x64, 0x77, 0x65, + 0x65, 0x6b, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x37, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x10, + 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x54, 0x49, 0x37, 0x5f, 0x41, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x03, + 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x54, 0x49, 0x38, 0x5f, 0x4d, 0x69, 0x64, 0x77, 0x65, 0x65, 0x6b, 0x10, 0x04, 0x12, 0x1b, + 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, + 0x49, 0x38, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x38, 0x5f, - 0x4d, 0x69, 0x64, 0x77, 0x65, 0x65, 0x6b, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, - 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x38, 0x5f, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x73, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, - 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x38, 0x5f, 0x41, 0x6c, 0x6c, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x30, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, - 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, - 0x31, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x31, 0x10, 0x08, - 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x54, 0x49, 0x31, 0x31, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, - 0x79, 0x32, 0x10, 0x09, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x31, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, - 0x66, 0x73, 0x44, 0x61, 0x79, 0x33, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, - 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x31, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x34, 0x10, 0x0b, 0x12, 0x23, 0x0a, 0x1f, + 0x41, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, + 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x30, 0x10, + 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x54, 0x49, 0x31, 0x31, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, + 0x61, 0x79, 0x31, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x31, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, + 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x32, 0x10, 0x09, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, + 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x31, 0x5f, 0x50, + 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x33, 0x10, 0x0a, 0x12, 0x22, 0x0a, + 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, + 0x31, 0x31, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x34, 0x10, + 0x0b, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x54, 0x49, 0x31, 0x31, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x57, 0x65, 0x65, + 0x6b, 0x65, 0x6e, 0x64, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x31, 0x10, 0x0d, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, + 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, + 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x32, 0x10, 0x0e, 0x12, 0x22, + 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, + 0x49, 0x31, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x33, + 0x10, 0x0f, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x57, 0x65, + 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x10, 0x10, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, 0x61, + 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, 0x53, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x10, 0x11, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x33, 0x5f, 0x46, 0x69, 0x6e, 0x61, + 0x6c, 0x73, 0x44, 0x61, 0x79, 0x31, 0x10, 0x12, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x42, + 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x33, 0x5f, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x73, 0x44, 0x61, 0x79, 0x32, 0x10, 0x13, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, + 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x33, 0x5f, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x44, 0x61, 0x79, 0x33, 0x10, 0x14, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, - 0x31, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x10, - 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, - 0x61, 0x79, 0x31, 0x10, 0x0d, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x6f, - 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x32, 0x10, 0x0e, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, - 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, 0x50, - 0x6c, 0x61, 0x79, 0x6f, 0x66, 0x66, 0x73, 0x44, 0x61, 0x79, 0x33, 0x10, 0x0f, 0x12, 0x23, 0x0a, - 0x1f, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, - 0x31, 0x32, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, - 0x10, 0x10, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x54, 0x49, 0x31, 0x32, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x10, - 0x11, 0x2a, 0xd4, 0x01, 0x0a, 0x0d, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, - 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, - 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4c, - 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x42, - 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, - 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, - 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x04, - 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x44, 0x10, 0x05, 0x12, 0x19, 0x0a, - 0x15, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xb2, 0x01, 0x0a, 0x0d, 0x45, 0x4c, 0x65, - 0x61, 0x67, 0x75, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, - 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x45, - 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, - 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x41, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x41, 0x10, 0x02, 0x12, - 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, - 0x5f, 0x57, 0x45, 0x55, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, - 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x45, 0x55, 0x10, 0x04, 0x12, 0x17, 0x0a, - 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x43, - 0x48, 0x49, 0x4e, 0x41, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, - 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x41, 0x10, 0x06, 0x2a, 0xac, 0x02, - 0x0a, 0x0b, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12, 0x15, 0x0a, - 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, - 0x45, 0x54, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, - 0x49, 0x45, 0x52, 0x5f, 0x41, 0x4d, 0x41, 0x54, 0x45, 0x55, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, - 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, - 0x46, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, - 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52, - 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, - 0x52, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, 0x47, - 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x50, 0x43, 0x5f, 0x51, 0x55, 0x41, 0x4c, - 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x33, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x10, 0x15, 0x2a, 0xd4, 0x01, 0x0a, 0x0d, + 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, + 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, + 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, + 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x43, + 0x4c, 0x55, 0x44, 0x45, 0x44, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, + 0x10, 0x06, 0x2a, 0xb2, 0x01, 0x0a, 0x0d, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, + 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, + 0x10, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, + 0x41, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, + 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x41, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x45, 0x55, 0x10, 0x03, + 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, + 0x4e, 0x5f, 0x45, 0x45, 0x55, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x49, 0x4e, 0x41, 0x10, 0x05, + 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x45, 0x41, 0x10, 0x06, 0x2a, 0xac, 0x02, 0x0a, 0x0b, 0x45, 0x4c, 0x65, 0x61, + 0x67, 0x75, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x4d, + 0x41, 0x54, 0x45, 0x55, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x45, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, + 0x52, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, + 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, + 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, + 0x52, 0x5f, 0x44, 0x50, 0x43, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, + 0x06, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, + 0x5f, 0x44, 0x50, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x51, 0x55, 0x41, 0x4c, + 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x50, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, 0x07, 0x12, 0x1a, 0x0a, - 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x50, 0x43, - 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x50, 0x43, 0x5f, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x53, 0x10, 0x09, 0x2a, 0x7c, 0x0a, 0x13, - 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x54, 0x69, 0x65, 0x72, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, - 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x41, 0x4d, 0x41, 0x54, - 0x45, 0x55, 0x52, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, - 0x54, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, - 0x4f, 0x46, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, - 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, 0x45, - 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x44, 0x50, 0x43, 0x10, 0x03, 0x2a, 0x5b, 0x0a, 0x0f, 0x45, 0x4c, - 0x65, 0x61, 0x67, 0x75, 0x65, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, - 0x15, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, - 0x55, 0x45, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x10, 0x01, 0x12, - 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x49, 0x49, 0x10, 0x02, 0x2a, 0xab, 0x01, 0x0a, 0x18, 0x45, 0x4c, 0x65, 0x61, - 0x67, 0x75, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, - 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, - 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x01, 0x12, 0x1b, - 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, - 0x53, 0x54, 0x5f, 0x54, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4c, - 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, - 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x54, - 0x48, 0x45, 0x52, 0x10, 0x64, 0x2a, 0x86, 0x01, 0x0a, 0x0c, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, - 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, - 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x23, - 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x52, - 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, - 0x41, 0x53, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, - 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, - 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0xda, - 0x0e, 0x0a, 0x12, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, - 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, - 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, - 0x41, 0x47, 0x55, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, - 0x1f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, - 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, - 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x41, 0x44, - 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0x05, - 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, - 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x06, 0x12, 0x29, - 0x0a, 0x25, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x52, - 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x07, 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x52, - 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, + 0x45, 0x52, 0x5f, 0x44, 0x50, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x46, 0x49, + 0x4e, 0x41, 0x4c, 0x53, 0x10, 0x09, 0x2a, 0x7c, 0x0a, 0x13, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x54, 0x69, 0x65, 0x72, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x0a, + 0x1c, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, + 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x41, 0x4d, 0x41, 0x54, 0x45, 0x55, 0x52, 0x10, 0x01, 0x12, + 0x25, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x43, + 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x45, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x44, + 0x50, 0x43, 0x10, 0x03, 0x2a, 0x5b, 0x0a, 0x0f, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x44, + 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x56, + 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x49, 0x10, + 0x02, 0x2a, 0xab, 0x01, 0x0a, 0x18, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x42, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1c, + 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, + 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, + 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x57, 0x49, + 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, + 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, + 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x64, 0x2a, + 0x86, 0x01, 0x0a, 0x0c, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, + 0x4c, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, + 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0xda, 0x0e, 0x0a, 0x12, 0x45, 0x4c, 0x65, + 0x61, 0x67, 0x75, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1f, 0x0a, 0x1b, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, + 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, - 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, - 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x45, - 0x44, 0x10, 0x0a, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x2d, 0x0a, - 0x29, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, - 0x50, 0x52, 0x49, 0x5a, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x0c, 0x12, 0x32, 0x0a, 0x2e, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, - 0x52, 0x49, 0x5a, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0d, - 0x12, 0x35, 0x0a, 0x31, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, - 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, - 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0e, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, - 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x10, 0x0f, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, + 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x10, 0x12, 0x2f, 0x0a, - 0x2b, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, - 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x11, 0x12, 0x32, - 0x0a, 0x2e, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x4d, - 0x4f, 0x56, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, - 0x10, 0x12, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, - 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, - 0x13, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, + 0x27, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, + 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0x05, 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x50, + 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x06, 0x12, 0x29, 0x0a, 0x25, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x44, + 0x44, 0x10, 0x07, 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, + 0x08, 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, - 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x14, 0x12, 0x28, 0x0a, + 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, + 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, - 0x5f, 0x53, 0x57, 0x41, 0x50, 0x10, 0x15, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, - 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, - 0x64, 0x12, 0x29, 0x0a, 0x25, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, - 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, 0x65, 0x12, 0x2a, 0x0a, 0x26, - 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x44, - 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x66, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, 0x47, - 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, - 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x67, 0x12, 0x2f, 0x0a, 0x2b, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, - 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x44, 0x56, - 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0x68, 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x45, 0x41, 0x47, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4d, + 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x5f, + 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x0c, 0x12, 0x32, 0x0a, 0x2e, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x5f, 0x50, + 0x4f, 0x4f, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0d, 0x12, 0x35, 0x0a, 0x31, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, + 0x50, 0x52, 0x49, 0x5a, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, + 0x0e, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x0f, 0x12, 0x28, 0x0a, + 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, + 0x48, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x10, 0x12, 0x2f, 0x0a, 0x2b, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, + 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x11, 0x12, 0x32, 0x0a, 0x2e, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x69, - 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x50, 0x4f, 0x50, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x6a, 0x12, 0x2b, 0x0a, 0x27, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x49, 0x4e, + 0x56, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x12, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x4f, - 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x6b, 0x12, 0x39, 0x0a, 0x35, 0x4c, 0x45, 0x41, - 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, - 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, - 0x4e, 0x47, 0x10, 0x6c, 0x12, 0x38, 0x0a, 0x34, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, - 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x52, 0x54, 0x49, 0x41, - 0x52, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0x6d, 0x12, 0x24, - 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x45, 0x10, 0xc8, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, - 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, - 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, 0xc9, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x4c, + 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x13, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x10, 0xca, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, - 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, - 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0xcb, 0x01, 0x12, 0x2b, 0x0a, - 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, - 0x52, 0x49, 0x45, 0x53, 0x5f, 0x49, 0x44, 0x10, 0xcc, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x4c, 0x45, + 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, + 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x14, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x57, 0x41, 0x50, 0x10, + 0x15, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x64, 0x12, 0x29, 0x0a, 0x25, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, 0x45, 0x53, + 0x54, 0x52, 0x4f, 0x59, 0x10, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, + 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, + 0x10, 0x66, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, + 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, + 0x67, 0x12, 0x2f, 0x0a, 0x2b, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, + 0x10, 0x68, 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, + 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x69, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, - 0x43, 0x49, 0x4e, 0x47, 0x10, 0xcd, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, - 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xce, 0x01, 0x12, - 0x2d, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, - 0x48, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x01, 0x12, 0x27, - 0x0a, 0x22, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, - 0x45, 0x54, 0x45, 0x44, 0x10, 0xd0, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x4f, 0x50, 0x55, + 0x4c, 0x41, 0x54, 0x45, 0x10, 0x6a, 0x12, 0x2b, 0x0a, 0x27, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, + 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, + 0x44, 0x10, 0x6b, 0x12, 0x39, 0x0a, 0x35, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x41, + 0x52, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0x6c, 0x12, 0x38, + 0x0a, 0x34, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, + 0x53, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x52, 0x54, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x44, 0x56, + 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0x6d, 0x12, 0x24, 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xc8, 0x01, 0x12, 0x25, + 0x0a, 0x20, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, + 0x4f, 0x59, 0x10, 0xc9, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, + 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xca, 0x01, 0x12, + 0x26, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, + 0x54, 0x45, 0x41, 0x4d, 0x10, 0xcb, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, - 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0xd1, 0x01, 0x2a, 0xe7, 0x0b, 0x0a, 0x14, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x53, 0x12, 0x23, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x44, 0x41, 0x4d, 0x41, - 0x47, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1f, 0x0a, - 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, - 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x22, - 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, - 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, - 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, - 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, - 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, - 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x17, + 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x49, + 0x44, 0x10, 0xcc, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, + 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0xcd, + 0x01, 0x12, 0x26, 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xce, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x4d, 0x50, + 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xd0, + 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x44, + 0x49, 0x54, 0x10, 0xd1, 0x01, 0x2a, 0x8f, 0x0c, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x12, 0x23, + 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, + 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, - 0x5f, 0x47, 0x4f, 0x4c, 0x44, 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x58, 0x50, 0x10, 0x0a, 0x12, 0x1b, 0x0a, - 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, - 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, 0x45, 0x10, 0x0b, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x42, 0x55, 0x59, - 0x42, 0x41, 0x43, 0x4b, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, + 0x45, 0x52, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, + 0x49, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x44, + 0x45, 0x41, 0x54, 0x48, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x4c, 0x41, - 0x59, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x0e, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x55, 0x4c, - 0x54, 0x49, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x0f, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, - 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x10, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, - 0x55, 0x49, 0x4c, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x11, 0x12, 0x1e, + 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, + 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x4f, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x47, 0x4f, 0x4c, 0x44, 0x10, + 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, + 0x4c, 0x4f, 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x09, + 0x12, 0x15, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, + 0x4f, 0x47, 0x5f, 0x58, 0x50, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, + 0x53, 0x45, 0x10, 0x0b, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, + 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x42, 0x55, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x0c, + 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, + 0x4f, 0x47, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, + 0x45, 0x52, 0x10, 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, + 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x54, 0x41, + 0x54, 0x53, 0x10, 0x0e, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, + 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x4b, 0x49, 0x4c, 0x4c, + 0x10, 0x0f, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, + 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, + 0x10, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, + 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x49, 0x4e, + 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x11, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, + 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x12, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, + 0x49, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, + 0x13, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, + 0x4c, 0x4f, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x4d, 0x50, + 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x10, 0x14, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x55, + 0x50, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x15, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x41, + 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x16, 0x12, + 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, + 0x47, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x44, 0x10, 0x17, 0x12, 0x20, + 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x18, + 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, + 0x4f, 0x47, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, + 0x19, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, + 0x4c, 0x4f, 0x47, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x5f, + 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x1a, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x47, 0x41, 0x4d, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x1b, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x52, 0x55, 0x50, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x1c, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, - 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x12, 0x12, 0x27, - 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, - 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x13, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, - 0x4c, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x10, 0x14, 0x12, 0x1e, + 0x5f, 0x41, 0x4c, 0x4c, 0x49, 0x45, 0x44, 0x5f, 0x47, 0x4f, 0x4c, 0x44, 0x10, 0x1d, 0x12, 0x1e, + 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0x1e, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, - 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x15, 0x12, 0x25, - 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, - 0x5f, 0x52, 0x45, 0x56, 0x45, 0x41, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x53, 0x49, - 0x42, 0x4c, 0x45, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, - 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x41, 0x56, - 0x45, 0x44, 0x10, 0x17, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x54, - 0x4f, 0x52, 0x45, 0x44, 0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4c, 0x45, - 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, 0x19, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4c, 0x45, - 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x1a, 0x12, 0x20, 0x0a, 0x1c, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x45, - 0x4e, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x1b, 0x12, 0x24, - 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, - 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, - 0x45, 0x4c, 0x10, 0x1c, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x4c, 0x4c, 0x49, 0x45, 0x44, 0x5f, 0x47, 0x4f, - 0x4c, 0x44, 0x10, 0x1d, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x54, 0x41, 0x4b, - 0x45, 0x4e, 0x10, 0x1e, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x44, 0x41, 0x4d, 0x41, - 0x47, 0x45, 0x10, 0x1f, 0x12, 0x2c, 0x0a, 0x28, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x5f, - 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x45, 0x44, - 0x10, 0x20, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, - 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x4f, 0x4e, - 0x45, 0x44, 0x10, 0x21, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x45, 0x56, - 0x41, 0x44, 0x45, 0x10, 0x22, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, - 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x5f, 0x43, 0x55, 0x54, - 0x10, 0x23, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, - 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x5f, - 0x53, 0x43, 0x41, 0x4e, 0x10, 0x24, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, - 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x4b, 0x49, 0x4c, - 0x4c, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x25, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, - 0x44, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x10, 0x26, 0x12, - 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, - 0x47, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, - 0x45, 0x10, 0x27, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, - 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x50, 0x45, 0x4c, 0x4c, 0x5f, 0x41, 0x42, 0x53, 0x4f, - 0x52, 0x42, 0x10, 0x28, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, - 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x54, 0x45, 0x4c, 0x45, - 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x29, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, - 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x2a, 0x12, 0x26, 0x0a, - 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, - 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x41, 0x52, - 0x4e, 0x45, 0x44, 0x10, 0x2b, 0x2a, 0x75, 0x0a, 0x10, 0x45, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, - 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x56, - 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, - 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, - 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, - 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x03, 0x2a, 0xa8, 0x04, 0x0a, - 0x14, 0x45, 0x44, 0x50, 0x43, 0x50, 0x75, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, - 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, - 0x41, 0x54, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, - 0x2a, 0x0a, 0x26, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, - 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, - 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x0a, 0x12, 0x2c, 0x0a, 0x28, 0x44, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x1f, 0x12, 0x2c, + 0x0a, 0x28, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, + 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x20, 0x12, 0x20, 0x0a, 0x1c, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x55, + 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x21, 0x12, 0x1f, + 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x45, 0x56, 0x41, 0x44, 0x45, 0x10, 0x22, 0x12, + 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, + 0x47, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x5f, 0x43, 0x55, 0x54, 0x10, 0x23, 0x12, 0x22, 0x0a, 0x1e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x10, 0x24, + 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, + 0x4f, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x54, 0x52, 0x45, 0x41, + 0x4b, 0x10, 0x25, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, + 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x53, 0x54, 0x4f, 0x4e, 0x45, + 0x5f, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x10, 0x26, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x43, 0x52, 0x49, 0x54, + 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x27, 0x12, 0x1f, 0x0a, + 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, + 0x53, 0x50, 0x45, 0x4c, 0x4c, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x52, 0x42, 0x10, 0x28, 0x12, 0x22, + 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, + 0x10, 0x29, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, + 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x2a, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, + 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x41, 0x52, 0x4e, 0x45, 0x44, 0x10, 0x2b, 0x12, + 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, + 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x50, + 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x2c, 0x2a, 0x75, 0x0a, 0x10, 0x45, 0x44, 0x50, 0x43, 0x46, + 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x46, + 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, + 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, + 0x46, 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x03, 0x2a, 0xa8, + 0x04, 0x0a, 0x14, 0x45, 0x44, 0x50, 0x43, 0x50, 0x75, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x50, 0x43, 0x5f, 0x50, + 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, + 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, + 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x0a, 0x12, 0x2c, 0x0a, + 0x28, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4a, 0x4f, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x0b, 0x12, 0x35, 0x0a, 0x31, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x0b, 0x12, 0x35, 0x0a, 0x31, 0x44, 0x50, 0x43, - 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x10, 0x0c, - 0x12, 0x33, 0x0a, 0x2f, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, - 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, - 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x53, 0x5f, 0x43, 0x4f, - 0x41, 0x43, 0x48, 0x10, 0x0d, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, - 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, - 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x14, 0x12, 0x36, - 0x0a, 0x32, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, - 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x1e, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, - 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, - 0x54, 0x10, 0x1f, 0x12, 0x30, 0x0a, 0x2c, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, - 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x4e, - 0x54, 0x41, 0x53, 0x59, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x45, 0x41, - 0x52, 0x45, 0x44, 0x10, 0x28, 0x12, 0x2f, 0x0a, 0x2b, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, + 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, + 0x10, 0x0c, 0x12, 0x33, 0x0a, 0x2f, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x53, 0x5f, + 0x43, 0x4f, 0x41, 0x43, 0x48, 0x10, 0x0d, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x50, 0x43, 0x5f, 0x50, + 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x14, + 0x12, 0x36, 0x0a, 0x32, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, + 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x41, 0x56, 0x41, + 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x1e, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x50, 0x43, 0x5f, + 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, + 0x55, 0x4c, 0x54, 0x10, 0x1f, 0x12, 0x30, 0x0a, 0x2c, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, - 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x53, 0x55, 0x4d, - 0x4d, 0x41, 0x52, 0x59, 0x10, 0x29, 0x12, 0x2f, 0x0a, 0x2b, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, - 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x52, 0x45, - 0x53, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x2a, 0x2a, 0x59, 0x0a, 0x15, 0x45, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x64, 0x64, 0x10, - 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x4d, 0x69, 0x6e, - 0x10, 0x01, 0x2a, 0xce, 0x02, 0x0a, 0x1b, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x2b, 0x0a, - 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, - 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, - 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x74, 0x61, - 0x50, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x10, 0x02, 0x12, 0x3d, 0x0a, 0x39, 0x6b, - 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x74, - 0x61, 0x50, 0x6c, 0x75, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0x03, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, - 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x47, 0x61, - 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x10, 0x04, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x10, 0x05, 0x2a, 0x86, 0x02, 0x0a, 0x16, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, - 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, + 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x4c, + 0x45, 0x41, 0x52, 0x45, 0x44, 0x10, 0x28, 0x12, 0x2f, 0x0a, 0x2b, 0x44, 0x50, 0x43, 0x5f, 0x50, + 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x53, + 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x29, 0x12, 0x2f, 0x0a, 0x2b, 0x44, 0x50, 0x43, 0x5f, + 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, + 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x2a, 0x2a, 0x59, 0x0a, 0x15, 0x45, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x64, + 0x64, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x4d, + 0x69, 0x6e, 0x10, 0x01, 0x2a, 0xce, 0x02, 0x0a, 0x1b, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, + 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, + 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, + 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x10, 0x02, 0x12, 0x3d, 0x0a, + 0x39, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, + 0x6f, 0x74, 0x61, 0x50, 0x6c, 0x75, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0x03, 0x12, 0x36, 0x0a, 0x32, + 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, + 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x10, 0x04, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x10, 0x05, 0x2a, 0x86, 0x02, 0x0a, 0x16, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x5f, 0x43, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x6b, - 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x46, 0x65, 0x65, 0x64, 0x69, 0x6e, 0x67, 0x10, - 0x02, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x47, 0x72, - 0x69, 0x65, 0x66, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4f, - 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x10, - 0x04, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x41, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x62, 0x75, 0x73, 0x65, 0x10, 0x05, 0x2a, 0xb5, 0x01, 0x0a, - 0x11, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x12, 0x27, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, - 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x6b, - 0x5f, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, - 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, - 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x53, 0x68, 0x65, 0x6c, 0x66, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x43, 0x61, - 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x45, - 0x78, 0x74, 0x72, 0x61, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x69, - 0x70, 0x65, 0x10, 0x02, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, - 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x55, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, + 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x5f, 0x43, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x24, 0x0a, + 0x20, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x46, 0x65, 0x65, 0x64, 0x69, 0x6e, + 0x67, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, + 0x47, 0x72, 0x69, 0x65, 0x66, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, + 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, + 0x73, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x62, 0x75, 0x73, 0x65, 0x10, 0x05, 0x2a, 0xb5, + 0x01, 0x0a, 0x11, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, + 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x25, 0x0a, + 0x21, 0x6b, 0x5f, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, + 0x7a, 0x65, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x79, + 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, + 0x43, 0x61, 0x6e, 0x64, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, + 0x63, 0x69, 0x70, 0x65, 0x10, 0x02, 0x2a, 0x86, 0x01, 0x0a, 0x16, 0x45, 0x49, 0x74, 0x65, 0x6d, + 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x4e, 0x6f, + 0x6e, 0x65, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x49, 0x74, 0x65, 0x6d, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x49, + 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x10, 0x02, 0x2a, + 0xb7, 0x01, 0x0a, 0x0f, 0x45, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x75, 0x6e, + 0x65, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x52, 0x75, + 0x6e, 0x65, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x69, 0x73, 0x64, 0x6f, 0x6d, 0x53, + 0x68, 0x72, 0x69, 0x6e, 0x65, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x54, 0x69, 0x6d, + 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4a, 0x75, 0x6e, 0x67, + 0x6c, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x73, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x54, + 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, + 0x74, 0x75, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x10, 0x05, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, + 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -6891,7 +7076,7 @@ func file_dota_shared_enums_proto_rawDescGZIP() []byte { return file_dota_shared_enums_proto_rawDescData } -var file_dota_shared_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 52) +var file_dota_shared_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 54) var file_dota_shared_enums_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_dota_shared_enums_proto_goTypes = []interface{}{ (DOTA_GameMode)(0), // 0: dota.DOTA_GameMode @@ -6946,22 +7131,24 @@ var file_dota_shared_enums_proto_goTypes = []interface{}{ (EPlayerChallengeHistoryType)(0), // 49: dota.EPlayerChallengeHistoryType (EOverwatchReportReason)(0), // 50: dota.EOverwatchReportReason (ECandyShopUpgrade)(0), // 51: dota.ECandyShopUpgrade - (*CDOTAClientHardwareSpecs)(nil), // 52: dota.CDOTAClientHardwareSpecs - (*CDOTASaveGame)(nil), // 53: dota.CDOTASaveGame - (*CMsgDOTACombatLogEntry)(nil), // 54: dota.CMsgDOTACombatLogEntry - (*CMsgPendingEventAward)(nil), // 55: dota.CMsgPendingEventAward - (*CDOTASaveGame_Player)(nil), // 56: dota.CDOTASaveGame.Player - (*CDOTASaveGame_SaveInstance)(nil), // 57: dota.CDOTASaveGame.SaveInstance - (*CDOTASaveGame_SaveInstance_PlayerPositions)(nil), // 58: dota.CDOTASaveGame.SaveInstance.PlayerPositions + (EItemSuggestPreference)(0), // 52: dota.EItemSuggestPreference + (ETimerAlertType)(0), // 53: dota.ETimerAlertType + (*CDOTAClientHardwareSpecs)(nil), // 54: dota.CDOTAClientHardwareSpecs + (*CDOTASaveGame)(nil), // 55: dota.CDOTASaveGame + (*CMsgDOTACombatLogEntry)(nil), // 56: dota.CMsgDOTACombatLogEntry + (*CMsgPendingEventAward)(nil), // 57: dota.CMsgPendingEventAward + (*CDOTASaveGame_Player)(nil), // 58: dota.CDOTASaveGame.Player + (*CDOTASaveGame_SaveInstance)(nil), // 59: dota.CDOTASaveGame.SaveInstance + (*CDOTASaveGame_SaveInstance_PlayerPositions)(nil), // 60: dota.CDOTASaveGame.SaveInstance.PlayerPositions } var file_dota_shared_enums_proto_depIdxs = []int32{ - 56, // 0: dota.CDOTASaveGame.players:type_name -> dota.CDOTASaveGame.Player - 57, // 1: dota.CDOTASaveGame.save_instances:type_name -> dota.CDOTASaveGame.SaveInstance + 58, // 0: dota.CDOTASaveGame.players:type_name -> dota.CDOTASaveGame.Player + 59, // 1: dota.CDOTASaveGame.save_instances:type_name -> dota.CDOTASaveGame.SaveInstance 45, // 2: dota.CMsgDOTACombatLogEntry.type:type_name -> dota.DOTA_COMBATLOG_TYPES 3, // 3: dota.CMsgPendingEventAward.event_id:type_name -> dota.EEvent 48, // 4: dota.CMsgPendingEventAward.score_mode:type_name -> dota.EEventActionScoreMode 2, // 5: dota.CDOTASaveGame.Player.team:type_name -> dota.DOTA_GC_TEAM - 58, // 6: dota.CDOTASaveGame.SaveInstance.player_positions:type_name -> dota.CDOTASaveGame.SaveInstance.PlayerPositions + 60, // 6: dota.CDOTASaveGame.SaveInstance.player_positions:type_name -> dota.CDOTASaveGame.SaveInstance.PlayerPositions 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name @@ -7065,7 +7252,7 @@ func file_dota_shared_enums_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_shared_enums_proto_rawDesc, - NumEnums: 52, + NumEnums: 54, NumMessages: 7, NumExtensions: 0, NumServices: 0, diff --git a/dota/dota_shared_enums.proto b/dota/dota_shared_enums.proto index 8317de72..6828404b 100644 --- a/dota/dota_shared_enums.proto +++ b/dota/dota_shared_enums.proto @@ -117,6 +117,7 @@ enum EEvent { EVENT_ID_CROWNFALL = 47; EVENT_ID_FROSTIVUS_2023 = 48; EVENT_ID_INTERNATIONAL_2024 = 49; + EVENT_ID_FROSTIVUS_2024 = 50; } enum ERankType { @@ -501,6 +502,10 @@ enum EBadgeType { k_EBadgeType_TI12_PlayoffsDay3 = 15; k_EBadgeType_TI12_FinalsWeekend = 16; k_EBadgeType_TI12_Special = 17; + k_EBadgeType_TI13_FinalsDay1 = 18; + k_EBadgeType_TI13_FinalsDay2 = 19; + k_EBadgeType_TI13_FinalsDay3 = 20; + k_EBadgeType_TI13_Special = 21; } enum ELeagueStatus { @@ -654,6 +659,7 @@ enum DOTA_COMBATLOG_TYPES { DOTA_COMBATLOG_UNIT_TELEPORTED = 41; DOTA_COMBATLOG_KILL_EATER_EVENT = 42; DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED = 43; + DOTA_COMBATLOG_STAT_TRACKER_PLAYER = 44; } enum EDPCFavoriteType { @@ -707,6 +713,20 @@ enum ECandyShopUpgrade { k_ECandyShopUpgrade_ExtraExchangeRecipe = 2; } +enum EItemSuggestPreference { + k_EItemSuggestPreference_None = 0; + k_EItemSuggestPreference_Liked = 1; + k_EItemSuggestPreference_Disliked = 2; +} + +enum ETimerAlertType { + k_TimerAlertType_PowerRune = 1; + k_TimerAlertType_BountyRune = 2; + k_TimerAlertType_WisdomShrine = 3; + k_TimerAlertType_JungleCamps = 4; + k_TimerAlertType_LotusPool = 5; +} + message CDOTAClientHardwareSpecs { optional uint32 logical_processors = 1; optional fixed64 cpu_cycles_per_second = 2; @@ -824,6 +844,7 @@ message CMsgDOTACombatLogEntry { optional float regenerated_health = 77; optional bool will_reincarnate = 78; optional bool uses_charges = 79; + optional uint32 tracked_stat_id = 80; } message CMsgPendingEventAward { diff --git a/dota/dota_usercmd.pb.go b/dota/dota_usercmd.pb.go index 7b3fe220..a45e2f24 100644 --- a/dota/dota_usercmd.pb.go +++ b/dota/dota_usercmd.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_usercmd.proto package dota diff --git a/dota/dota_usermessages.pb.go b/dota/dota_usermessages.pb.go index 226f92e7..c82de8a8 100644 --- a/dota/dota_usermessages.pb.go +++ b/dota/dota_usermessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: dota_usermessages.proto package dota @@ -89,7 +89,6 @@ const ( EDotaUserMessages_DOTA_UM_BoosterState EDotaUserMessages = 528 EDotaUserMessages_DOTA_UM_WillPurchaseAlert EDotaUserMessages = 529 EDotaUserMessages_DOTA_UM_TutorialMinimapPosition EDotaUserMessages = 530 - EDotaUserMessages_DOTA_UM_PlayerMMR EDotaUserMessages = 531 EDotaUserMessages_DOTA_UM_AbilitySteal EDotaUserMessages = 532 EDotaUserMessages_DOTA_UM_CourierKilledAlert EDotaUserMessages = 533 EDotaUserMessages_DOTA_UM_EnemyItemAlert EDotaUserMessages = 534 @@ -183,6 +182,10 @@ const ( EDotaUserMessages_DOTA_UM_GiftPlayer EDotaUserMessages = 623 EDotaUserMessages_DOTA_UM_FacetPing EDotaUserMessages = 624 EDotaUserMessages_DOTA_UM_InnatePing EDotaUserMessages = 625 + EDotaUserMessages_DOTA_UM_RoshanTimer EDotaUserMessages = 626 + EDotaUserMessages_DOTA_UM_NeutralCraftAvailable EDotaUserMessages = 627 + EDotaUserMessages_DOTA_UM_TimerAlert EDotaUserMessages = 628 + EDotaUserMessages_DOTA_UM_MadstoneAlert EDotaUserMessages = 629 ) // Enum value maps for EDotaUserMessages. @@ -254,7 +257,6 @@ var ( 528: "DOTA_UM_BoosterState", 529: "DOTA_UM_WillPurchaseAlert", 530: "DOTA_UM_TutorialMinimapPosition", - 531: "DOTA_UM_PlayerMMR", 532: "DOTA_UM_AbilitySteal", 533: "DOTA_UM_CourierKilledAlert", 534: "DOTA_UM_EnemyItemAlert", @@ -348,6 +350,10 @@ var ( 623: "DOTA_UM_GiftPlayer", 624: "DOTA_UM_FacetPing", 625: "DOTA_UM_InnatePing", + 626: "DOTA_UM_RoshanTimer", + 627: "DOTA_UM_NeutralCraftAvailable", + 628: "DOTA_UM_TimerAlert", + 629: "DOTA_UM_MadstoneAlert", } EDotaUserMessages_value = map[string]int32{ "DOTA_UM_AddUnitToSelection": 464, @@ -416,7 +422,6 @@ var ( "DOTA_UM_BoosterState": 528, "DOTA_UM_WillPurchaseAlert": 529, "DOTA_UM_TutorialMinimapPosition": 530, - "DOTA_UM_PlayerMMR": 531, "DOTA_UM_AbilitySteal": 532, "DOTA_UM_CourierKilledAlert": 533, "DOTA_UM_EnemyItemAlert": 534, @@ -510,6 +515,10 @@ var ( "DOTA_UM_GiftPlayer": 623, "DOTA_UM_FacetPing": 624, "DOTA_UM_InnatePing": 625, + "DOTA_UM_RoshanTimer": 626, + "DOTA_UM_NeutralCraftAvailable": 627, + "DOTA_UM_TimerAlert": 628, + "DOTA_UM_MadstoneAlert": 629, } ) @@ -664,6 +673,9 @@ const ( DOTA_CHAT_MESSAGE_CHAT_MESSAGE_MINIBOSS_KILL DOTA_CHAT_MESSAGE = 117 DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_IN_GAME_BAN_TEXT DOTA_CHAT_MESSAGE = 118 DOTA_CHAT_MESSAGE_CHAT_MESSAGE_BANNER_PLANTED DOTA_CHAT_MESSAGE = 119 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ALCHEMIST_GRANTED_SCEPTER DOTA_CHAT_MESSAGE = 120 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PROTECTOR_SPAWNED DOTA_CHAT_MESSAGE = 121 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CRAFTING_XP DOTA_CHAT_MESSAGE = 122 ) // Enum value maps for DOTA_CHAT_MESSAGE. @@ -780,6 +792,9 @@ var ( 117: "CHAT_MESSAGE_MINIBOSS_KILL", 118: "CHAT_MESSAGE_PLAYER_IN_GAME_BAN_TEXT", 119: "CHAT_MESSAGE_BANNER_PLANTED", + 120: "CHAT_MESSAGE_ALCHEMIST_GRANTED_SCEPTER", + 121: "CHAT_MESSAGE_PROTECTOR_SPAWNED", + 122: "CHAT_MESSAGE_CRAFTING_XP", } DOTA_CHAT_MESSAGE_value = map[string]int32{ "CHAT_MESSAGE_INVALID": -1, @@ -893,6 +908,9 @@ var ( "CHAT_MESSAGE_MINIBOSS_KILL": 117, "CHAT_MESSAGE_PLAYER_IN_GAME_BAN_TEXT": 118, "CHAT_MESSAGE_BANNER_PLANTED": 119, + "CHAT_MESSAGE_ALCHEMIST_GRANTED_SCEPTER": 120, + "CHAT_MESSAGE_PROTECTOR_SPAWNED": 121, + "CHAT_MESSAGE_CRAFTING_XP": 122, } ) @@ -1991,7 +2009,7 @@ func (x *CDOTAResponseQuerySerialized_Fact_ValueType) UnmarshalJSON(b []byte) er // Deprecated: Use CDOTAResponseQuerySerialized_Fact_ValueType.Descriptor instead. func (CDOTAResponseQuerySerialized_Fact_ValueType) EnumDescriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{42, 0, 0} + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 0, 0} } type CDOTAUserMsg_GuildChallenge_Progress_EChallengeType int32 @@ -2053,6 +2071,65 @@ func (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) EnumDescriptor() ([]b return file_dota_usermessages_proto_rawDescGZIP(), []int{146, 0} } +type CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType int32 + +const ( + CDOTAUserMsg_MadstoneAlert_CraftAvailable CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType = 0 + CDOTAUserMsg_MadstoneAlert_NeedMadstone CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType = 1 + CDOTAUserMsg_MadstoneAlert_WaitingForNextTier CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType = 2 +) + +// Enum value maps for CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType. +var ( + CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType_name = map[int32]string{ + 0: "CraftAvailable", + 1: "NeedMadstone", + 2: "WaitingForNextTier", + } + CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType_value = map[string]int32{ + "CraftAvailable": 0, + "NeedMadstone": 1, + "WaitingForNextTier": 2, + } +) + +func (x CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) Enum() *CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType { + p := new(CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) + *p = x + return p +} + +func (x CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[16].Descriptor() +} + +func (CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[16] +} + +func (x CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType(num) + return nil +} + +// Deprecated: Use CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType.Descriptor instead. +func (CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{166, 0} +} + type CDOTAUserMsg_AIDebugLine struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3456,6 +3533,61 @@ func (x *CDOTAUserMsg_RadarAlert) GetNegative() bool { return false } +type CDOTAUserMsg_RoshanTimer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Negative *bool `protobuf:"varint,2,opt,name=negative" json:"negative,omitempty"` +} + +func (x *CDOTAUserMsg_RoshanTimer) Reset() { + *x = CDOTAUserMsg_RoshanTimer{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_RoshanTimer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_RoshanTimer) ProtoMessage() {} + +func (x *CDOTAUserMsg_RoshanTimer) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_RoshanTimer.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_RoshanTimer) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{21} +} + +func (x *CDOTAUserMsg_RoshanTimer) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_RoshanTimer) GetNegative() bool { + if x != nil && x.Negative != nil { + return *x.Negative + } + return false +} + type CDOTAUserMsg_WillPurchaseAlert struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3470,7 +3602,7 @@ type CDOTAUserMsg_WillPurchaseAlert struct { func (x *CDOTAUserMsg_WillPurchaseAlert) Reset() { *x = CDOTAUserMsg_WillPurchaseAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[21] + mi := &file_dota_usermessages_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3483,7 +3615,7 @@ func (x *CDOTAUserMsg_WillPurchaseAlert) String() string { func (*CDOTAUserMsg_WillPurchaseAlert) ProtoMessage() {} func (x *CDOTAUserMsg_WillPurchaseAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[21] + mi := &file_dota_usermessages_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3496,7 +3628,7 @@ func (x *CDOTAUserMsg_WillPurchaseAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_WillPurchaseAlert.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_WillPurchaseAlert) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{21} + return file_dota_usermessages_proto_rawDescGZIP(), []int{22} } func (x *CDOTAUserMsg_WillPurchaseAlert) GetItemAbilityId() int32 { @@ -3540,7 +3672,7 @@ type CDOTAUserMsg_EmptyTeleportAlert struct { func (x *CDOTAUserMsg_EmptyTeleportAlert) Reset() { *x = CDOTAUserMsg_EmptyTeleportAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[22] + mi := &file_dota_usermessages_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3553,7 +3685,7 @@ func (x *CDOTAUserMsg_EmptyTeleportAlert) String() string { func (*CDOTAUserMsg_EmptyTeleportAlert) ProtoMessage() {} func (x *CDOTAUserMsg_EmptyTeleportAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[22] + mi := &file_dota_usermessages_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3566,7 +3698,7 @@ func (x *CDOTAUserMsg_EmptyTeleportAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_EmptyTeleportAlert.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_EmptyTeleportAlert) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{22} + return file_dota_usermessages_proto_rawDescGZIP(), []int{23} } func (x *CDOTAUserMsg_EmptyTeleportAlert) GetSourcePlayerId() int32 { @@ -3603,7 +3735,7 @@ type CDOTAUserMsg_MarsArenaOfBloodAttack struct { func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) Reset() { *x = CDOTAUserMsg_MarsArenaOfBloodAttack{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[23] + mi := &file_dota_usermessages_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3616,7 +3748,7 @@ func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) String() string { func (*CDOTAUserMsg_MarsArenaOfBloodAttack) ProtoMessage() {} func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[23] + mi := &file_dota_usermessages_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3629,7 +3761,7 @@ func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) ProtoReflect() protoreflect.Messag // Deprecated: Use CDOTAUserMsg_MarsArenaOfBloodAttack.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_MarsArenaOfBloodAttack) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{23} + return file_dota_usermessages_proto_rawDescGZIP(), []int{24} } func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) GetSourceEhandle() uint32 { @@ -3665,7 +3797,7 @@ type CDOTAEntityMsg_InvokerSpellCast struct { func (x *CDOTAEntityMsg_InvokerSpellCast) Reset() { *x = CDOTAEntityMsg_InvokerSpellCast{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[24] + mi := &file_dota_usermessages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3678,7 +3810,7 @@ func (x *CDOTAEntityMsg_InvokerSpellCast) String() string { func (*CDOTAEntityMsg_InvokerSpellCast) ProtoMessage() {} func (x *CDOTAEntityMsg_InvokerSpellCast) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[24] + mi := &file_dota_usermessages_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3691,7 +3823,7 @@ func (x *CDOTAEntityMsg_InvokerSpellCast) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAEntityMsg_InvokerSpellCast.ProtoReflect.Descriptor instead. func (*CDOTAEntityMsg_InvokerSpellCast) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{24} + return file_dota_usermessages_proto_rawDescGZIP(), []int{25} } func (x *CDOTAEntityMsg_InvokerSpellCast) GetEntityMsg() *CEntityMsg { @@ -3719,7 +3851,7 @@ type CDOTAUserMsg_BuyBackStateAlert struct { func (x *CDOTAUserMsg_BuyBackStateAlert) Reset() { *x = CDOTAUserMsg_BuyBackStateAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[25] + mi := &file_dota_usermessages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3732,7 +3864,7 @@ func (x *CDOTAUserMsg_BuyBackStateAlert) String() string { func (*CDOTAUserMsg_BuyBackStateAlert) ProtoMessage() {} func (x *CDOTAUserMsg_BuyBackStateAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[25] + mi := &file_dota_usermessages_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3745,7 +3877,7 @@ func (x *CDOTAUserMsg_BuyBackStateAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_BuyBackStateAlert.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_BuyBackStateAlert) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{25} + return file_dota_usermessages_proto_rawDescGZIP(), []int{26} } func (x *CDOTAUserMsg_BuyBackStateAlert) GetPlayerId() int32 { @@ -3770,7 +3902,7 @@ type CDOTAUserMsg_QuickBuyAlert struct { func (x *CDOTAUserMsg_QuickBuyAlert) Reset() { *x = CDOTAUserMsg_QuickBuyAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[26] + mi := &file_dota_usermessages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3783,7 +3915,7 @@ func (x *CDOTAUserMsg_QuickBuyAlert) String() string { func (*CDOTAUserMsg_QuickBuyAlert) ProtoMessage() {} func (x *CDOTAUserMsg_QuickBuyAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[26] + mi := &file_dota_usermessages_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3796,7 +3928,7 @@ func (x *CDOTAUserMsg_QuickBuyAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_QuickBuyAlert.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_QuickBuyAlert) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{26} + return file_dota_usermessages_proto_rawDescGZIP(), []int{27} } func (x *CDOTAUserMsg_QuickBuyAlert) GetPlayerId() int32 { @@ -3851,7 +3983,7 @@ type CDOTAUserMsg_CourierKilledAlert struct { func (x *CDOTAUserMsg_CourierKilledAlert) Reset() { *x = CDOTAUserMsg_CourierKilledAlert{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[27] + mi := &file_dota_usermessages_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3864,7 +3996,7 @@ func (x *CDOTAUserMsg_CourierKilledAlert) String() string { func (*CDOTAUserMsg_CourierKilledAlert) ProtoMessage() {} func (x *CDOTAUserMsg_CourierKilledAlert) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[27] + mi := &file_dota_usermessages_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3877,7 +4009,7 @@ func (x *CDOTAUserMsg_CourierKilledAlert) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_CourierKilledAlert.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_CourierKilledAlert) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{27} + return file_dota_usermessages_proto_rawDescGZIP(), []int{28} } func (x *CDOTAUserMsg_CourierKilledAlert) GetTeam() uint32 { @@ -3945,7 +4077,7 @@ type CDOTAUserMsg_MinimapEvent struct { func (x *CDOTAUserMsg_MinimapEvent) Reset() { *x = CDOTAUserMsg_MinimapEvent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[28] + mi := &file_dota_usermessages_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3958,7 +4090,7 @@ func (x *CDOTAUserMsg_MinimapEvent) String() string { func (*CDOTAUserMsg_MinimapEvent) ProtoMessage() {} func (x *CDOTAUserMsg_MinimapEvent) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[28] + mi := &file_dota_usermessages_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3971,7 +4103,7 @@ func (x *CDOTAUserMsg_MinimapEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_MinimapEvent.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_MinimapEvent) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{28} + return file_dota_usermessages_proto_rawDescGZIP(), []int{29} } func (x *CDOTAUserMsg_MinimapEvent) GetEventType() int32 { @@ -4028,7 +4160,7 @@ type CDOTAUserMsg_MapLine struct { func (x *CDOTAUserMsg_MapLine) Reset() { *x = CDOTAUserMsg_MapLine{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[29] + mi := &file_dota_usermessages_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4041,7 +4173,7 @@ func (x *CDOTAUserMsg_MapLine) String() string { func (*CDOTAUserMsg_MapLine) ProtoMessage() {} func (x *CDOTAUserMsg_MapLine) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[29] + mi := &file_dota_usermessages_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4054,7 +4186,7 @@ func (x *CDOTAUserMsg_MapLine) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_MapLine.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_MapLine) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{29} + return file_dota_usermessages_proto_rawDescGZIP(), []int{30} } func (x *CDOTAUserMsg_MapLine) GetPlayerId() int32 { @@ -4086,7 +4218,7 @@ type CDOTAUserMsg_MinimapDebugPoint struct { func (x *CDOTAUserMsg_MinimapDebugPoint) Reset() { *x = CDOTAUserMsg_MinimapDebugPoint{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[30] + mi := &file_dota_usermessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4099,7 +4231,7 @@ func (x *CDOTAUserMsg_MinimapDebugPoint) String() string { func (*CDOTAUserMsg_MinimapDebugPoint) ProtoMessage() {} func (x *CDOTAUserMsg_MinimapDebugPoint) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[30] + mi := &file_dota_usermessages_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4112,7 +4244,7 @@ func (x *CDOTAUserMsg_MinimapDebugPoint) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_MinimapDebugPoint.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_MinimapDebugPoint) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{30} + return file_dota_usermessages_proto_rawDescGZIP(), []int{31} } func (x *CDOTAUserMsg_MinimapDebugPoint) GetLocation() *CMsgVector { @@ -4172,7 +4304,7 @@ type CDOTAUserMsg_CreateLinearProjectile struct { func (x *CDOTAUserMsg_CreateLinearProjectile) Reset() { *x = CDOTAUserMsg_CreateLinearProjectile{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[31] + mi := &file_dota_usermessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4185,7 +4317,7 @@ func (x *CDOTAUserMsg_CreateLinearProjectile) String() string { func (*CDOTAUserMsg_CreateLinearProjectile) ProtoMessage() {} func (x *CDOTAUserMsg_CreateLinearProjectile) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[31] + mi := &file_dota_usermessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4198,7 +4330,7 @@ func (x *CDOTAUserMsg_CreateLinearProjectile) ProtoReflect() protoreflect.Messag // Deprecated: Use CDOTAUserMsg_CreateLinearProjectile.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_CreateLinearProjectile) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{31} + return file_dota_usermessages_proto_rawDescGZIP(), []int{32} } func (x *CDOTAUserMsg_CreateLinearProjectile) GetOrigin() *CMsgVector { @@ -4296,7 +4428,7 @@ type CDOTAUserMsg_DestroyLinearProjectile struct { func (x *CDOTAUserMsg_DestroyLinearProjectile) Reset() { *x = CDOTAUserMsg_DestroyLinearProjectile{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[32] + mi := &file_dota_usermessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4309,7 +4441,7 @@ func (x *CDOTAUserMsg_DestroyLinearProjectile) String() string { func (*CDOTAUserMsg_DestroyLinearProjectile) ProtoMessage() {} func (x *CDOTAUserMsg_DestroyLinearProjectile) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[32] + mi := &file_dota_usermessages_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4322,7 +4454,7 @@ func (x *CDOTAUserMsg_DestroyLinearProjectile) ProtoReflect() protoreflect.Messa // Deprecated: Use CDOTAUserMsg_DestroyLinearProjectile.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_DestroyLinearProjectile) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{32} + return file_dota_usermessages_proto_rawDescGZIP(), []int{33} } func (x *CDOTAUserMsg_DestroyLinearProjectile) GetHandle() int32 { @@ -4344,7 +4476,7 @@ type CDOTAUserMsg_DodgeTrackingProjectiles struct { func (x *CDOTAUserMsg_DodgeTrackingProjectiles) Reset() { *x = CDOTAUserMsg_DodgeTrackingProjectiles{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[33] + mi := &file_dota_usermessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4357,7 +4489,7 @@ func (x *CDOTAUserMsg_DodgeTrackingProjectiles) String() string { func (*CDOTAUserMsg_DodgeTrackingProjectiles) ProtoMessage() {} func (x *CDOTAUserMsg_DodgeTrackingProjectiles) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[33] + mi := &file_dota_usermessages_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4370,7 +4502,7 @@ func (x *CDOTAUserMsg_DodgeTrackingProjectiles) ProtoReflect() protoreflect.Mess // Deprecated: Use CDOTAUserMsg_DodgeTrackingProjectiles.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_DodgeTrackingProjectiles) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{33} + return file_dota_usermessages_proto_rawDescGZIP(), []int{34} } func (x *CDOTAUserMsg_DodgeTrackingProjectiles) GetEntindex() int32 { @@ -4400,7 +4532,7 @@ type CDOTAUserMsg_SpectatorPlayerClick struct { func (x *CDOTAUserMsg_SpectatorPlayerClick) Reset() { *x = CDOTAUserMsg_SpectatorPlayerClick{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[34] + mi := &file_dota_usermessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4413,7 +4545,7 @@ func (x *CDOTAUserMsg_SpectatorPlayerClick) String() string { func (*CDOTAUserMsg_SpectatorPlayerClick) ProtoMessage() {} func (x *CDOTAUserMsg_SpectatorPlayerClick) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[34] + mi := &file_dota_usermessages_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4426,7 +4558,7 @@ func (x *CDOTAUserMsg_SpectatorPlayerClick) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_SpectatorPlayerClick.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SpectatorPlayerClick) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{34} + return file_dota_usermessages_proto_rawDescGZIP(), []int{35} } func (x *CDOTAUserMsg_SpectatorPlayerClick) GetEntindex() int32 { @@ -4469,7 +4601,7 @@ type CDOTAUserMsg_SpectatorPlayerUnitOrders struct { func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) Reset() { *x = CDOTAUserMsg_SpectatorPlayerUnitOrders{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[35] + mi := &file_dota_usermessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4482,7 +4614,7 @@ func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) String() string { func (*CDOTAUserMsg_SpectatorPlayerUnitOrders) ProtoMessage() {} func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[35] + mi := &file_dota_usermessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4495,7 +4627,7 @@ func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) ProtoReflect() protoreflect.Mes // Deprecated: Use CDOTAUserMsg_SpectatorPlayerUnitOrders.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SpectatorPlayerUnitOrders) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{35} + return file_dota_usermessages_proto_rawDescGZIP(), []int{36} } func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetEntindex() int32 { @@ -4575,7 +4707,7 @@ type CDOTAUserMsg_NevermoreRequiem struct { func (x *CDOTAUserMsg_NevermoreRequiem) Reset() { *x = CDOTAUserMsg_NevermoreRequiem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[36] + mi := &file_dota_usermessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4588,7 +4720,7 @@ func (x *CDOTAUserMsg_NevermoreRequiem) String() string { func (*CDOTAUserMsg_NevermoreRequiem) ProtoMessage() {} func (x *CDOTAUserMsg_NevermoreRequiem) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[36] + mi := &file_dota_usermessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4601,7 +4733,7 @@ func (x *CDOTAUserMsg_NevermoreRequiem) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_NevermoreRequiem.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_NevermoreRequiem) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{36} + return file_dota_usermessages_proto_rawDescGZIP(), []int{37} } func (x *CDOTAUserMsg_NevermoreRequiem) GetEntityHandle() uint32 { @@ -4644,7 +4776,7 @@ type CDOTAUserMsg_InvalidCommand struct { func (x *CDOTAUserMsg_InvalidCommand) Reset() { *x = CDOTAUserMsg_InvalidCommand{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[37] + mi := &file_dota_usermessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4657,7 +4789,7 @@ func (x *CDOTAUserMsg_InvalidCommand) String() string { func (*CDOTAUserMsg_InvalidCommand) ProtoMessage() {} func (x *CDOTAUserMsg_InvalidCommand) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[37] + mi := &file_dota_usermessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4670,7 +4802,7 @@ func (x *CDOTAUserMsg_InvalidCommand) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_InvalidCommand.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_InvalidCommand) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{37} + return file_dota_usermessages_proto_rawDescGZIP(), []int{38} } func (x *CDOTAUserMsg_InvalidCommand) GetMessage() string { @@ -4699,7 +4831,7 @@ type CDOTAUserMsg_HudError struct { func (x *CDOTAUserMsg_HudError) Reset() { *x = CDOTAUserMsg_HudError{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[38] + mi := &file_dota_usermessages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4712,7 +4844,7 @@ func (x *CDOTAUserMsg_HudError) String() string { func (*CDOTAUserMsg_HudError) ProtoMessage() {} func (x *CDOTAUserMsg_HudError) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[38] + mi := &file_dota_usermessages_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4725,7 +4857,7 @@ func (x *CDOTAUserMsg_HudError) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_HudError.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_HudError) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{38} + return file_dota_usermessages_proto_rawDescGZIP(), []int{39} } func (x *CDOTAUserMsg_HudError) GetOrderId() int32 { @@ -4756,7 +4888,7 @@ type CDOTAUserMsg_SharedCooldown struct { func (x *CDOTAUserMsg_SharedCooldown) Reset() { *x = CDOTAUserMsg_SharedCooldown{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[39] + mi := &file_dota_usermessages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4769,7 +4901,7 @@ func (x *CDOTAUserMsg_SharedCooldown) String() string { func (*CDOTAUserMsg_SharedCooldown) ProtoMessage() {} func (x *CDOTAUserMsg_SharedCooldown) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[39] + mi := &file_dota_usermessages_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4782,7 +4914,7 @@ func (x *CDOTAUserMsg_SharedCooldown) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_SharedCooldown.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SharedCooldown) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{39} + return file_dota_usermessages_proto_rawDescGZIP(), []int{40} } func (x *CDOTAUserMsg_SharedCooldown) GetEntindex() int32 { @@ -4824,7 +4956,7 @@ type CDOTAUserMsg_SetNextAutobuyItem struct { func (x *CDOTAUserMsg_SetNextAutobuyItem) Reset() { *x = CDOTAUserMsg_SetNextAutobuyItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[40] + mi := &file_dota_usermessages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4837,7 +4969,7 @@ func (x *CDOTAUserMsg_SetNextAutobuyItem) String() string { func (*CDOTAUserMsg_SetNextAutobuyItem) ProtoMessage() {} func (x *CDOTAUserMsg_SetNextAutobuyItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[40] + mi := &file_dota_usermessages_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4850,7 +4982,7 @@ func (x *CDOTAUserMsg_SetNextAutobuyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_SetNextAutobuyItem.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SetNextAutobuyItem) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{40} + return file_dota_usermessages_proto_rawDescGZIP(), []int{41} } func (x *CDOTAUserMsg_SetNextAutobuyItem) GetName() string { @@ -4873,7 +5005,7 @@ type CDOTAUserMsg_HalloweenDrops struct { func (x *CDOTAUserMsg_HalloweenDrops) Reset() { *x = CDOTAUserMsg_HalloweenDrops{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[41] + mi := &file_dota_usermessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4886,7 +5018,7 @@ func (x *CDOTAUserMsg_HalloweenDrops) String() string { func (*CDOTAUserMsg_HalloweenDrops) ProtoMessage() {} func (x *CDOTAUserMsg_HalloweenDrops) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[41] + mi := &file_dota_usermessages_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4899,7 +5031,7 @@ func (x *CDOTAUserMsg_HalloweenDrops) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_HalloweenDrops.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_HalloweenDrops) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{41} + return file_dota_usermessages_proto_rawDescGZIP(), []int{42} } func (x *CDOTAUserMsg_HalloweenDrops) GetItemDefs() []uint32 { @@ -4934,7 +5066,7 @@ type CDOTAResponseQuerySerialized struct { func (x *CDOTAResponseQuerySerialized) Reset() { *x = CDOTAResponseQuerySerialized{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[42] + mi := &file_dota_usermessages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4947,7 +5079,7 @@ func (x *CDOTAResponseQuerySerialized) String() string { func (*CDOTAResponseQuerySerialized) ProtoMessage() {} func (x *CDOTAResponseQuerySerialized) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[42] + mi := &file_dota_usermessages_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4960,7 +5092,7 @@ func (x *CDOTAResponseQuerySerialized) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAResponseQuerySerialized.ProtoReflect.Descriptor instead. func (*CDOTAResponseQuerySerialized) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{42} + return file_dota_usermessages_proto_rawDescGZIP(), []int{43} } func (x *CDOTAResponseQuerySerialized) GetFacts() []*CDOTAResponseQuerySerialized_Fact { @@ -4984,7 +5116,7 @@ type CDOTASpeechMatchOnClient struct { func (x *CDOTASpeechMatchOnClient) Reset() { *x = CDOTASpeechMatchOnClient{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[43] + mi := &file_dota_usermessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4997,7 +5129,7 @@ func (x *CDOTASpeechMatchOnClient) String() string { func (*CDOTASpeechMatchOnClient) ProtoMessage() {} func (x *CDOTASpeechMatchOnClient) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[43] + mi := &file_dota_usermessages_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5010,7 +5142,7 @@ func (x *CDOTASpeechMatchOnClient) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTASpeechMatchOnClient.ProtoReflect.Descriptor instead. func (*CDOTASpeechMatchOnClient) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{43} + return file_dota_usermessages_proto_rawDescGZIP(), []int{44} } func (x *CDOTASpeechMatchOnClient) GetSpeechConcept() int32 { @@ -5060,7 +5192,7 @@ type CDOTAUserMsg_UnitEvent struct { func (x *CDOTAUserMsg_UnitEvent) Reset() { *x = CDOTAUserMsg_UnitEvent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[44] + mi := &file_dota_usermessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5073,7 +5205,7 @@ func (x *CDOTAUserMsg_UnitEvent) String() string { func (*CDOTAUserMsg_UnitEvent) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[44] + mi := &file_dota_usermessages_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5086,7 +5218,7 @@ func (x *CDOTAUserMsg_UnitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_UnitEvent.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45} } func (x *CDOTAUserMsg_UnitEvent) GetMsgType() EDotaEntityMessages { @@ -5163,7 +5295,7 @@ type CDOTAUserMsg_ItemPurchased struct { func (x *CDOTAUserMsg_ItemPurchased) Reset() { *x = CDOTAUserMsg_ItemPurchased{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[45] + mi := &file_dota_usermessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5176,7 +5308,7 @@ func (x *CDOTAUserMsg_ItemPurchased) String() string { func (*CDOTAUserMsg_ItemPurchased) ProtoMessage() {} func (x *CDOTAUserMsg_ItemPurchased) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[45] + mi := &file_dota_usermessages_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5189,7 +5321,7 @@ func (x *CDOTAUserMsg_ItemPurchased) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ItemPurchased.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ItemPurchased) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{45} + return file_dota_usermessages_proto_rawDescGZIP(), []int{46} } func (x *CDOTAUserMsg_ItemPurchased) GetItemAbilityId() int32 { @@ -5210,7 +5342,7 @@ type CDOTAUserMsg_ItemSold struct { func (x *CDOTAUserMsg_ItemSold) Reset() { *x = CDOTAUserMsg_ItemSold{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[46] + mi := &file_dota_usermessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5223,7 +5355,7 @@ func (x *CDOTAUserMsg_ItemSold) String() string { func (*CDOTAUserMsg_ItemSold) ProtoMessage() {} func (x *CDOTAUserMsg_ItemSold) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[46] + mi := &file_dota_usermessages_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5236,7 +5368,7 @@ func (x *CDOTAUserMsg_ItemSold) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ItemSold.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ItemSold) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{46} + return file_dota_usermessages_proto_rawDescGZIP(), []int{47} } func (x *CDOTAUserMsg_ItemSold) GetItemAbilityId() int32 { @@ -5261,7 +5393,7 @@ type CDOTAUserMsg_ItemFound struct { func (x *CDOTAUserMsg_ItemFound) Reset() { *x = CDOTAUserMsg_ItemFound{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[47] + mi := &file_dota_usermessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5274,7 +5406,7 @@ func (x *CDOTAUserMsg_ItemFound) String() string { func (*CDOTAUserMsg_ItemFound) ProtoMessage() {} func (x *CDOTAUserMsg_ItemFound) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[47] + mi := &file_dota_usermessages_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5287,7 +5419,7 @@ func (x *CDOTAUserMsg_ItemFound) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ItemFound.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ItemFound) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{47} + return file_dota_usermessages_proto_rawDescGZIP(), []int{48} } func (x *CDOTAUserMsg_ItemFound) GetPlayer() int32 { @@ -5340,7 +5472,7 @@ type CDOTAUserMsg_OverheadEvent struct { func (x *CDOTAUserMsg_OverheadEvent) Reset() { *x = CDOTAUserMsg_OverheadEvent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[48] + mi := &file_dota_usermessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5353,7 +5485,7 @@ func (x *CDOTAUserMsg_OverheadEvent) String() string { func (*CDOTAUserMsg_OverheadEvent) ProtoMessage() {} func (x *CDOTAUserMsg_OverheadEvent) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[48] + mi := &file_dota_usermessages_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5366,7 +5498,7 @@ func (x *CDOTAUserMsg_OverheadEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_OverheadEvent.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_OverheadEvent) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{48} + return file_dota_usermessages_proto_rawDescGZIP(), []int{49} } func (x *CDOTAUserMsg_OverheadEvent) GetMessageType() DOTA_OVERHEAD_ALERT { @@ -5416,7 +5548,7 @@ type CDOTAUserMsg_TutorialTipInfo struct { func (x *CDOTAUserMsg_TutorialTipInfo) Reset() { *x = CDOTAUserMsg_TutorialTipInfo{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[49] + mi := &file_dota_usermessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5429,7 +5561,7 @@ func (x *CDOTAUserMsg_TutorialTipInfo) String() string { func (*CDOTAUserMsg_TutorialTipInfo) ProtoMessage() {} func (x *CDOTAUserMsg_TutorialTipInfo) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[49] + mi := &file_dota_usermessages_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5442,7 +5574,7 @@ func (x *CDOTAUserMsg_TutorialTipInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TutorialTipInfo.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TutorialTipInfo) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{49} + return file_dota_usermessages_proto_rawDescGZIP(), []int{50} } func (x *CDOTAUserMsg_TutorialTipInfo) GetName() string { @@ -5473,7 +5605,7 @@ type CDOTAUserMsg_TutorialFinish struct { func (x *CDOTAUserMsg_TutorialFinish) Reset() { *x = CDOTAUserMsg_TutorialFinish{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[50] + mi := &file_dota_usermessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5486,7 +5618,7 @@ func (x *CDOTAUserMsg_TutorialFinish) String() string { func (*CDOTAUserMsg_TutorialFinish) ProtoMessage() {} func (x *CDOTAUserMsg_TutorialFinish) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[50] + mi := &file_dota_usermessages_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5499,7 +5631,7 @@ func (x *CDOTAUserMsg_TutorialFinish) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TutorialFinish.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TutorialFinish) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{50} + return file_dota_usermessages_proto_rawDescGZIP(), []int{51} } func (x *CDOTAUserMsg_TutorialFinish) GetHeading() string { @@ -5539,7 +5671,7 @@ type CDOTAUserMsg_TutorialMinimapPosition struct { func (x *CDOTAUserMsg_TutorialMinimapPosition) Reset() { *x = CDOTAUserMsg_TutorialMinimapPosition{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[51] + mi := &file_dota_usermessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5552,7 +5684,7 @@ func (x *CDOTAUserMsg_TutorialMinimapPosition) String() string { func (*CDOTAUserMsg_TutorialMinimapPosition) ProtoMessage() {} func (x *CDOTAUserMsg_TutorialMinimapPosition) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[51] + mi := &file_dota_usermessages_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5565,7 +5697,7 @@ func (x *CDOTAUserMsg_TutorialMinimapPosition) ProtoReflect() protoreflect.Messa // Deprecated: Use CDOTAUserMsg_TutorialMinimapPosition.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TutorialMinimapPosition) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{51} + return file_dota_usermessages_proto_rawDescGZIP(), []int{52} } type CDOTAUserMsg_SendGenericToolTip struct { @@ -5582,7 +5714,7 @@ type CDOTAUserMsg_SendGenericToolTip struct { func (x *CDOTAUserMsg_SendGenericToolTip) Reset() { *x = CDOTAUserMsg_SendGenericToolTip{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[52] + mi := &file_dota_usermessages_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5595,7 +5727,7 @@ func (x *CDOTAUserMsg_SendGenericToolTip) String() string { func (*CDOTAUserMsg_SendGenericToolTip) ProtoMessage() {} func (x *CDOTAUserMsg_SendGenericToolTip) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[52] + mi := &file_dota_usermessages_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5608,7 +5740,7 @@ func (x *CDOTAUserMsg_SendGenericToolTip) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_SendGenericToolTip.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SendGenericToolTip) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{52} + return file_dota_usermessages_proto_rawDescGZIP(), []int{53} } func (x *CDOTAUserMsg_SendGenericToolTip) GetTitle() string { @@ -5651,7 +5783,7 @@ type CDOTAUserMsg_WorldLine struct { func (x *CDOTAUserMsg_WorldLine) Reset() { *x = CDOTAUserMsg_WorldLine{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[53] + mi := &file_dota_usermessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5664,7 +5796,7 @@ func (x *CDOTAUserMsg_WorldLine) String() string { func (*CDOTAUserMsg_WorldLine) ProtoMessage() {} func (x *CDOTAUserMsg_WorldLine) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[53] + mi := &file_dota_usermessages_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5677,7 +5809,7 @@ func (x *CDOTAUserMsg_WorldLine) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_WorldLine.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_WorldLine) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{53} + return file_dota_usermessages_proto_rawDescGZIP(), []int{54} } func (x *CDOTAUserMsg_WorldLine) GetPlayerId() int32 { @@ -5709,7 +5841,7 @@ type CDOTAUserMsg_ChatWheel struct { func (x *CDOTAUserMsg_ChatWheel) Reset() { *x = CDOTAUserMsg_ChatWheel{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[54] + mi := &file_dota_usermessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5722,7 +5854,7 @@ func (x *CDOTAUserMsg_ChatWheel) String() string { func (*CDOTAUserMsg_ChatWheel) ProtoMessage() {} func (x *CDOTAUserMsg_ChatWheel) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[54] + mi := &file_dota_usermessages_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5735,7 +5867,7 @@ func (x *CDOTAUserMsg_ChatWheel) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ChatWheel.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ChatWheel) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{54} + return file_dota_usermessages_proto_rawDescGZIP(), []int{55} } func (x *CDOTAUserMsg_ChatWheel) GetChatMessageId() uint32 { @@ -5786,7 +5918,7 @@ type CDOTAUserMsg_ReceivedXmasGift struct { func (x *CDOTAUserMsg_ReceivedXmasGift) Reset() { *x = CDOTAUserMsg_ReceivedXmasGift{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[55] + mi := &file_dota_usermessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5799,7 +5931,7 @@ func (x *CDOTAUserMsg_ReceivedXmasGift) String() string { func (*CDOTAUserMsg_ReceivedXmasGift) ProtoMessage() {} func (x *CDOTAUserMsg_ReceivedXmasGift) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[55] + mi := &file_dota_usermessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5812,7 +5944,7 @@ func (x *CDOTAUserMsg_ReceivedXmasGift) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ReceivedXmasGift.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ReceivedXmasGift) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{55} + return file_dota_usermessages_proto_rawDescGZIP(), []int{56} } func (x *CDOTAUserMsg_ReceivedXmasGift) GetPlayerId() int32 { @@ -5852,7 +5984,7 @@ type CDOTAUserMsg_ShowSurvey struct { func (x *CDOTAUserMsg_ShowSurvey) Reset() { *x = CDOTAUserMsg_ShowSurvey{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[56] + mi := &file_dota_usermessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5865,7 +5997,7 @@ func (x *CDOTAUserMsg_ShowSurvey) String() string { func (*CDOTAUserMsg_ShowSurvey) ProtoMessage() {} func (x *CDOTAUserMsg_ShowSurvey) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[56] + mi := &file_dota_usermessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5878,7 +6010,7 @@ func (x *CDOTAUserMsg_ShowSurvey) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ShowSurvey.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ShowSurvey) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{56} + return file_dota_usermessages_proto_rawDescGZIP(), []int{57} } func (x *CDOTAUserMsg_ShowSurvey) GetSurveyId() int32 { @@ -5934,7 +6066,7 @@ type CDOTAUserMsg_UpdateSharedContent struct { func (x *CDOTAUserMsg_UpdateSharedContent) Reset() { *x = CDOTAUserMsg_UpdateSharedContent{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[57] + mi := &file_dota_usermessages_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5947,7 +6079,7 @@ func (x *CDOTAUserMsg_UpdateSharedContent) String() string { func (*CDOTAUserMsg_UpdateSharedContent) ProtoMessage() {} func (x *CDOTAUserMsg_UpdateSharedContent) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[57] + mi := &file_dota_usermessages_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5960,7 +6092,7 @@ func (x *CDOTAUserMsg_UpdateSharedContent) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_UpdateSharedContent.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UpdateSharedContent) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{57} + return file_dota_usermessages_proto_rawDescGZIP(), []int{58} } func (x *CDOTAUserMsg_UpdateSharedContent) GetSlotType() int32 { @@ -5979,7 +6111,7 @@ type CDOTAUserMsg_TutorialRequestExp struct { func (x *CDOTAUserMsg_TutorialRequestExp) Reset() { *x = CDOTAUserMsg_TutorialRequestExp{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[58] + mi := &file_dota_usermessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5992,7 +6124,7 @@ func (x *CDOTAUserMsg_TutorialRequestExp) String() string { func (*CDOTAUserMsg_TutorialRequestExp) ProtoMessage() {} func (x *CDOTAUserMsg_TutorialRequestExp) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[58] + mi := &file_dota_usermessages_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6005,7 +6137,7 @@ func (x *CDOTAUserMsg_TutorialRequestExp) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TutorialRequestExp.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TutorialRequestExp) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{58} + return file_dota_usermessages_proto_rawDescGZIP(), []int{59} } type CDOTAUserMsg_TutorialFade struct { @@ -6019,7 +6151,7 @@ type CDOTAUserMsg_TutorialFade struct { func (x *CDOTAUserMsg_TutorialFade) Reset() { *x = CDOTAUserMsg_TutorialFade{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[59] + mi := &file_dota_usermessages_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6032,7 +6164,7 @@ func (x *CDOTAUserMsg_TutorialFade) String() string { func (*CDOTAUserMsg_TutorialFade) ProtoMessage() {} func (x *CDOTAUserMsg_TutorialFade) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[59] + mi := &file_dota_usermessages_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6045,7 +6177,7 @@ func (x *CDOTAUserMsg_TutorialFade) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TutorialFade.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TutorialFade) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{59} + return file_dota_usermessages_proto_rawDescGZIP(), []int{60} } func (x *CDOTAUserMsg_TutorialFade) GetTgtAlpha() int32 { @@ -6070,7 +6202,7 @@ type CDOTAUserMsg_TutorialPingMinimap struct { func (x *CDOTAUserMsg_TutorialPingMinimap) Reset() { *x = CDOTAUserMsg_TutorialPingMinimap{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[60] + mi := &file_dota_usermessages_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6083,7 +6215,7 @@ func (x *CDOTAUserMsg_TutorialPingMinimap) String() string { func (*CDOTAUserMsg_TutorialPingMinimap) ProtoMessage() {} func (x *CDOTAUserMsg_TutorialPingMinimap) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[60] + mi := &file_dota_usermessages_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6096,7 +6228,7 @@ func (x *CDOTAUserMsg_TutorialPingMinimap) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TutorialPingMinimap.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TutorialPingMinimap) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{60} + return file_dota_usermessages_proto_rawDescGZIP(), []int{61} } func (x *CDOTAUserMsg_TutorialPingMinimap) GetPlayerId() int32 { @@ -6145,7 +6277,7 @@ type CDOTAUserMsg_GamerulesStateChanged struct { func (x *CDOTAUserMsg_GamerulesStateChanged) Reset() { *x = CDOTAUserMsg_GamerulesStateChanged{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[61] + mi := &file_dota_usermessages_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6158,7 +6290,7 @@ func (x *CDOTAUserMsg_GamerulesStateChanged) String() string { func (*CDOTAUserMsg_GamerulesStateChanged) ProtoMessage() {} func (x *CDOTAUserMsg_GamerulesStateChanged) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[61] + mi := &file_dota_usermessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6171,7 +6303,7 @@ func (x *CDOTAUserMsg_GamerulesStateChanged) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_GamerulesStateChanged.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_GamerulesStateChanged) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{61} + return file_dota_usermessages_proto_rawDescGZIP(), []int{62} } func (x *CDOTAUserMsg_GamerulesStateChanged) GetState() uint32 { @@ -6193,7 +6325,7 @@ type CDOTAUserMsg_AddQuestLogEntry struct { func (x *CDOTAUserMsg_AddQuestLogEntry) Reset() { *x = CDOTAUserMsg_AddQuestLogEntry{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[62] + mi := &file_dota_usermessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6206,7 +6338,7 @@ func (x *CDOTAUserMsg_AddQuestLogEntry) String() string { func (*CDOTAUserMsg_AddQuestLogEntry) ProtoMessage() {} func (x *CDOTAUserMsg_AddQuestLogEntry) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[62] + mi := &file_dota_usermessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6219,7 +6351,7 @@ func (x *CDOTAUserMsg_AddQuestLogEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_AddQuestLogEntry.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_AddQuestLogEntry) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{62} + return file_dota_usermessages_proto_rawDescGZIP(), []int{63} } func (x *CDOTAUserMsg_AddQuestLogEntry) GetNpcName() string { @@ -6248,7 +6380,7 @@ type CDOTAUserMsg_SendStatPopup struct { func (x *CDOTAUserMsg_SendStatPopup) Reset() { *x = CDOTAUserMsg_SendStatPopup{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[63] + mi := &file_dota_usermessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6261,7 +6393,7 @@ func (x *CDOTAUserMsg_SendStatPopup) String() string { func (*CDOTAUserMsg_SendStatPopup) ProtoMessage() {} func (x *CDOTAUserMsg_SendStatPopup) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[63] + mi := &file_dota_usermessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6274,7 +6406,7 @@ func (x *CDOTAUserMsg_SendStatPopup) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_SendStatPopup.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SendStatPopup) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{63} + return file_dota_usermessages_proto_rawDescGZIP(), []int{64} } func (x *CDOTAUserMsg_SendStatPopup) GetPlayerId() int32 { @@ -6302,7 +6434,7 @@ type CDOTAUserMsg_DismissAllStatPopups struct { func (x *CDOTAUserMsg_DismissAllStatPopups) Reset() { *x = CDOTAUserMsg_DismissAllStatPopups{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[64] + mi := &file_dota_usermessages_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6315,7 +6447,7 @@ func (x *CDOTAUserMsg_DismissAllStatPopups) String() string { func (*CDOTAUserMsg_DismissAllStatPopups) ProtoMessage() {} func (x *CDOTAUserMsg_DismissAllStatPopups) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[64] + mi := &file_dota_usermessages_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6328,7 +6460,7 @@ func (x *CDOTAUserMsg_DismissAllStatPopups) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_DismissAllStatPopups.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_DismissAllStatPopups) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{64} + return file_dota_usermessages_proto_rawDescGZIP(), []int{65} } func (x *CDOTAUserMsg_DismissAllStatPopups) GetDismissallmsg() *CDOTAMsg_DismissAllStatPopups { @@ -6351,7 +6483,7 @@ type CDOTAUserMsg_SendRoshanSpectatorPhase struct { func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) Reset() { *x = CDOTAUserMsg_SendRoshanSpectatorPhase{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[65] + mi := &file_dota_usermessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6364,7 +6496,7 @@ func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) String() string { func (*CDOTAUserMsg_SendRoshanSpectatorPhase) ProtoMessage() {} func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[65] + mi := &file_dota_usermessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6377,7 +6509,7 @@ func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) ProtoReflect() protoreflect.Mess // Deprecated: Use CDOTAUserMsg_SendRoshanSpectatorPhase.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SendRoshanSpectatorPhase) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{65} + return file_dota_usermessages_proto_rawDescGZIP(), []int{66} } func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) GetPhase() DOTA_ROSHAN_PHASE { @@ -6413,7 +6545,7 @@ type CDOTAUserMsg_SendRoshanPopup struct { func (x *CDOTAUserMsg_SendRoshanPopup) Reset() { *x = CDOTAUserMsg_SendRoshanPopup{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[66] + mi := &file_dota_usermessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6426,7 +6558,7 @@ func (x *CDOTAUserMsg_SendRoshanPopup) String() string { func (*CDOTAUserMsg_SendRoshanPopup) ProtoMessage() {} func (x *CDOTAUserMsg_SendRoshanPopup) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[66] + mi := &file_dota_usermessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6439,7 +6571,7 @@ func (x *CDOTAUserMsg_SendRoshanPopup) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_SendRoshanPopup.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SendRoshanPopup) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{66} + return file_dota_usermessages_proto_rawDescGZIP(), []int{67} } func (x *CDOTAUserMsg_SendRoshanPopup) GetReclaimed() bool { @@ -6468,7 +6600,7 @@ type CDOTAUserMsg_SendFinalGold struct { func (x *CDOTAUserMsg_SendFinalGold) Reset() { *x = CDOTAUserMsg_SendFinalGold{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[67] + mi := &file_dota_usermessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6481,7 +6613,7 @@ func (x *CDOTAUserMsg_SendFinalGold) String() string { func (*CDOTAUserMsg_SendFinalGold) ProtoMessage() {} func (x *CDOTAUserMsg_SendFinalGold) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[67] + mi := &file_dota_usermessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6494,7 +6626,7 @@ func (x *CDOTAUserMsg_SendFinalGold) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_SendFinalGold.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_SendFinalGold) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{67} + return file_dota_usermessages_proto_rawDescGZIP(), []int{68} } func (x *CDOTAUserMsg_SendFinalGold) GetReliableGold() []uint32 { @@ -6524,7 +6656,7 @@ type CDOTAUserMsg_CustomMsg struct { func (x *CDOTAUserMsg_CustomMsg) Reset() { *x = CDOTAUserMsg_CustomMsg{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[68] + mi := &file_dota_usermessages_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6537,7 +6669,7 @@ func (x *CDOTAUserMsg_CustomMsg) String() string { func (*CDOTAUserMsg_CustomMsg) ProtoMessage() {} func (x *CDOTAUserMsg_CustomMsg) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[68] + mi := &file_dota_usermessages_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6550,7 +6682,7 @@ func (x *CDOTAUserMsg_CustomMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_CustomMsg.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_CustomMsg) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{68} + return file_dota_usermessages_proto_rawDescGZIP(), []int{69} } func (x *CDOTAUserMsg_CustomMsg) GetMessage() string { @@ -6586,7 +6718,7 @@ type CDOTAUserMsg_CoachHUDPing struct { func (x *CDOTAUserMsg_CoachHUDPing) Reset() { *x = CDOTAUserMsg_CoachHUDPing{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[69] + mi := &file_dota_usermessages_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6599,7 +6731,7 @@ func (x *CDOTAUserMsg_CoachHUDPing) String() string { func (*CDOTAUserMsg_CoachHUDPing) ProtoMessage() {} func (x *CDOTAUserMsg_CoachHUDPing) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[69] + mi := &file_dota_usermessages_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6612,7 +6744,7 @@ func (x *CDOTAUserMsg_CoachHUDPing) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_CoachHUDPing.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_CoachHUDPing) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{69} + return file_dota_usermessages_proto_rawDescGZIP(), []int{70} } func (x *CDOTAUserMsg_CoachHUDPing) GetPlayerId() int32 { @@ -6638,7 +6770,7 @@ type CDOTAUserMsg_ClientLoadGridNav struct { func (x *CDOTAUserMsg_ClientLoadGridNav) Reset() { *x = CDOTAUserMsg_ClientLoadGridNav{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[70] + mi := &file_dota_usermessages_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6651,7 +6783,7 @@ func (x *CDOTAUserMsg_ClientLoadGridNav) String() string { func (*CDOTAUserMsg_ClientLoadGridNav) ProtoMessage() {} func (x *CDOTAUserMsg_ClientLoadGridNav) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[70] + mi := &file_dota_usermessages_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6664,7 +6796,7 @@ func (x *CDOTAUserMsg_ClientLoadGridNav) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ClientLoadGridNav.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ClientLoadGridNav) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{70} + return file_dota_usermessages_proto_rawDescGZIP(), []int{71} } type CDOTAUserMsg_TE_Projectile struct { @@ -6694,7 +6826,7 @@ type CDOTAUserMsg_TE_Projectile struct { func (x *CDOTAUserMsg_TE_Projectile) Reset() { *x = CDOTAUserMsg_TE_Projectile{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[71] + mi := &file_dota_usermessages_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6707,7 +6839,7 @@ func (x *CDOTAUserMsg_TE_Projectile) String() string { func (*CDOTAUserMsg_TE_Projectile) ProtoMessage() {} func (x *CDOTAUserMsg_TE_Projectile) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[71] + mi := &file_dota_usermessages_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6720,7 +6852,7 @@ func (x *CDOTAUserMsg_TE_Projectile) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TE_Projectile.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TE_Projectile) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{71} + return file_dota_usermessages_proto_rawDescGZIP(), []int{72} } func (x *CDOTAUserMsg_TE_Projectile) GetSource() uint32 { @@ -6868,7 +7000,7 @@ type CDOTAUserMsg_TE_ProjectileLoc struct { func (x *CDOTAUserMsg_TE_ProjectileLoc) Reset() { *x = CDOTAUserMsg_TE_ProjectileLoc{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[72] + mi := &file_dota_usermessages_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6881,7 +7013,7 @@ func (x *CDOTAUserMsg_TE_ProjectileLoc) String() string { func (*CDOTAUserMsg_TE_ProjectileLoc) ProtoMessage() {} func (x *CDOTAUserMsg_TE_ProjectileLoc) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[72] + mi := &file_dota_usermessages_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6894,7 +7026,7 @@ func (x *CDOTAUserMsg_TE_ProjectileLoc) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TE_ProjectileLoc.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TE_ProjectileLoc) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{72} + return file_dota_usermessages_proto_rawDescGZIP(), []int{73} } func (x *CDOTAUserMsg_TE_ProjectileLoc) GetSourceLoc() *CMsgVector { @@ -7020,7 +7152,7 @@ type CDOTAUserMsg_TE_DestroyProjectile struct { func (x *CDOTAUserMsg_TE_DestroyProjectile) Reset() { *x = CDOTAUserMsg_TE_DestroyProjectile{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[73] + mi := &file_dota_usermessages_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7033,7 +7165,7 @@ func (x *CDOTAUserMsg_TE_DestroyProjectile) String() string { func (*CDOTAUserMsg_TE_DestroyProjectile) ProtoMessage() {} func (x *CDOTAUserMsg_TE_DestroyProjectile) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[73] + mi := &file_dota_usermessages_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7046,7 +7178,7 @@ func (x *CDOTAUserMsg_TE_DestroyProjectile) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_TE_DestroyProjectile.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TE_DestroyProjectile) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{73} + return file_dota_usermessages_proto_rawDescGZIP(), []int{74} } func (x *CDOTAUserMsg_TE_DestroyProjectile) GetHandle() int32 { @@ -7070,7 +7202,7 @@ type CDOTAUserMsg_TE_DotaBloodImpact struct { func (x *CDOTAUserMsg_TE_DotaBloodImpact) Reset() { *x = CDOTAUserMsg_TE_DotaBloodImpact{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[74] + mi := &file_dota_usermessages_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7083,7 +7215,7 @@ func (x *CDOTAUserMsg_TE_DotaBloodImpact) String() string { func (*CDOTAUserMsg_TE_DotaBloodImpact) ProtoMessage() {} func (x *CDOTAUserMsg_TE_DotaBloodImpact) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[74] + mi := &file_dota_usermessages_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7096,7 +7228,7 @@ func (x *CDOTAUserMsg_TE_DotaBloodImpact) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TE_DotaBloodImpact.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TE_DotaBloodImpact) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{74} + return file_dota_usermessages_proto_rawDescGZIP(), []int{75} } func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetEntity() uint32 { @@ -7150,7 +7282,7 @@ type CDOTAUserMsg_AbilityPing struct { func (x *CDOTAUserMsg_AbilityPing) Reset() { *x = CDOTAUserMsg_AbilityPing{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[75] + mi := &file_dota_usermessages_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7163,7 +7295,7 @@ func (x *CDOTAUserMsg_AbilityPing) String() string { func (*CDOTAUserMsg_AbilityPing) ProtoMessage() {} func (x *CDOTAUserMsg_AbilityPing) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[75] + mi := &file_dota_usermessages_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7176,7 +7308,7 @@ func (x *CDOTAUserMsg_AbilityPing) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_AbilityPing.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_AbilityPing) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{75} + return file_dota_usermessages_proto_rawDescGZIP(), []int{76} } func (x *CDOTAUserMsg_AbilityPing) GetPlayerId() int32 { @@ -7287,7 +7419,7 @@ type CDOTAUserMsg_TE_UnitAnimation struct { func (x *CDOTAUserMsg_TE_UnitAnimation) Reset() { *x = CDOTAUserMsg_TE_UnitAnimation{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[76] + mi := &file_dota_usermessages_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7300,7 +7432,7 @@ func (x *CDOTAUserMsg_TE_UnitAnimation) String() string { func (*CDOTAUserMsg_TE_UnitAnimation) ProtoMessage() {} func (x *CDOTAUserMsg_TE_UnitAnimation) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[76] + mi := &file_dota_usermessages_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7313,7 +7445,7 @@ func (x *CDOTAUserMsg_TE_UnitAnimation) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TE_UnitAnimation.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TE_UnitAnimation) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{76} + return file_dota_usermessages_proto_rawDescGZIP(), []int{77} } func (x *CDOTAUserMsg_TE_UnitAnimation) GetEntity() uint32 { @@ -7377,7 +7509,7 @@ type CDOTAUserMsg_TE_UnitAnimationEnd struct { func (x *CDOTAUserMsg_TE_UnitAnimationEnd) Reset() { *x = CDOTAUserMsg_TE_UnitAnimationEnd{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[77] + mi := &file_dota_usermessages_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7390,7 +7522,7 @@ func (x *CDOTAUserMsg_TE_UnitAnimationEnd) String() string { func (*CDOTAUserMsg_TE_UnitAnimationEnd) ProtoMessage() {} func (x *CDOTAUserMsg_TE_UnitAnimationEnd) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[77] + mi := &file_dota_usermessages_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7403,7 +7535,7 @@ func (x *CDOTAUserMsg_TE_UnitAnimationEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_TE_UnitAnimationEnd.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_TE_UnitAnimationEnd) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{77} + return file_dota_usermessages_proto_rawDescGZIP(), []int{78} } func (x *CDOTAUserMsg_TE_UnitAnimationEnd) GetEntity() uint32 { @@ -7436,7 +7568,7 @@ type CDOTAUserMsg_ShowGenericPopup struct { func (x *CDOTAUserMsg_ShowGenericPopup) Reset() { *x = CDOTAUserMsg_ShowGenericPopup{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[78] + mi := &file_dota_usermessages_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7449,7 +7581,7 @@ func (x *CDOTAUserMsg_ShowGenericPopup) String() string { func (*CDOTAUserMsg_ShowGenericPopup) ProtoMessage() {} func (x *CDOTAUserMsg_ShowGenericPopup) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[78] + mi := &file_dota_usermessages_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7462,7 +7594,7 @@ func (x *CDOTAUserMsg_ShowGenericPopup) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_ShowGenericPopup.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_ShowGenericPopup) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{78} + return file_dota_usermessages_proto_rawDescGZIP(), []int{79} } func (x *CDOTAUserMsg_ShowGenericPopup) GetHeader() string { @@ -7521,7 +7653,7 @@ type CDOTAUserMsg_VoteStart struct { func (x *CDOTAUserMsg_VoteStart) Reset() { *x = CDOTAUserMsg_VoteStart{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[79] + mi := &file_dota_usermessages_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7534,7 +7666,7 @@ func (x *CDOTAUserMsg_VoteStart) String() string { func (*CDOTAUserMsg_VoteStart) ProtoMessage() {} func (x *CDOTAUserMsg_VoteStart) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[79] + mi := &file_dota_usermessages_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7547,7 +7679,7 @@ func (x *CDOTAUserMsg_VoteStart) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_VoteStart.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_VoteStart) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{79} + return file_dota_usermessages_proto_rawDescGZIP(), []int{80} } func (x *CDOTAUserMsg_VoteStart) GetTitle() string { @@ -7589,7 +7721,7 @@ type CDOTAUserMsg_VoteUpdate struct { func (x *CDOTAUserMsg_VoteUpdate) Reset() { *x = CDOTAUserMsg_VoteUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[80] + mi := &file_dota_usermessages_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7602,7 +7734,7 @@ func (x *CDOTAUserMsg_VoteUpdate) String() string { func (*CDOTAUserMsg_VoteUpdate) ProtoMessage() {} func (x *CDOTAUserMsg_VoteUpdate) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[80] + mi := &file_dota_usermessages_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7615,7 +7747,7 @@ func (x *CDOTAUserMsg_VoteUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_VoteUpdate.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_VoteUpdate) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{80} + return file_dota_usermessages_proto_rawDescGZIP(), []int{81} } func (x *CDOTAUserMsg_VoteUpdate) GetChoiceCounts() []int32 { @@ -7636,7 +7768,7 @@ type CDOTAUserMsg_VoteEnd struct { func (x *CDOTAUserMsg_VoteEnd) Reset() { *x = CDOTAUserMsg_VoteEnd{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[81] + mi := &file_dota_usermessages_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7649,7 +7781,7 @@ func (x *CDOTAUserMsg_VoteEnd) String() string { func (*CDOTAUserMsg_VoteEnd) ProtoMessage() {} func (x *CDOTAUserMsg_VoteEnd) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[81] + mi := &file_dota_usermessages_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7662,7 +7794,7 @@ func (x *CDOTAUserMsg_VoteEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_VoteEnd.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_VoteEnd) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{81} + return file_dota_usermessages_proto_rawDescGZIP(), []int{82} } func (x *CDOTAUserMsg_VoteEnd) GetSelectedChoice() int32 { @@ -7687,7 +7819,7 @@ type CDOTAUserMsg_BoosterStatePlayer struct { func (x *CDOTAUserMsg_BoosterStatePlayer) Reset() { *x = CDOTAUserMsg_BoosterStatePlayer{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[82] + mi := &file_dota_usermessages_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7700,7 +7832,7 @@ func (x *CDOTAUserMsg_BoosterStatePlayer) String() string { func (*CDOTAUserMsg_BoosterStatePlayer) ProtoMessage() {} func (x *CDOTAUserMsg_BoosterStatePlayer) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[82] + mi := &file_dota_usermessages_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7713,7 +7845,7 @@ func (x *CDOTAUserMsg_BoosterStatePlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_BoosterStatePlayer.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_BoosterStatePlayer) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{82} + return file_dota_usermessages_proto_rawDescGZIP(), []int{83} } func (x *CDOTAUserMsg_BoosterStatePlayer) GetPlayerId() int32 { @@ -7762,7 +7894,7 @@ type CDOTAUserMsg_BoosterState struct { func (x *CDOTAUserMsg_BoosterState) Reset() { *x = CDOTAUserMsg_BoosterState{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[83] + mi := &file_dota_usermessages_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7775,7 +7907,7 @@ func (x *CDOTAUserMsg_BoosterState) String() string { func (*CDOTAUserMsg_BoosterState) ProtoMessage() {} func (x *CDOTAUserMsg_BoosterState) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[83] + mi := &file_dota_usermessages_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7788,7 +7920,7 @@ func (x *CDOTAUserMsg_BoosterState) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_BoosterState.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_BoosterState) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{83} + return file_dota_usermessages_proto_rawDescGZIP(), []int{84} } func (x *CDOTAUserMsg_BoosterState) GetBoostedPlayers() []*CDOTAUserMsg_BoosterStatePlayer { @@ -7798,53 +7930,6 @@ func (x *CDOTAUserMsg_BoosterState) GetBoostedPlayers() []*CDOTAUserMsg_BoosterS return nil } -type CDOTAUserMsg_PlayerMMR struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mmr []int32 `protobuf:"zigzag32,1,rep,name=mmr" json:"mmr,omitempty"` -} - -func (x *CDOTAUserMsg_PlayerMMR) Reset() { - *x = CDOTAUserMsg_PlayerMMR{} - if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CDOTAUserMsg_PlayerMMR) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CDOTAUserMsg_PlayerMMR) ProtoMessage() {} - -func (x *CDOTAUserMsg_PlayerMMR) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[84] - 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 CDOTAUserMsg_PlayerMMR.ProtoReflect.Descriptor instead. -func (*CDOTAUserMsg_PlayerMMR) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{84} -} - -func (x *CDOTAUserMsg_PlayerMMR) GetMmr() []int32 { - if x != nil { - return x.Mmr - } - return nil -} - type CDOTAUserMsg_AbilitySteal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -10344,6 +10429,7 @@ type CDOTAUserMsg_AbilityDraftRequestAbility struct { PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` RequestedAbilityId *int32 `protobuf:"varint,2,opt,name=requested_ability_id,json=requestedAbilityId" json:"requested_ability_id,omitempty"` CtrlIsDown *bool `protobuf:"varint,3,opt,name=ctrl_is_down,json=ctrlIsDown" json:"ctrl_is_down,omitempty"` + RequestedHeroId *int32 `protobuf:"varint,4,opt,name=requested_hero_id,json=requestedHeroId" json:"requested_hero_id,omitempty"` } func (x *CDOTAUserMsg_AbilityDraftRequestAbility) Reset() { @@ -10399,6 +10485,13 @@ func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetCtrlIsDown() bool { return false } +func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetRequestedHeroId() int32 { + if x != nil && x.RequestedHeroId != nil { + return *x.RequestedHeroId + } + return 0 +} + type CDOTAUserMsg_DamageReport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -11358,10 +11451,12 @@ type CDOTAUserMsg_FoundNeutralItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` - ItemAbilityId *int32 `protobuf:"varint,2,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` - ItemTier *uint32 `protobuf:"varint,3,opt,name=item_tier,json=itemTier" json:"item_tier,omitempty"` - TierItemCount *uint32 `protobuf:"varint,4,opt,name=tier_item_count,json=tierItemCount" json:"tier_item_count,omitempty"` + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ItemAbilityId *int32 `protobuf:"varint,2,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` + ItemTier *uint32 `protobuf:"varint,3,opt,name=item_tier,json=itemTier" json:"item_tier,omitempty"` + TierItemCount *uint32 `protobuf:"varint,4,opt,name=tier_item_count,json=tierItemCount" json:"tier_item_count,omitempty"` + EnhancementAbilityId *int32 `protobuf:"varint,5,opt,name=enhancement_ability_id,json=enhancementAbilityId" json:"enhancement_ability_id,omitempty"` + EnhancementLevel *int32 `protobuf:"varint,6,opt,name=enhancement_level,json=enhancementLevel" json:"enhancement_level,omitempty"` } func (x *CDOTAUserMsg_FoundNeutralItem) Reset() { @@ -11424,6 +11519,20 @@ func (x *CDOTAUserMsg_FoundNeutralItem) GetTierItemCount() uint32 { return 0 } +func (x *CDOTAUserMsg_FoundNeutralItem) GetEnhancementAbilityId() int32 { + if x != nil && x.EnhancementAbilityId != nil { + return *x.EnhancementAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_FoundNeutralItem) GetEnhancementLevel() int32 { + if x != nil && x.EnhancementLevel != nil { + return *x.EnhancementLevel + } + return 0 +} + type CDOTAUserMsg_OutpostCaptured struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -13285,19 +13394,14 @@ func (x *CDOTAUserMsg_InnatePing) GetAllChat() bool { return false } -type CDOTAUserMsg_MiniKillCamInfo_Attacker struct { +type CDOTAUserMsg_NeutralCraftAvailable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Attacker *uint32 `protobuf:"varint,1,opt,name=attacker" json:"attacker,omitempty"` - TotalDamage *int32 `protobuf:"varint,2,opt,name=total_damage,json=totalDamage" json:"total_damage,omitempty"` - Abilities []*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability `protobuf:"bytes,3,rep,name=abilities" json:"abilities,omitempty"` - AttackerName *string `protobuf:"bytes,4,opt,name=attacker_name,json=attackerName" json:"attacker_name,omitempty"` } -func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) Reset() { - *x = CDOTAUserMsg_MiniKillCamInfo_Attacker{} +func (x *CDOTAUserMsg_NeutralCraftAvailable) Reset() { + *x = CDOTAUserMsg_NeutralCraftAvailable{} if protoimpl.UnsafeEnabled { mi := &file_dota_usermessages_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13305,6 +13409,183 @@ func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) Reset() { } } +func (x *CDOTAUserMsg_NeutralCraftAvailable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_NeutralCraftAvailable) ProtoMessage() {} + +func (x *CDOTAUserMsg_NeutralCraftAvailable) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[164] + 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 CDOTAUserMsg_NeutralCraftAvailable.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_NeutralCraftAvailable) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{164} +} + +type CDOTAUserMsg_TimerAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TimerAlertType *ETimerAlertType `protobuf:"varint,2,opt,name=timer_alert_type,json=timerAlertType,enum=dota.ETimerAlertType" json:"timer_alert_type,omitempty"` +} + +func (x *CDOTAUserMsg_TimerAlert) Reset() { + *x = CDOTAUserMsg_TimerAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TimerAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TimerAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_TimerAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[165] + 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 CDOTAUserMsg_TimerAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TimerAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{165} +} + +func (x *CDOTAUserMsg_TimerAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_TimerAlert) GetTimerAlertType() ETimerAlertType { + if x != nil && x.TimerAlertType != nil { + return *x.TimerAlertType + } + return ETimerAlertType_k_TimerAlertType_PowerRune +} + +type CDOTAUserMsg_MadstoneAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TargetEntindex *int32 `protobuf:"varint,2,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` + Tier *int32 `protobuf:"varint,3,opt,name=tier" json:"tier,omitempty"` + MadstoneAlertType *CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType `protobuf:"varint,4,opt,name=madstone_alert_type,json=madstoneAlertType,enum=dota.CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType" json:"madstone_alert_type,omitempty"` + Value *int32 `protobuf:"varint,5,opt,name=value" json:"value,omitempty"` +} + +func (x *CDOTAUserMsg_MadstoneAlert) Reset() { + *x = CDOTAUserMsg_MadstoneAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[166] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MadstoneAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MadstoneAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_MadstoneAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[166] + 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 CDOTAUserMsg_MadstoneAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MadstoneAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{166} +} + +func (x *CDOTAUserMsg_MadstoneAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_MadstoneAlert) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_MadstoneAlert) GetTier() int32 { + if x != nil && x.Tier != nil { + return *x.Tier + } + return 0 +} + +func (x *CDOTAUserMsg_MadstoneAlert) GetMadstoneAlertType() CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType { + if x != nil && x.MadstoneAlertType != nil { + return *x.MadstoneAlertType + } + return CDOTAUserMsg_MadstoneAlert_CraftAvailable +} + +func (x *CDOTAUserMsg_MadstoneAlert) GetValue() int32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +type CDOTAUserMsg_MiniKillCamInfo_Attacker struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attacker *uint32 `protobuf:"varint,1,opt,name=attacker" json:"attacker,omitempty"` + TotalDamage *int32 `protobuf:"varint,2,opt,name=total_damage,json=totalDamage" json:"total_damage,omitempty"` + Abilities []*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability `protobuf:"bytes,3,rep,name=abilities" json:"abilities,omitempty"` + AttackerName *string `protobuf:"bytes,4,opt,name=attacker_name,json=attackerName" json:"attacker_name,omitempty"` +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) Reset() { + *x = CDOTAUserMsg_MiniKillCamInfo_Attacker{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[167] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) String() string { return protoimpl.X.MessageStringOf(x) } @@ -13312,7 +13593,7 @@ func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) String() string { func (*CDOTAUserMsg_MiniKillCamInfo_Attacker) ProtoMessage() {} func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[164] + mi := &file_dota_usermessages_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13368,7 +13649,7 @@ type CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability struct { func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) Reset() { *x = CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[165] + mi := &file_dota_usermessages_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13381,7 +13662,7 @@ func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) String() string { func (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) ProtoMessage() {} func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[165] + mi := &file_dota_usermessages_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13423,7 +13704,7 @@ type CDOTAUserMsg_CourierKilledAlert_LostItem struct { func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) Reset() { *x = CDOTAUserMsg_CourierKilledAlert_LostItem{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[166] + mi := &file_dota_usermessages_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13436,7 +13717,7 @@ func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) String() string { func (*CDOTAUserMsg_CourierKilledAlert_LostItem) ProtoMessage() {} func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[166] + mi := &file_dota_usermessages_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13449,7 +13730,7 @@ func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) ProtoReflect() protoreflect.M // Deprecated: Use CDOTAUserMsg_CourierKilledAlert_LostItem.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_CourierKilledAlert_LostItem) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{27, 0} + return file_dota_usermessages_proto_rawDescGZIP(), []int{28, 0} } func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) GetItemAbilityId() int32 { @@ -13482,7 +13763,7 @@ type CDOTAResponseQuerySerialized_Fact struct { func (x *CDOTAResponseQuerySerialized_Fact) Reset() { *x = CDOTAResponseQuerySerialized_Fact{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[167] + mi := &file_dota_usermessages_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13495,7 +13776,7 @@ func (x *CDOTAResponseQuerySerialized_Fact) String() string { func (*CDOTAResponseQuerySerialized_Fact) ProtoMessage() {} func (x *CDOTAResponseQuerySerialized_Fact) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[167] + mi := &file_dota_usermessages_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13508,7 +13789,7 @@ func (x *CDOTAResponseQuerySerialized_Fact) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAResponseQuerySerialized_Fact.ProtoReflect.Descriptor instead. func (*CDOTAResponseQuerySerialized_Fact) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{42, 0} + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 0} } func (x *CDOTAResponseQuerySerialized_Fact) GetKey() int32 { @@ -13565,7 +13846,7 @@ type CDOTAUserMsg_UnitEvent_Interval struct { func (x *CDOTAUserMsg_UnitEvent_Interval) Reset() { *x = CDOTAUserMsg_UnitEvent_Interval{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[168] + mi := &file_dota_usermessages_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13578,7 +13859,7 @@ func (x *CDOTAUserMsg_UnitEvent_Interval) String() string { func (*CDOTAUserMsg_UnitEvent_Interval) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent_Interval) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[168] + mi := &file_dota_usermessages_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13591,7 +13872,7 @@ func (x *CDOTAUserMsg_UnitEvent_Interval) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_UnitEvent_Interval.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent_Interval) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44, 0} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45, 0} } func (x *CDOTAUserMsg_UnitEvent_Interval) GetStart() float32 { @@ -13619,12 +13900,13 @@ type CDOTAUserMsg_UnitEvent_Speech struct { Muteable *bool `protobuf:"varint,5,opt,name=muteable" json:"muteable,omitempty"` Predelay *CDOTAUserMsg_UnitEvent_Interval `protobuf:"bytes,6,opt,name=predelay" json:"predelay,omitempty"` Flags *uint32 `protobuf:"varint,7,opt,name=flags" json:"flags,omitempty"` + ResponseType *int32 `protobuf:"varint,8,opt,name=response_type,json=responseType" json:"response_type,omitempty"` } func (x *CDOTAUserMsg_UnitEvent_Speech) Reset() { *x = CDOTAUserMsg_UnitEvent_Speech{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[169] + mi := &file_dota_usermessages_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13637,7 +13919,7 @@ func (x *CDOTAUserMsg_UnitEvent_Speech) String() string { func (*CDOTAUserMsg_UnitEvent_Speech) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent_Speech) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[169] + mi := &file_dota_usermessages_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13650,7 +13932,7 @@ func (x *CDOTAUserMsg_UnitEvent_Speech) ProtoReflect() protoreflect.Message { // Deprecated: Use CDOTAUserMsg_UnitEvent_Speech.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent_Speech) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44, 1} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45, 1} } func (x *CDOTAUserMsg_UnitEvent_Speech) GetSpeechConcept() int32 { @@ -13695,6 +13977,13 @@ func (x *CDOTAUserMsg_UnitEvent_Speech) GetFlags() uint32 { return 0 } +func (x *CDOTAUserMsg_UnitEvent_Speech) GetResponseType() int32 { + if x != nil && x.ResponseType != nil { + return *x.ResponseType + } + return 0 +} + type CDOTAUserMsg_UnitEvent_SpeechMute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -13706,7 +13995,7 @@ type CDOTAUserMsg_UnitEvent_SpeechMute struct { func (x *CDOTAUserMsg_UnitEvent_SpeechMute) Reset() { *x = CDOTAUserMsg_UnitEvent_SpeechMute{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[170] + mi := &file_dota_usermessages_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13719,7 +14008,7 @@ func (x *CDOTAUserMsg_UnitEvent_SpeechMute) String() string { func (*CDOTAUserMsg_UnitEvent_SpeechMute) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent_SpeechMute) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[170] + mi := &file_dota_usermessages_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13732,7 +14021,7 @@ func (x *CDOTAUserMsg_UnitEvent_SpeechMute) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_UnitEvent_SpeechMute.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent_SpeechMute) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44, 2} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45, 2} } func (x *CDOTAUserMsg_UnitEvent_SpeechMute) GetDelay() float32 { @@ -13758,7 +14047,7 @@ type CDOTAUserMsg_UnitEvent_AddGesture struct { func (x *CDOTAUserMsg_UnitEvent_AddGesture) Reset() { *x = CDOTAUserMsg_UnitEvent_AddGesture{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[171] + mi := &file_dota_usermessages_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13771,7 +14060,7 @@ func (x *CDOTAUserMsg_UnitEvent_AddGesture) String() string { func (*CDOTAUserMsg_UnitEvent_AddGesture) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent_AddGesture) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[171] + mi := &file_dota_usermessages_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13784,7 +14073,7 @@ func (x *CDOTAUserMsg_UnitEvent_AddGesture) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_UnitEvent_AddGesture.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent_AddGesture) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44, 3} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45, 3} } func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetActivity() int32 { @@ -13840,7 +14129,7 @@ type CDOTAUserMsg_UnitEvent_RemoveGesture struct { func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) Reset() { *x = CDOTAUserMsg_UnitEvent_RemoveGesture{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[172] + mi := &file_dota_usermessages_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13853,7 +14142,7 @@ func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) String() string { func (*CDOTAUserMsg_UnitEvent_RemoveGesture) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[172] + mi := &file_dota_usermessages_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13866,7 +14155,7 @@ func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) ProtoReflect() protoreflect.Messa // Deprecated: Use CDOTAUserMsg_UnitEvent_RemoveGesture.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent_RemoveGesture) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44, 4} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45, 4} } func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) GetActivity() int32 { @@ -13889,7 +14178,7 @@ type CDOTAUserMsg_UnitEvent_BloodImpact struct { func (x *CDOTAUserMsg_UnitEvent_BloodImpact) Reset() { *x = CDOTAUserMsg_UnitEvent_BloodImpact{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[173] + mi := &file_dota_usermessages_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13902,7 +14191,7 @@ func (x *CDOTAUserMsg_UnitEvent_BloodImpact) String() string { func (*CDOTAUserMsg_UnitEvent_BloodImpact) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent_BloodImpact) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[173] + mi := &file_dota_usermessages_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13915,7 +14204,7 @@ func (x *CDOTAUserMsg_UnitEvent_BloodImpact) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_UnitEvent_BloodImpact.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent_BloodImpact) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44, 5} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45, 5} } func (x *CDOTAUserMsg_UnitEvent_BloodImpact) GetScale() int32 { @@ -13950,7 +14239,7 @@ type CDOTAUserMsg_UnitEvent_FadeGesture struct { func (x *CDOTAUserMsg_UnitEvent_FadeGesture) Reset() { *x = CDOTAUserMsg_UnitEvent_FadeGesture{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[174] + mi := &file_dota_usermessages_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13963,7 +14252,7 @@ func (x *CDOTAUserMsg_UnitEvent_FadeGesture) String() string { func (*CDOTAUserMsg_UnitEvent_FadeGesture) ProtoMessage() {} func (x *CDOTAUserMsg_UnitEvent_FadeGesture) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[174] + mi := &file_dota_usermessages_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13976,7 +14265,7 @@ func (x *CDOTAUserMsg_UnitEvent_FadeGesture) ProtoReflect() protoreflect.Message // Deprecated: Use CDOTAUserMsg_UnitEvent_FadeGesture.ProtoReflect.Descriptor instead. func (*CDOTAUserMsg_UnitEvent_FadeGesture) Descriptor() ([]byte, []int) { - return file_dota_usermessages_proto_rawDescGZIP(), []int{44, 6} + return file_dota_usermessages_proto_rawDescGZIP(), []int{45, 6} } func (x *CDOTAUserMsg_UnitEvent_FadeGesture) GetActivity() int32 { @@ -13998,7 +14287,7 @@ type CDOTAUserMsg_StatsHeroPositionInfo_PositionPair struct { func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) Reset() { *x = CDOTAUserMsg_StatsHeroPositionInfo_PositionPair{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[175] + mi := &file_dota_usermessages_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14011,7 +14300,7 @@ func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) String() string { func (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) ProtoMessage() {} func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[175] + mi := &file_dota_usermessages_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14054,7 +14343,7 @@ type CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance struct { func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) Reset() { *x = CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[176] + mi := &file_dota_usermessages_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14067,7 +14356,7 @@ func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) String() strin func (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) ProtoMessage() {} func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[176] + mi := &file_dota_usermessages_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14118,7 +14407,7 @@ type CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails struct { func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) Reset() { *x = CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[177] + mi := &file_dota_usermessages_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14131,7 +14420,7 @@ func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) Stri func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) ProtoMessage() {} func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[177] + mi := &file_dota_usermessages_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14189,7 +14478,7 @@ type CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails struct { func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) Reset() { *x = CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[178] + mi := &file_dota_usermessages_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14202,7 +14491,7 @@ func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) String() func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) ProtoMessage() {} func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[178] + mi := &file_dota_usermessages_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14258,7 +14547,7 @@ type CDOTAUserMsg_AllStarEvent_PlayerScore struct { func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) Reset() { *x = CDOTAUserMsg_AllStarEvent_PlayerScore{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[179] + mi := &file_dota_usermessages_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14271,7 +14560,7 @@ func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) String() string { func (*CDOTAUserMsg_AllStarEvent_PlayerScore) ProtoMessage() {} func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[179] + mi := &file_dota_usermessages_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14314,7 +14603,7 @@ type CDOTAUserMsg_PauseMinigameData_DataBit struct { func (x *CDOTAUserMsg_PauseMinigameData_DataBit) Reset() { *x = CDOTAUserMsg_PauseMinigameData_DataBit{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[180] + mi := &file_dota_usermessages_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14327,7 +14616,7 @@ func (x *CDOTAUserMsg_PauseMinigameData_DataBit) String() string { func (*CDOTAUserMsg_PauseMinigameData_DataBit) ProtoMessage() {} func (x *CDOTAUserMsg_PauseMinigameData_DataBit) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[180] + mi := &file_dota_usermessages_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14376,7 +14665,7 @@ type CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress struct { func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) Reset() { *x = CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress{} if protoimpl.UnsafeEnabled { - mi := &file_dota_usermessages_proto_msgTypes[181] + mi := &file_dota_usermessages_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14389,7 +14678,7 @@ func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) String() string { func (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) ProtoMessage() {} func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) ProtoReflect() protoreflect.Message { - mi := &file_dota_usermessages_proto_msgTypes[181] + mi := &file_dota_usermessages_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14643,2535 +14932,2592 @@ var file_dota_usermessages_proto_rawDesc = []byte{ 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x69, 0x6c, 0x6c, 0x50, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x25, 0x0a, 0x0e, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, - 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6f, 0x6c, - 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x23, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x72, - 0x73, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4f, 0x66, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x41, 0x74, 0x74, - 0x61, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x72, 0x69, 0x6f, - 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x77, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, - 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x52, - 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, - 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, - 0x3d, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x42, 0x75, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd5, - 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x12, - 0x32, 0x0a, 0x15, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, - 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x62, 0x75, 0x79, 0x62, - 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x42, - 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x8a, 0x03, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, - 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x1d, - 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x4d, 0x0a, 0x0a, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, - 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x4c, 0x6f, 0x73, 0x74, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6b, 0x69, 0x6c, 0x6c, 0x65, - 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x77, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x49, 0x64, 0x1a, 0x4e, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x53, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0xbe, 0x01, 0x0a, + 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x69, + 0x6c, 0x6c, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, - 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, - 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, - 0x65, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, - 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0x93, 0x04, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x61, - 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, 0x08, 0x76, 0x65, 0x6c, - 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x12, 0x36, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, - 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, - 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x6f, 0x77, 0x52, 0x61, - 0x64, 0x69, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x66, - 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x46, 0x6f, 0x77, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, - 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, - 0x6f, 0x72, 0x12, 0x55, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, - 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x43, 0x70, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3e, 0x0a, 0x24, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, - 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x66, 0x0a, 0x25, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x6f, 0x64, 0x67, 0x65, 0x54, - 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, - 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, - 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x4f, 0x6e, 0x6c, - 0x79, 0x22, 0x81, 0x01, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x6f, + 0x6c, 0x64, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x73, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x75, 0x67, 0x67, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa0, 0x01, + 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, + 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x22, 0x98, 0x01, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x4d, 0x61, 0x72, 0x73, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4f, 0x66, 0x42, 0x6c, 0x6f, + 0x6f, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x72, 0x69, 0x6f, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, + 0x61, 0x72, 0x72, 0x69, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x77, 0x0a, 0x1f, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, + 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, 0x12, 0x2f, + 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x4d, 0x73, 0x67, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x22, 0x3d, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x75, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x5f, + 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, + 0x43, 0x6f, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6f, + 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x13, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, + 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, + 0x5f, 0x62, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x73, 0x68, 0x6f, 0x77, 0x42, 0x75, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x8a, 0x03, 0x0a, 0x1f, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x75, + 0x72, 0x69, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, + 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x4d, 0x0a, 0x0a, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, + 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x2e, 0x4c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, + 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x4e, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x74, + 0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, + 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, + 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x65, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x61, 0x70, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, + 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x1e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, + 0x69, 0x6d, 0x61, 0x70, 0x44, 0x65, 0x62, 0x75, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x93, 0x04, 0x0a, 0x23, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, + 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x76, 0x65, + 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, + 0x52, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, + 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, + 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, + 0x77, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x66, 0x6f, 0x77, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x69, + 0x63, 0x6b, 0x79, 0x5f, 0x66, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x46, 0x6f, 0x77, 0x52, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, + 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x55, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x70, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3e, + 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x66, + 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, + 0x6f, 0x64, 0x67, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xbe, 0x02, 0x0a, 0x26, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x75, - 0x6e, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, - 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x72, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x65, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, - 0x6e, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, - 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, - 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, - 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x35, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x62, 0x75, 0x79, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x78, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x65, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x64, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, - 0x44, 0x65, 0x66, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0xaf, 0x03, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x52, 0x05, 0x66, 0x61, 0x63, - 0x74, 0x73, 0x1a, 0xcf, 0x02, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, - 0x07, 0x76, 0x61, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x31, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, - 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0a, 0x76, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x76, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x76, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, - 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, - 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x4e, - 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x22, 0x4c, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, - 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, - 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, - 0x58, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, - 0x49, 0x43, 0x10, 0x04, 0x22, 0xd2, 0x01, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x70, - 0x65, 0x65, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x63, - 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x65, 0x63, - 0x68, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x48, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0a, 0x72, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x22, 0xc0, 0x0a, 0x0a, 0x16, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, - 0x6f, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x02, 0x28, 0x05, - 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3b, 0x0a, - 0x06, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x65, - 0x63, 0x68, 0x52, 0x06, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x0b, 0x73, 0x70, - 0x65, 0x65, 0x63, 0x68, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x70, - 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, - 0x4d, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x67, 0x65, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, - 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x65, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x51, - 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, - 0x74, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x4b, - 0x0a, 0x0c, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, + 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x81, 0x01, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, + 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, + 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, + 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xbe, 0x02, 0x0a, 0x26, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x1d, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x65, 0x76, + 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x65, 0x6d, 0x12, 0x23, 0x0a, + 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x1b, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x5b, + 0x0a, 0x15, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, + 0x75, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x1b, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, + 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x63, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x35, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, + 0x74, 0x6f, 0x62, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x78, 0x0a, + 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x08, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x7a, + 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, + 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xaf, 0x03, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x2e, 0x46, 0x61, 0x63, 0x74, + 0x52, 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x1a, 0xcf, 0x02, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x07, 0x76, 0x61, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x02, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, + 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x32, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, + 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x76, 0x61, + 0x6c, 0x49, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x22, 0x4c, 0x0a, 0x09, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, + 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x54, 0x41, 0x42, 0x4c, 0x45, + 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x54, 0x5f, + 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x04, 0x22, 0xd2, 0x01, 0x0a, 0x18, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, + 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x52, + 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e, + 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0f, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x22, 0xe5, + 0x0a, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x73, 0x67, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x45, 0x44, 0x6f, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x02, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x06, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x12, + 0x48, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x46, 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0b, - 0x66, 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x53, 0x0a, 0x16, 0x73, - 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x13, 0x73, 0x70, 0x65, - 0x65, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x1a, 0x36, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xe7, 0x01, 0x0a, 0x06, 0x53, 0x70, 0x65, - 0x65, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x63, 0x6f, - 0x6e, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, - 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x75, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x6d, 0x75, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, + 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x73, + 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x61, 0x64, 0x64, + 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, + 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x47, 0x65, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x65, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x1a, 0x22, 0x0a, 0x0a, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x1a, 0xc0, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x47, 0x65, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x66, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x12, 0x19, - 0x0a, 0x08, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x07, 0x66, 0x61, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, - 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x12, 0x29, - 0x0a, 0x10, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, - 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x1a, 0x2b, 0x0a, 0x0d, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, + 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, + 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, + 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x6f, 0x64, + 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, + 0x61, 0x63, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, + 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x0b, 0x66, 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x53, 0x0a, 0x16, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x70, 0x65, + 0x65, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x52, 0x13, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x1a, 0x36, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x8c, 0x02, + 0x0a, 0x06, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x65, + 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x75, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x75, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, + 0x0a, 0x08, 0x70, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x22, 0x0a, 0x0a, + 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, + 0x1a, 0xc0, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, + 0x17, 0x0a, 0x07, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x06, 0x66, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x61, 0x64, 0x65, + 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x66, 0x61, 0x64, 0x65, + 0x4f, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, + 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, + 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x6e, 0x74, 0x1a, 0x2b, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x1a, 0x59, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x12, 0x19, 0x0a, 0x08, 0x79, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x79, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x1a, 0x29, 0x0a, 0x0b, 0x46, + 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x1a, 0x59, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, - 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x78, - 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x78, - 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x79, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x79, 0x4e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x1a, 0x29, 0x0a, 0x0b, 0x46, 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x44, 0x0a, 0x1a, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x44, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, + 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x15, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, - 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x15, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x6c, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x66, 0x22, 0x85, 0x02, 0x0a, 0x1a, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x76, 0x65, 0x72, - 0x68, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, - 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4f, 0x56, 0x45, 0x52, - 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, - 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, - 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x0a, 0x16, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, - 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x7d, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x6d, 0x62, 0x6c, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6d, 0x62, - 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, - 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x1f, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, - 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x36, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, - 0x73, 0x67, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x09, 0x77, 0x6f, - 0x72, 0x6c, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, - 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, - 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, - 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x1d, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x58, 0x6d, 0x61, 0x73, 0x47, 0x69, 0x66, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, - 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x65, 0x6e, - 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0xf7, - 0x01, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x53, 0x68, 0x6f, 0x77, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, - 0x72, 0x76, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, - 0x75, 0x72, 0x76, 0x65, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x65, 0x61, - 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, - 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, - 0x6d, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x65, 0x61, 0x6d, - 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x22, 0x38, 0x0a, 0x19, + 0x6d, 0x53, 0x6f, 0x6c, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x94, 0x01, + 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, + 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, + 0x65, 0x6d, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, + 0x6d, 0x64, 0x65, 0x66, 0x22, 0x85, 0x02, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, + 0x4c, 0x45, 0x52, 0x54, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x67, 0x74, - 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x67, - 0x74, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x22, 0xa1, 0x01, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x58, 0x12, 0x13, 0x0a, - 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, - 0x73, 0x59, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x5a, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3a, 0x0a, 0x22, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x59, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, - 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x70, 0x63, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x70, 0x63, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x70, 0x63, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x70, 0x63, 0x44, 0x69, 0x61, 0x6c, 0x6f, - 0x67, 0x22, 0x75, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x09, - 0x73, 0x74, 0x61, 0x74, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, - 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x74, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x22, 0x6e, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, - 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x12, 0x49, 0x0a, - 0x0d, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x61, 0x6c, 0x6c, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x6d, 0x69, - 0x73, 0x73, 0x61, 0x6c, 0x6c, 0x6d, 0x73, 0x67, 0x22, 0xa3, 0x01, 0x0a, 0x25, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, - 0x73, 0x68, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x61, - 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x4f, - 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x68, 0x61, - 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x68, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x70, 0x68, 0x61, 0x73, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x58, - 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, - 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x1c, - 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, - 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x75, - 0x6e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x47, 0x6f, 0x6c, 0x64, 0x22, 0x65, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x70, 0x0a, 0x19, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x61, 0x63, - 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x68, 0x75, 0x64, 0x5f, 0x70, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, 0x44, - 0x50, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x68, 0x75, 0x64, 0x50, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x0a, - 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x61, 0x76, 0x22, - 0xcc, 0x05, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x2b, 0x0a, - 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x74, 0x69, - 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, - 0x63, 0x68, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, - 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, - 0x6f, 0x63, 0x12, 0x55, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, - 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x43, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x21, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, - 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, - 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x76, 0x65, 0x53, - 0x70, 0x65, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xc0, - 0x05, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, - 0x12, 0x2f, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, - 0x63, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, - 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7d, 0x0a, 0x1b, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x68, + 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, + 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x6f, 0x72, + 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6c, 0x69, 0x6e, + 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, + 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x48, 0x65, + 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6d, 0x6f, 0x74, 0x69, + 0x63, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x58, + 0x6d, 0x61, 0x73, 0x47, 0x69, 0x66, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x6f, 0x72, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0xf7, 0x01, 0x0a, 0x17, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x75, + 0x72, 0x76, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x49, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, + 0x79, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, + 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x22, 0x38, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, + 0x61, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x67, 0x74, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x67, 0x74, 0x41, 0x6c, 0x70, 0x68, 0x61, + 0x22, 0xa1, 0x01, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x58, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x59, 0x12, 0x13, 0x0a, 0x05, + 0x70, 0x6f, 0x73, 0x5f, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, + 0x5a, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3a, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x22, 0x59, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x41, 0x64, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x70, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x70, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x6e, 0x70, 0x63, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x70, 0x63, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x75, 0x0a, 0x1a, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x70, 0x6f, + 0x70, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x70, 0x6f, 0x70, + 0x75, 0x70, 0x22, 0x6e, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6d, 0x69, + 0x73, 0x73, 0x61, 0x6c, 0x6c, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x44, + 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, + 0x75, 0x70, 0x73, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x61, 0x6c, 0x6c, 0x6d, + 0x73, 0x67, 0x22, 0xa3, 0x01, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x53, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x50, + 0x48, 0x41, 0x53, 0x45, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, + 0x68, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x68, 0x61, + 0x73, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x58, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, + 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x47, 0x6f, 0x6c, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x6f, 0x6c, + 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x72, 0x65, 0x6c, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, + 0x75, 0x6e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x22, 0x65, + 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x70, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x36, 0x0a, 0x08, 0x68, 0x75, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, + 0x67, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x07, + 0x68, 0x75, 0x64, 0x50, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, + 0x61, 0x64, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x61, 0x76, 0x22, 0xcc, 0x05, 0x0a, 0x1a, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x76, 0x65, + 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, + 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, + 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, + 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x70, + 0x61, 0x63, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x63, + 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, + 0x69, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x12, 0x55, 0x0a, 0x10, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x70, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2e, + 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xc0, 0x05, 0x0a, 0x1d, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x2f, 0x0a, 0x0a, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x63, - 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x69, - 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x55, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x70, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, - 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, - 0x43, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x1e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, - 0x64, 0x22, 0x3b, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x83, - 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x54, 0x45, 0x5f, 0x44, 0x6f, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x78, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x07, 0x78, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6e, - 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x79, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x22, 0xda, 0x03, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x69, 0x6e, - 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, - 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, - 0x6e, 0x61, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, - 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, - 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x68, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x48, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, - 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x22, 0x88, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, - 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x6c, - 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, - 0x73, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x63, - 0x61, 0x73, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x67, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, - 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x20, + 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x64, 0x67, + 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x64, + 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x74, 0x74, + 0x61, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, + 0x6f, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, + 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x10, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x70, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x49, 0x0a, 0x21, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x61, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, + 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x6c, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x22, 0x3b, 0x0a, 0x21, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x44, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x44, 0x6f, 0x74, + 0x61, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x78, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x78, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x79, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x22, 0xda, + 0x03, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, + 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x73, + 0x73, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x6e, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x4e, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x74, 0x72, 0x6c, + 0x5f, 0x68, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x74, 0x72, + 0x6c, 0x48, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x88, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, - 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6e, 0x61, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x6e, 0x61, 0x70, 0x22, 0xcf, 0x01, 0x0a, - 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, - 0x6f, 0x77, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x06, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, - 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, - 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x74, 0x69, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x73, - 0x68, 0x6f, 0x77, 0x5f, 0x6e, 0x6f, 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x61, - 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, - 0x4e, 0x6f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x87, - 0x01, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, - 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x1f, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, - 0x6e, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6e, 0x75, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x75, - 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, - 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, + 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, + 0x72, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x74, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x63, 0x61, 0x73, 0x74, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x13, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, + 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6e, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x04, 0x73, 0x6e, 0x61, 0x70, 0x22, 0xcf, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, + 0x62, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x72, + 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x69, 0x6e, 0x74, 0x53, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6e, 0x6f, + 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x4f, 0x74, 0x68, 0x65, + 0x72, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, - 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x73, 0x22, 0x2a, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x6d, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x11, 0x52, 0x03, 0x6d, 0x6d, 0x72, 0x22, 0x7c, 0x0a, - 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x62, + 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, + 0x2d, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x6b, + 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x62, + 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0e, 0x62, 0x6f, 0x6f, + 0x73, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x7c, 0x0a, 0x19, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x8b, 0x01, 0x0a, 0x1c, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x8b, 0x01, 0x0a, 0x1c, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x22, 0xb4, 0x02, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, + 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, + 0x0a, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x10, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, + 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x0c, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, 0x49, 0x0a, 0x11, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x54, + 0x45, 0x47, 0x4f, 0x52, 0x59, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd1, + 0x04, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, + 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x48, + 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x77, 0x65, 0x72, + 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x78, + 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x58, 0x70, + 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x30, 0x0a, + 0x14, 0x68, 0x61, 0x72, 0x76, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x65, 0x70, + 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x68, 0x61, 0x72, + 0x76, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x72, 0x65, 0x65, 0x70, 0x47, 0x6f, 0x6c, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x61, + 0x72, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x5f, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x72, 0x75, 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x70, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x74, 0x70, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, + 0x61, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x6d, + 0x61, 0x6e, 0x61, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0e, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x65, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x6f, 0x6e, 0x65, + 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x6f, + 0x6e, 0x65, 0x22, 0xc1, 0x05, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, + 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x69, + 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x77, 0x65, + 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, + 0x6f, 0x77, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x72, + 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x39, + 0x0a, 0x19, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, + 0x5f, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x16, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x65, + 0x43, 0x72, 0x65, 0x65, 0x70, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x69, + 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x6f, 0x77, + 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x42, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, + 0x12, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x78, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x58, 0x70, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x68, 0x0a, 0x10, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, + 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0f, + 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x1a, + 0x75, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x22, 0xb4, 0x02, 0x0a, 0x22, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x29, 0x0a, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x10, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, - 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0f, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x80, 0x01, - 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, 0x49, - 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, - 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0xd1, 0x04, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x69, 0x6e, 0x75, 0x74, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, - 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6b, 0x69, - 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4b, - 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x44, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x64, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x77, - 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x58, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, - 0x30, 0x0a, 0x14, 0x68, 0x61, 0x72, 0x76, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, - 0x65, 0x70, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x68, - 0x61, 0x72, 0x76, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x72, 0x65, 0x65, 0x70, 0x47, 0x6f, 0x6c, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x72, - 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, - 0x46, 0x61, 0x72, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x65, 0x73, - 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x70, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x74, 0x70, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, - 0x61, 0x6e, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x09, 0x6d, 0x61, 0x6e, 0x61, 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x65, 0x64, 0x18, 0x0e, 0x20, - 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x62, 0x73, 0x6f, 0x72, - 0x62, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x6f, - 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x44, 0x6f, 0x6e, 0x65, 0x22, 0xc1, 0x05, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, - 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4c, 0x0a, 0x0c, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, - 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, - 0x77, 0x65, 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, - 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, - 0x12, 0x39, 0x0a, 0x19, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, - 0x6e, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, - 0x6e, 0x65, 0x43, 0x72, 0x65, 0x65, 0x70, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, - 0x6f, 0x77, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x42, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x78, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x58, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x68, 0x0a, 0x10, 0x6c, 0x61, 0x6e, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, - 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x0f, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, - 0x65, 0x1a, 0x75, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x21, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x6b, - 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x58, 0x12, 0x20, 0x0a, 0x0c, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x59, 0x12, 0x25, 0x0a, - 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x93, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c, + 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x58, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x59, 0x12, 0x25, 0x0a, 0x0e, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x50, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x93, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x69, 0x6c, 0x6c, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x63, 0x74, 0x69, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x69, 0x63, 0x74, + 0x69, 0x6d, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x52, 0x0a, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x0e, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x4b, 0x69, 0x6c, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, + 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x09, 0x64, 0x65, 0x61, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x22, 0xe5, 0x07, 0x0a, 0x1e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x43, + 0x0a, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, + 0x6f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x6f, + 0x6b, 0x75, 0x70, 0x12, 0x4e, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x48, 0x0a, + 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x69, - 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x63, - 0x74, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x69, - 0x63, 0x74, 0x69, 0x6d, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, + 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, + 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, + 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x0a, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, - 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x69, - 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x64, 0x65, 0x61, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x22, 0xe5, 0x07, - 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x43, 0x0a, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, - 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4c, - 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x4e, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x48, 0x0a, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x4b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x72, 0x61, 0x64, - 0x69, 0x61, 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x69, 0x72, - 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x68, 0x0a, - 0x0d, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, - 0x68, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, - 0x67, 0x68, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x22, - 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, - 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x67, 0x6f, 0x6c, 0x64, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x78, 0x70, 0x5f, - 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x78, 0x70, 0x44, - 0x65, 0x6c, 0x74, 0x61, 0x1a, 0xce, 0x02, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x68, 0x0a, 0x0d, 0x66, + 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x67, - 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x54, 0x65, - 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, - 0x6e, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x75, - 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x10, 0x64, 0x69, 0x72, 0x65, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x54, 0x61, 0x75, 0x6e, 0x74, 0x12, - 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x61, 0x75, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3c, 0x0a, - 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, - 0x65, 0x65, 0x63, 0x68, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x41, 0x6c, 0x6c, 0x22, 0x8b, 0x01, 0x0a, 0x20, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x43, 0x4d, - 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, - 0x74, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x48, 0x65, 0x72, - 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x86, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x47, 0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x10, 0x68, 0x65, 0x72, 0x6f, 0x41, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x7b, 0x0a, 0x17, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, - 0x12, 0x45, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x76, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, - 0x82, 0x01, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, + 0x74, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, + 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x6f, + 0x6c, 0x64, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x78, 0x70, 0x5f, 0x64, 0x65, + 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x78, 0x70, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x1a, 0xce, 0x02, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x7b, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x54, 0x65, 0x61, 0x6d, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, + 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x75, 0x0a, 0x12, + 0x64, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x10, 0x64, 0x69, 0x72, 0x65, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x54, 0x61, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, + 0x12, 0x74, 0x61, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x61, 0x75, 0x6e, 0x74, + 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x19, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x65, 0x65, + 0x63, 0x68, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x41, 0x6c, 0x6c, 0x22, 0x8b, 0x01, 0x0a, 0x20, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, + 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, + 0x30, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x86, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x47, 0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x10, 0x68, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x7b, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x45, + 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x76, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, + 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x82, 0x01, + 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x79, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x46, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, - 0x0a, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x56, 0x69, 0x73, 0x69, - 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x46, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, - 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, - 0x57, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x77, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, - 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x11, - 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x73, 0x22, 0xc6, 0x02, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x12, - 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x28, 0x0a, 0x10, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x63, 0x74, - 0x69, 0x6d, 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x65, 0x0a, 0x1c, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x08, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, - 0x6d, 0x22, 0x5c, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x58, 0x50, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, - 0xb1, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, - 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, - 0x72, 0x6e, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x72, - 0x6e, 0x65, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, - 0x6f, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c, 0x12, - 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x66, 0x61, - 0x69, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x50, - 0x69, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x61, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x62, 0x61, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, - 0x61, 0x63, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, - 0x61, 0x63, 0x65, 0x74, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x6f, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, - 0x22, 0xe6, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, - 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, - 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, - 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x1e, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x22, 0xab, 0x01, 0x0a, - 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, - 0x6c, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, - 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, - 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x75, 0x0a, 0x1b, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6c, 0x69, 0x70, 0x43, - 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x46, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x23, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x54, 0x65, - 0x61, 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x74, 0x65, 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x5f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0f, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x6e, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, - 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, - 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x63, - 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x22, 0xb8, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x6c, 0x69, - 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x65, - 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x27, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x57, 0x0a, + 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x77, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, + 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x75, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, + 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x11, 0x63, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, + 0xc6, 0x02, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, + 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x28, 0x0a, + 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x63, 0x6b, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4f, + 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x10, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, + 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x65, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, + 0x5c, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x58, 0x50, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x69, - 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x74, - 0x72, 0x6c, 0x49, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, - 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x22, 0xfb, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, 0x6c, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x70, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, - 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x79, - 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x54, 0x69, 0x70, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, - 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x70, 0x73, - 0x22, 0x9c, 0x01, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x2d, 0x0a, 0x13, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, - 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x67, - 0x69, 0x66, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, - 0x4f, 0x0a, 0x15, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x69, 0x70, 0x5f, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, - 0x22, 0x8e, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, - 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, + 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb1, 0x01, + 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, + 0x64, 0x22, 0x22, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x7a, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x45, 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, - 0x62, 0x6f, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, - 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x83, 0x01, - 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, - 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x4d, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, - 0x62, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, - 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, - 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, - 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x61, 0x6c, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x48, 0x69, 0x67, 0x68, - 0x46, 0x69, 0x76, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, - 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, - 0x3f, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x67, - 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x8e, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x76, 0x65, 0x6c, 0x55, 0x6e, 0x65, 0x61, 0x72, 0x74, 0x68, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x22, 0xd1, 0x02, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x50, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x6c, 0x6c, - 0x53, 0x74, 0x61, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x61, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x67, 0x61, 0x6d, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, + 0x47, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, + 0x22, 0x81, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, + 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x61, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x62, 0x61, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, + 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0xe6, + 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x4b, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, + 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, + 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x65, + 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x22, 0xab, 0x01, 0x0a, 0x1b, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x6c, 0x6c, + 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, + 0x6c, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, + 0x6c, 0x6c, 0x4d, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x75, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6c, 0x69, 0x70, 0x43, 0x6f, 0x69, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0x46, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x54, 0x65, 0x61, 0x6d, + 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, + 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, + 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6e, + 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, + 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, + 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x63, 0x6f, 0x6f, + 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb8, + 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x63, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x65, 0x72, 0x6f, + 0x52, 0x65, 0x6c, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0xc6, 0x01, 0x0a, 0x27, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x69, 0x73, 0x5f, + 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x74, 0x72, 0x6c, + 0x49, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x72, 0x6f, + 0x49, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, + 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, + 0x6f, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x22, 0xfb, 0x01, 0x0a, + 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, + 0x6c, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x69, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x70, 0x53, 0x74, 0x79, + 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x75, 0x6d, + 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x70, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x17, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x69, 0x66, 0x74, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x67, 0x69, + 0x66, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x67, 0x69, 0x66, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4f, 0x0a, 0x15, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x24, 0x0a, 0x0e, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6e, 0x73, 0x5f, 0x6b, 0x64, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x61, - 0x6e, 0x73, 0x4b, 0x64, 0x61, 0x22, 0x51, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x74, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x1b, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, - 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0d, 0x52, - 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x30, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, - 0x30, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x76, - 0x61, 0x72, 0x5f, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x31, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, - 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x4d, 0x61, 0x78, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0xa9, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x65, - 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x19, 0x0a, 0x08, 0x74, 0x69, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x74, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x1d, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x7a, 0x0a, 0x1a, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x53, 0x41, 0x72, + 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, + 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x83, 0x01, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, + 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x6f, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, + 0x6d, 0x62, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xaf, 0x01, + 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4f, + 0x4d, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, + 0x61, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, + 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0xb7, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, + 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, + 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x68, 0x69, + 0x67, 0x68, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3f, 0x0a, 0x20, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, + 0x76, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x1a, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x76, + 0x65, 0x6c, 0x55, 0x6e, 0x65, 0x61, 0x72, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x74, - 0x69, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, - 0x72, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6f, - 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x58, 0x50, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x78, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x78, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x42, - 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, - 0x6f, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x6f, 0x55, 0x6e, 0x69, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x69, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x75, - 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x42, 0x69, 0x74, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, 0x69, 0x74, 0x73, - 0x1a, 0x52, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x42, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x78, 0x74, 0x72, 0x61, 0x22, 0xce, 0x02, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, - 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, - 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x56, 0x65, 0x72, 0x73, - 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, - 0x43, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77, 0x68, 0x65, - 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x43, 0x68, 0x61, 0x74, - 0x57, 0x68, 0x65, 0x65, 0x6c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, - 0x12, 0x43, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, - 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x62, - 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, - 0x6b, 0x52, 0x61, 0x74, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x6f, 0x50, 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, - 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x5f, 0x68, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x73, 0x48, 0x69, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x73, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x60, 0x0a, - 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6f, - 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, - 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x22, - 0x3e, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x48, 0x6f, 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x64, - 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x77, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x57, 0x4b, 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x83, 0x05, 0x0a, 0x24, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x62, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, - 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, - 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, - 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x1a, 0x49, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6f, 0x0a, - 0x0e, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x43, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x10, 0x01, 0x12, - 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x02, 0x22, 0x8c, - 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x64, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, - 0x4c, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x64, 0x65, 0x61, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, - 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x68, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x48, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, - 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xa5, 0x02, - 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, - 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x64, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x4c, 0x61, - 0x6e, 0x64, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, - 0x65, 0x61, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, - 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x68, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x68, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x48, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, - 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, - 0x53, 0x6c, 0x6f, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x68, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xd1, 0x02, 0x0a, 0x19, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x6c, 0x6c, + 0x53, 0x74, 0x61, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x29, 0x0a, 0x10, - 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xf8, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x6c, 0x65, 0x72, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, - 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x63, - 0x65, 0x70, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x12, 0x31, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x12, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x49, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x75, 0x74, - 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x13, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xd8, 0x04, 0x0a, 0x1a, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x69, 0x70, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x69, 0x70, 0x49, 0x64, 0x12, 0x31, - 0x0a, 0x14, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, - 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x74, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, - 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x69, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, - 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x74, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x70, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x15, 0x74, 0x69, 0x70, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x6e, 0x6f, - 0x72, 0x61, 0x6d, 0x61, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x53, 0x6e, 0x69, 0x70, - 0x70, 0x65, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x78, 0x74, - 0x22, 0x7b, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x52, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x69, 0x73, 0x73, 0x6f, - 0x72, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xb8, 0x01, - 0x0a, 0x26, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, - 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x73, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x31, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x32, 0x5f, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x32, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x73, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, - 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x4f, 0x70, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x57, - 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x6f, 0x73, 0x65, 0x72, 0x22, 0x5b, 0x0a, - 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, - 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x22, 0x4c, 0x0a, 0x1a, 0x43, 0x44, - 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x22, 0xe0, 0x01, 0x0a, 0x34, 0x43, 0x44, 0x4f, - 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x41, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, - 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6b, - 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x70, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x0d, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, + 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x1a, 0x50, 0x0a, + 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6e, 0x73, 0x5f, 0x6b, 0x64, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x61, 0x6e, 0x73, 0x4b, 0x64, 0x61, 0x22, + 0x51, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x11, 0x75, 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x30, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x30, 0x12, 0x26, 0x0a, 0x0f, 0x63, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x31, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x52, 0x61, 0x6e, + 0x6b, 0x22, 0x8c, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, + 0x6d, 0x54, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x74, 0x69, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, + 0x16, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x65, + 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x22, 0x62, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, + 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x65, 0x64, 0x58, 0x50, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x78, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x78, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x42, 0x0a, 0x1d, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x6f, 0x76, 0x65, + 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x6f, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, + 0xbf, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x49, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, + 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x42, 0x69, 0x74, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, 0x69, 0x74, 0x73, 0x1a, 0x52, 0x0a, + 0x07, 0x44, 0x61, 0x74, 0x61, 0x42, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, 0x74, 0x72, + 0x61, 0x22, 0xce, 0x02, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, + 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0d, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, + 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, + 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, + 0x65, 0x6c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x12, 0x43, 0x0a, + 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x56, 0x65, 0x72, 0x73, + 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, + 0x52, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, + 0x74, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x6f, 0x50, 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x68, 0x69, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, + 0x48, 0x69, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6b, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x60, 0x0a, 0x1e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6f, 0x74, 0x50, 0x6f, + 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x22, 0x3e, 0x0a, 0x1f, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6f, 0x74, + 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x64, 0x65, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x77, 0x0a, 0x1f, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x4b, 0x5f, + 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, + 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x83, 0x05, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x62, + 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x32, 0x0a, + 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x12, 0x60, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, + 0x49, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6f, 0x0a, 0x0e, 0x45, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, + 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, + 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, + 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, + 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x02, 0x22, 0x8c, 0x02, 0x0a, 0x1d, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x52, 0x41, + 0x72, 0x63, 0x61, 0x6e, 0x61, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x4c, 0x61, 0x6e, + 0x64, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, + 0x61, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x68, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x68, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4d, 0x61, 0x78, 0x48, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, + 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, + 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xa5, 0x02, 0x0a, 0x1c, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x52, 0x41, 0x72, + 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x4c, 0x61, 0x6e, 0x64, 0x65, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x6c, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, + 0x65, 0x61, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, + 0x68, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x4d, 0x61, 0x78, 0x48, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, + 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, + 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, + 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, + 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xf8, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x63, 0x65, 0x70, 0x74, + 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x22, + 0x83, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, + 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x74, 0x65, + 0x78, 0x74, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, + 0x12, 0x33, 0x0a, 0x16, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x13, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xd8, 0x04, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, + 0x6c, 0x54, 0x69, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x69, 0x70, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x29, + 0x0a, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x6e, + 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x69, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x69, + 0x70, 0x54, 0x65, 0x78, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x36, 0x0a, + 0x17, 0x74, 0x69, 0x70, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, + 0x74, 0x69, 0x70, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, + 0x61, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, + 0x22, 0x8a, 0x01, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, + 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x78, 0x74, 0x22, 0x7b, 0x0a, + 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, + 0x63, 0x6b, 0x50, 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xb8, 0x01, 0x0a, 0x26, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x63, 0x6b, + 0x50, 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x31, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, + 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x32, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x32, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x73, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x6e, 0x6e, + 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, + 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x6f, 0x73, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x19, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x22, 0x4c, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x22, 0xe0, 0x01, 0x0a, 0x34, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x02, + 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x02, + 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x02, 0x28, 0x05, + 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x19, 0x0a, + 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x05, 0x20, 0x02, 0x28, 0x08, 0x52, + 0x07, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x22, 0x74, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, + 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x88, + 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x12, + 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x61, 0x70, + 0x74, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x02, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x02, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x02, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x05, 0x20, 0x02, - 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x69, 0x74, 0x22, 0x74, 0x0a, 0x23, 0x43, - 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x50, 0x69, - 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x30, 0x0a, 0x14, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, - 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x22, 0x88, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x69, - 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, - 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x12, 0x28, - 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x49, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x92, 0x01, 0x0a, - 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x73, 0x74, - 0x72, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x61, 0x63, - 0x65, 0x74, 0x53, 0x74, 0x72, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x68, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, - 0x74, 0x22, 0x6e, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x92, 0x01, 0x0a, 0x16, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x74, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x74, 0x53, + 0x74, 0x72, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x22, 0x6e, + 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, + 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x22, 0x24, + 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4e, + 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x72, 0x61, 0x66, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x22, 0x77, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x10, + 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x54, + 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x74, + 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc5, 0x02, + 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, + 0x61, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x68, - 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, - 0x74, 0x2a, 0x99, 0x26, 0x0a, 0x11, 0x45, 0x44, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd0, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x49, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x10, - 0xd1, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, - 0x61, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xd2, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x48, 0x65, 0x72, 0x6f, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xd3, 0x03, 0x12, 0x1a, 0x0a, 0x15, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x74, 0x69, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x13, 0x6d, 0x61, 0x64, 0x73, 0x74, 0x6f, + 0x6e, 0x65, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x45, 0x4d, 0x61, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x6d, 0x61, 0x64, 0x73, 0x74, 0x6f, + 0x6e, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x52, 0x0a, 0x12, 0x45, 0x4d, 0x61, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x72, 0x61, 0x66, 0x74, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4e, + 0x65, 0x65, 0x64, 0x4d, 0x61, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x10, 0x01, 0x12, 0x16, 0x0a, + 0x12, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x4e, 0x65, 0x78, 0x74, 0x54, + 0x69, 0x65, 0x72, 0x10, 0x02, 0x2a, 0xf4, 0x26, 0x0a, 0x11, 0x45, 0x44, 0x6f, 0x74, 0x61, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x1a, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x6f, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd0, 0x03, 0x12, 0x18, 0x0a, 0x13, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x49, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, + 0x69, 0x6e, 0x65, 0x10, 0xd1, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xd2, 0x03, 0x12, 0x20, + 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, + 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xd3, 0x03, + 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, + 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd4, 0x03, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, - 0x67, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd4, 0x03, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x6c, - 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd6, 0x03, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x10, 0xd7, 0x03, 0x12, 0x24, 0x0a, - 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, - 0x10, 0xd8, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, - 0x6f, 0x64, 0x67, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x10, 0xd9, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, - 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0xda, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x03, 0x12, 0x1b, 0x0a, 0x16, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0xdc, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, - 0x67, 0x10, 0xdd, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xde, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x03, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x10, 0xe0, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x10, 0xe1, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4e, - 0x65, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x65, 0x6d, 0x10, - 0xe2, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x76, - 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xe3, 0x03, 0x12, 0x1f, - 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, - 0x74, 0x41, 0x75, 0x74, 0x6f, 0x62, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xe4, 0x03, 0x12, - 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0xe5, 0x03, 0x12, 0x21, 0x0a, 0x1c, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, - 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x10, 0xe6, 0x03, 0x12, - 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe7, 0x03, 0x12, 0x16, 0x0a, - 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x10, 0xe8, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x10, 0xe9, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, - 0x6f, 0x74, 0x43, 0x68, 0x61, 0x74, 0x10, 0xea, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xeb, 0x03, - 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x10, 0xec, 0x03, 0x12, 0x11, 0x0a, 0x0c, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xed, 0x03, 0x12, - 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x46, - 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xee, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x61, - 0x6b, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x10, 0xef, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x77, 0x61, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x10, 0xf0, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xf1, 0x03, 0x12, 0x1b, 0x0a, 0x16, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x6e, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x10, 0xf2, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xf3, - 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x10, 0xf4, 0x03, 0x12, 0x16, - 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, - 0x65, 0x65, 0x6c, 0x10, 0xf5, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4d, 0x5f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x58, 0x6d, 0x61, 0x73, 0x47, 0x69, - 0x66, 0x74, 0x10, 0xf6, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x10, 0xf7, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x45, 0x78, 0x70, 0x10, 0xf8, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, - 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x10, 0xf9, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0xfa, 0x03, 0x12, 0x17, - 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x75, - 0x72, 0x76, 0x65, 0x79, 0x10, 0xfb, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x64, 0x65, 0x10, - 0xfc, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x64, - 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x10, 0xfd, - 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, 0xfe, 0x03, 0x12, 0x1b, 0x0a, - 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xff, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, - 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, 0x80, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, - 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x10, 0x81, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x47, 0x6f, - 0x6c, 0x64, 0x10, 0x82, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x10, 0x83, 0x04, 0x12, 0x19, 0x0a, - 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, - 0x44, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x84, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x47, 0x72, - 0x69, 0x64, 0x4e, 0x61, 0x76, 0x10, 0x85, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x67, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd6, 0x03, 0x12, 0x23, 0x0a, 0x1e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x10, 0xd7, + 0x03, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, + 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x6c, 0x65, 0x10, 0xd8, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x44, 0x6f, 0x64, 0x67, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x10, 0xd9, 0x03, 0x12, 0x1d, + 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0xda, 0x03, 0x12, 0x21, 0x0a, + 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, + 0x69, 0x67, 0x68, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x03, + 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0xdc, 0x03, 0x12, 0x19, 0x0a, + 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xdd, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xde, 0x03, 0x12, 0x1c, + 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x4b, 0x69, + 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x03, 0x12, 0x1e, 0x0a, 0x19, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x10, 0xe0, 0x03, 0x12, 0x19, 0x0a, 0x14, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x10, 0xe1, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x69, 0x65, 0x6d, 0x10, 0xe2, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, + 0xe3, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, + 0x74, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x62, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, + 0x10, 0xe4, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0xe5, 0x03, + 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x63, 0x6b, + 0x10, 0xe6, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe7, + 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x6e, 0x69, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xe8, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x10, 0xe9, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x42, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x74, 0x10, 0xea, 0x03, 0x12, 0x15, 0x0a, + 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0xeb, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x10, 0xec, 0x03, + 0x12, 0x11, 0x0a, 0x0c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x69, 0x6e, 0x67, + 0x10, 0xed, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, + 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xee, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x61, 0x6b, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x10, 0xef, 0x03, 0x12, + 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x77, 0x61, 0x70, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x10, 0xf0, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xf1, 0x03, + 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x6f, 0x75, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x10, 0xf2, 0x03, 0x12, 0x16, 0x0a, + 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x10, 0xf3, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x48, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x10, + 0xf4, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, + 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x10, 0xf5, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x58, 0x6d, + 0x61, 0x73, 0x47, 0x69, 0x66, 0x74, 0x10, 0xf6, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xf7, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x10, 0xf8, 0x03, 0x12, 0x20, 0x0a, 0x1b, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x10, 0xf9, 0x03, 0x12, 0x22, + 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, + 0xfa, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, + 0x6f, 0x77, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x10, 0xfb, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, + 0x61, 0x64, 0x65, 0x10, 0xfc, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x10, 0xfd, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, 0xfe, + 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xff, 0x03, 0x12, 0x1c, + 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, + 0x73, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, 0x80, 0x04, 0x12, 0x1f, 0x0a, 0x1a, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x10, 0x81, 0x04, 0x12, 0x1a, 0x0a, + 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x47, 0x6f, 0x6c, 0x64, 0x10, 0x82, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x10, 0x83, + 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x61, + 0x63, 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x84, 0x04, 0x12, 0x1e, 0x0a, 0x19, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, + 0x61, 0x64, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x61, 0x76, 0x10, 0x85, 0x04, 0x12, 0x1a, 0x0a, 0x15, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6c, 0x65, 0x10, 0x86, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, - 0x65, 0x10, 0x86, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, - 0x10, 0x87, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, - 0x45, 0x5f, 0x44, 0x6f, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, - 0x74, 0x10, 0x88, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x10, 0x89, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, - 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x64, 0x10, 0x8a, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x8b, 0x04, 0x12, - 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, 0x8c, 0x04, 0x12, 0x16, - 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x10, 0x8d, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x8e, 0x04, 0x12, - 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x45, - 0x6e, 0x64, 0x10, 0x8f, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x90, 0x04, - 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x69, 0x6c, 0x6c, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x91, 0x04, - 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x10, 0x92, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x10, 0x93, 0x04, 0x12, 0x19, - 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x10, 0x94, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, - 0x65, 0x64, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x95, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x41, - 0x6c, 0x65, 0x72, 0x74, 0x10, 0x96, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x10, 0x97, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x54, 0x61, 0x75, 0x6e, 0x74, 0x10, 0x98, 0x04, 0x12, - 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x75, 0x79, 0x42, 0x61, - 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x99, 0x04, 0x12, - 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x65, 0x63, - 0x68, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x10, 0x9a, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x9b, 0x04, 0x12, 0x1a, 0x0a, 0x15, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, - 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x9c, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x10, 0x9d, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x10, 0x9e, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4d, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, - 0x9f, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x50, - 0x4d, 0x61, 0x6e, 0x61, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa0, 0x04, 0x12, 0x17, 0x0a, 0x12, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x79, 0x70, 0x68, 0x41, 0x6c, 0x65, - 0x72, 0x74, 0x10, 0xa1, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x10, 0xa2, 0x04, 0x12, 0x26, 0x0a, - 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, - 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x10, 0xa3, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0xa4, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x10, 0xa5, - 0x04, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x10, 0xa6, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x10, 0xa7, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x10, 0xa8, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x10, 0xa9, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x4c, 0x54, - 0x56, 0x10, 0xaa, 0x04, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x58, 0x50, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xab, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xac, 0x04, 0x12, 0x1a, 0x0a, 0x15, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x10, 0xad, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x10, 0xae, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, - 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xaf, 0x04, 0x12, 0x1c, 0x0a, - 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, - 0x48, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, 0x6b, 0x10, 0xb0, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x10, 0xb1, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x44, 0x61, 0x6d, 0x61, - 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xb2, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x65, 0x6e, 0x61, - 0x6c, 0x74, 0x79, 0x47, 0x6f, 0x6c, 0x64, 0x10, 0xb3, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x10, 0xb4, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x46, 0x6c, 0x69, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x10, 0xb5, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xb6, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0xb7, 0x04, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, - 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x10, 0xb8, - 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, - 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0xb9, - 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, - 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, - 0x73, 0x10, 0xba, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x54, 0x45, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x6c, 0x65, 0x10, 0xbb, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x10, 0xbc, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0xbd, 0x04, - 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, - 0x53, 0x6f, 0x6c, 0x64, 0x10, 0xbe, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, - 0xbf, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, - 0x6c, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xc0, 0x04, 0x12, 0x15, 0x0a, - 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x10, 0xc1, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x74, - 0x10, 0xc2, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, - 0x74, 0x10, 0xc3, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x4d, 0x61, 0x72, 0x73, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4f, 0x66, 0x42, 0x6c, 0x6f, 0x6f, 0x64, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0xc4, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, - 0x62, 0x6f, 0x10, 0xc5, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x45, 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xc6, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x66, 0x74, - 0x48, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x10, 0xc7, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xc8, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x76, 0x65, 0x6c, 0x55, 0x6e, 0x65, 0x61, - 0x72, 0x74, 0x68, 0x10, 0xc9, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x45, - 0x4d, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x61, - 0x73, 0x74, 0x10, 0xca, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x52, 0x61, 0x64, 0x61, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcb, 0x04, 0x12, 0x19, - 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xcc, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x41, - 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcd, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x10, 0xce, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x10, 0xcf, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x4f, 0x4d, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x10, 0xd0, - 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x6f, 0x75, - 0x6e, 0x64, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xd1, 0x04, - 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x75, 0x74, 0x70, - 0x6f, 0x73, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x10, 0xd2, 0x04, 0x12, 0x1d, - 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, - 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x58, 0x50, 0x10, 0xd3, 0x04, 0x12, 0x1d, 0x0a, - 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x6d, - 0x65, 0x72, 0x61, 0x54, 0x6f, 0x55, 0x6e, 0x69, 0x74, 0x10, 0xd4, 0x04, 0x12, 0x1e, 0x0a, 0x19, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x6e, - 0x69, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd5, 0x04, 0x12, 0x27, 0x0a, 0x22, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, - 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x10, 0xd6, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x51, 0x6f, 0x50, 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x10, 0xd8, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x48, 0x6f, 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x10, 0xd9, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x48, 0x6f, 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x45, 0x78, 0x70, 0x6c, 0x6f, - 0x64, 0x65, 0x64, 0x10, 0xda, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4d, 0x5f, 0x57, 0x4b, 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x10, 0xdb, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, - 0x65, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xdc, 0x04, 0x12, 0x1d, 0x0a, - 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, - 0x61, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xdd, 0x04, 0x12, 0x1c, 0x0a, 0x17, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xde, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, - 0x6c, 0x6f, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xdf, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xe0, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xe1, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x10, 0xe2, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x10, 0xe3, 0x04, 0x12, - 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0xe4, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x6d, 0x70, - 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xe5, 0x04, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x69, - 0x73, 0x73, 0x6f, 0x72, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x10, 0xe6, 0x04, 0x12, - 0x26, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x63, 0x6b, 0x50, - 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x10, 0xe7, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, - 0x55, 0x4d, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4b, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0xe8, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, - 0x10, 0xe9, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, - 0x75, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, 0xea, 0x04, 0x12, - 0x34, 0x0a, 0x2f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, - 0x61, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x41, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x69, 0x6c, 0x6c, - 0x65, 0x64, 0x10, 0xeb, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x67, 0x67, - 0x65, 0x73, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x10, 0xec, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, - 0x74, 0x50, 0x69, 0x63, 0x6b, 0x10, 0xed, 0x04, 0x12, 0x29, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, - 0x10, 0xee, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, - 0x69, 0x66, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xef, 0x04, 0x12, 0x16, 0x0a, 0x11, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x50, 0x69, 0x6e, - 0x67, 0x10, 0xf0, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, - 0x49, 0x6e, 0x6e, 0x61, 0x74, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xf1, 0x04, 0x2a, 0xa4, 0x1f, - 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x12, 0x21, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, - 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, - 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x1e, - 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x42, - 0x41, 0x52, 0x52, 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x1b, - 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, - 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x4f, 0x57, 0x45, - 0x52, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x42, 0x4c, - 0x4f, 0x4f, 0x44, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x5f, 0x4b, 0x49, 0x4c, - 0x4c, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x42, 0x55, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x07, 0x12, 0x16, 0x0a, - 0x12, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x45, - 0x47, 0x49, 0x53, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x4b, 0x49, 0x4c, - 0x4c, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x53, 0x54, - 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, - 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x41, - 0x57, 0x4e, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x4c, 0x59, 0x50, 0x48, 0x5f, 0x55, 0x53, 0x45, - 0x44, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, - 0x45, 0x10, 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x0e, 0x12, 0x1b, 0x0a, - 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, - 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x0f, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x48, - 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x10, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x48, - 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49, - 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x11, 0x12, 0x31, 0x0a, 0x2d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, - 0x5f, 0x50, 0x4c, 0x55, 0x52, 0x41, 0x4c, 0x10, 0x12, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x10, 0x13, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, - 0x54, 0x10, 0x14, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x45, 0x41, 0x56, - 0x45, 0x10, 0x15, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x55, 0x50, 0x10, - 0x16, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x17, 0x12, - 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x72, 0x12, 0x19, 0x0a, 0x15, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x48, - 0x45, 0x42, 0x41, 0x47, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x53, 0x48, 0x4f, - 0x50, 0x10, 0x19, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x50, 0x55, 0x52, - 0x43, 0x48, 0x41, 0x53, 0x45, 0x44, 0x10, 0x1a, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x53, 0x5f, 0x43, - 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x1b, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, - 0x43, 0x52, 0x45, 0x45, 0x50, 0x53, 0x10, 0x1c, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x53, - 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x1d, 0x12, - 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x43, 0x41, 0x4e, 0x54, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x1f, 0x12, 0x1d, 0x0a, 0x19, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x50, 0x41, - 0x55, 0x53, 0x45, 0x53, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x20, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, - 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x50, - 0x41, 0x55, 0x53, 0x45, 0x59, 0x45, 0x54, 0x10, 0x21, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, - 0x10, 0x22, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, - 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x23, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, - 0x24, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, - 0x25, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x59, 0x4f, 0x55, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x26, 0x12, 0x20, 0x0a, - 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, - 0x4e, 0x54, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x27, 0x12, - 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, - 0x44, 0x10, 0x29, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x5f, 0x57, - 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x48, 0x49, 0x53, 0x5f, 0x47, 0x41, 0x4d, - 0x45, 0x10, 0x2a, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, - 0x44, 0x45, 0x52, 0x10, 0x2b, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x43, 0x4f, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, - 0x2c, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x54, 0x41, 0x55, 0x4e, 0x54, 0x10, 0x2d, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, - 0x10, 0x2e, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, - 0x47, 0x45, 0x5f, 0x52, 0x44, 0x5f, 0x54, 0x55, 0x52, 0x4e, 0x10, 0x2f, 0x12, 0x20, 0x0a, 0x1c, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x52, 0x4f, - 0x50, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x10, 0x31, 0x12, 0x21, - 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, - 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x10, - 0x32, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x10, 0x33, + 0x65, 0x4c, 0x6f, 0x63, 0x10, 0x87, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x44, 0x6f, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x10, 0x88, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x89, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x10, 0x8a, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x69, 0x6e, 0x67, + 0x10, 0x8b, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, + 0x68, 0x6f, 0x77, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, + 0x8c, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x8d, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x10, 0x8e, 0x04, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, + 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x8f, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x10, 0x90, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x57, 0x69, 0x6c, 0x6c, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x10, 0x91, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x92, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x65, + 0x61, 0x6c, 0x10, 0x94, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x43, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x10, 0x95, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x45, 0x6e, 0x65, 0x6d, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x10, 0x96, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x10, 0x97, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, + 0x69, 0x6e, 0x69, 0x54, 0x61, 0x75, 0x6e, 0x74, 0x10, 0x98, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x75, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x99, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x42, 0x75, 0x62, + 0x62, 0x6c, 0x65, 0x10, 0x9a, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x9b, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x10, 0x9c, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x10, 0x9d, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, + 0x9e, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x9f, 0x04, 0x12, 0x18, + 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x50, 0x4d, 0x61, 0x6e, 0x61, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa0, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x79, 0x70, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa1, + 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x65, 0x61, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x10, 0xa2, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x10, 0xa3, + 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x10, 0xa4, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x10, 0xa5, 0x04, 0x12, 0x25, 0x0a, + 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, + 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x10, 0xa6, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, + 0xa7, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, + 0xa8, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xa9, 0x04, + 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, + 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x4c, 0x54, 0x56, 0x10, 0xaa, 0x04, + 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x50, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x10, 0xab, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xac, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x10, 0xad, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0xae, 0x04, 0x12, + 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xaf, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, + 0x50, 0x69, 0x63, 0x6b, 0x10, 0xb0, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, + 0x6c, 0x65, 0x10, 0xb1, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, + 0x6b, 0x65, 0x6e, 0x10, 0xb2, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x47, + 0x6f, 0x6c, 0x64, 0x10, 0xb3, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x52, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x10, 0xb4, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x46, + 0x6c, 0x69, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, 0xb5, 0x04, + 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x10, 0xb6, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x10, 0xb7, 0x04, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x10, 0xb8, 0x04, 0x12, 0x1e, 0x0a, + 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, + 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0xb9, 0x04, 0x12, 0x21, 0x0a, + 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, + 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x10, 0xba, 0x04, + 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x44, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, + 0x10, 0xbb, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, + 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x10, 0xbc, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0xbd, 0x04, 0x12, 0x15, 0x0a, 0x10, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x6c, 0x64, + 0x10, 0xbe, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0xbf, 0x04, 0x12, 0x19, + 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x6c, 0x75, 0x74, 0x65, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xc0, 0x04, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xc1, 0x04, + 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x10, 0xc2, 0x04, 0x12, + 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xc3, 0x04, + 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x72, 0x73, + 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4f, 0x66, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x6b, 0x10, 0xc4, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x45, 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x10, 0xc5, + 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x53, 0x41, + 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x10, 0xc6, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x67, + 0x69, 0x6e, 0x67, 0x10, 0xc7, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x10, 0xc8, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x76, 0x65, 0x6c, 0x55, 0x6e, 0x65, 0x61, 0x72, 0x74, 0x68, 0x10, + 0xc9, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x45, 0x4d, 0x5f, 0x49, 0x6e, + 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, 0x10, 0xca, + 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x64, + 0x61, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcb, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x10, 0xcc, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x10, 0xcd, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x10, 0xce, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0xcf, + 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x4d, 0x41, + 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x10, 0xd0, 0x04, 0x12, 0x1d, 0x0a, + 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x65, + 0x75, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xd1, 0x04, 0x12, 0x1c, 0x0a, 0x17, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x43, + 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x10, 0xd2, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x65, 0x64, 0x58, 0x50, 0x10, 0xd3, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, + 0x6f, 0x55, 0x6e, 0x69, 0x74, 0x10, 0xd4, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd5, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x10, 0xd6, + 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x6f, 0x50, + 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xd8, + 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x6f, 0x74, + 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0xd9, + 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x6f, 0x74, + 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x64, 0x65, 0x64, 0x10, + 0xda, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x4b, + 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x10, 0xdb, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xdc, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xdd, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x10, 0xde, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x10, 0xdf, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x10, 0xe0, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x50, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0xe1, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x10, 0xe2, 0x04, 0x12, + 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x10, 0xe3, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x10, 0xe4, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x10, 0xe5, 0x04, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x52, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, + 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x10, 0xe6, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x70, 0x65, 0x72, + 0x53, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x10, 0xe7, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, + 0x75, 0x65, 0x6c, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, + 0x64, 0x10, 0xe8, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x44, 0x75, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0xe9, 0x04, 0x12, + 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x75, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, 0xea, 0x04, 0x12, 0x34, 0x0a, 0x2f, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x75, 0x65, 0x72, 0x74, 0x61, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0xeb, + 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x50, + 0x69, 0x63, 0x6b, 0x10, 0xec, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x72, 0x61, 0x66, 0x74, 0x50, 0x69, 0x63, + 0x6b, 0x10, 0xed, 0x04, 0x12, 0x29, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, 0x10, 0xee, 0x04, 0x12, + 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xef, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x63, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xf0, 0x04, + 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x6e, 0x6e, 0x61, + 0x74, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xf1, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x72, + 0x10, 0xf2, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4e, + 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x72, 0x61, 0x66, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x10, 0xf3, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xf4, 0x04, + 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x64, 0x73, + 0x74, 0x6f, 0x6e, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xf5, 0x04, 0x2a, 0x92, 0x20, 0x0a, + 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x12, 0x21, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x1e, 0x0a, + 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x41, + 0x52, 0x52, 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, + 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x4f, + 0x57, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, + 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x42, 0x4c, 0x4f, + 0x4f, 0x44, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, + 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x42, 0x55, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x45, 0x47, + 0x49, 0x53, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, + 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, + 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x41, 0x57, + 0x4e, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x4c, 0x59, 0x50, 0x48, 0x5f, 0x55, 0x53, 0x45, 0x44, + 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, 0x45, + 0x10, 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x0e, 0x12, 0x1b, 0x0a, 0x17, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x0f, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x52, 0x45, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x10, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49, 0x4e, + 0x49, 0x4e, 0x47, 0x10, 0x11, 0x12, 0x31, 0x0a, 0x2d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, + 0x50, 0x4c, 0x55, 0x52, 0x41, 0x4c, 0x10, 0x12, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x10, 0x13, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, + 0x10, 0x14, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, + 0x10, 0x15, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x16, + 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x17, 0x12, 0x1a, + 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, + 0x55, 0x4e, 0x45, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x72, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x48, 0x45, + 0x42, 0x41, 0x47, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x53, 0x48, 0x4f, 0x50, + 0x10, 0x19, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x50, 0x55, 0x52, 0x43, + 0x48, 0x41, 0x53, 0x45, 0x44, 0x10, 0x1a, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x53, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x1b, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x43, + 0x52, 0x45, 0x45, 0x50, 0x53, 0x10, 0x1c, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x1d, 0x12, 0x1a, + 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, + 0x41, 0x4e, 0x54, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x1f, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x50, 0x41, 0x55, + 0x53, 0x45, 0x53, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x20, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x50, 0x41, + 0x55, 0x53, 0x45, 0x59, 0x45, 0x54, 0x10, 0x21, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, + 0x22, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x44, + 0x4f, 0x57, 0x4e, 0x10, 0x23, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x24, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x34, + 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x25, + 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x59, 0x4f, 0x55, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x26, 0x12, 0x20, 0x0a, 0x1c, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, + 0x54, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x27, 0x12, 0x22, + 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x56, + 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, + 0x10, 0x29, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x5f, 0x57, 0x41, + 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x48, 0x49, 0x53, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x10, 0x2a, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, + 0x45, 0x52, 0x10, 0x2b, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x43, 0x4f, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x2c, + 0x12, 0x16, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x54, 0x41, 0x55, 0x4e, 0x54, 0x10, 0x2d, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, + 0x2e, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x52, 0x44, 0x5f, 0x54, 0x55, 0x52, 0x4e, 0x10, 0x2f, 0x12, 0x20, 0x0a, 0x1c, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, + 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x10, 0x31, 0x12, 0x21, 0x0a, + 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, + 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x32, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x4c, 0x45, 0x4e, 0x10, 0x35, 0x12, + 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x10, 0x33, 0x12, + 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x34, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x59, 0x10, 0x36, 0x12, 0x1c, - 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, - 0x54, 0x45, 0x4d, 0x5f, 0x47, 0x49, 0x46, 0x54, 0x45, 0x44, 0x10, 0x37, 0x12, 0x27, 0x0a, 0x23, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, - 0x4f, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x47, 0x52, 0x45, 0x45, - 0x56, 0x49, 0x4c, 0x10, 0x38, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x4f, - 0x57, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x39, 0x12, - 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x48, 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x44, 0x45, 0x53, - 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x3a, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, - 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x3b, - 0x12, 0x29, 0x0a, 0x25, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4c, 0x49, 0x4d, - 0x49, 0x54, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x3e, 0x12, 0x31, 0x0a, 0x2d, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, 0x41, 0x4e, - 0x44, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, - 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x3f, 0x12, 0x28, - 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, - 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, - 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x40, 0x12, 0x33, 0x0a, 0x2f, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, - 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, - 0x45, 0x58, 0x50, 0x4c, 0x41, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x41, 0x12, 0x2c, 0x0a, - 0x28, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, - 0x43, 0x52, 0x55, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, - 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x10, 0x42, 0x12, 0x31, 0x0a, 0x2d, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x53, - 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x53, 0x48, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, - 0x4f, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x43, 0x12, 0x20, - 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x41, 0x46, 0x4b, 0x10, 0x49, - 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x44, 0x49, 0x53, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, - 0x4e, 0x47, 0x10, 0x4a, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, - 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x4b, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, 0x5f, - 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, - 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x46, 0x4b, 0x10, 0x4c, 0x12, 0x37, - 0x0a, 0x33, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x5f, - 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, - 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x4d, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x4c, 0x45, 0x4e, 0x10, 0x35, 0x12, 0x1d, + 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, + 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x59, 0x10, 0x36, 0x12, 0x1c, 0x0a, + 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, + 0x45, 0x4d, 0x5f, 0x47, 0x49, 0x46, 0x54, 0x45, 0x44, 0x10, 0x37, 0x12, 0x27, 0x0a, 0x23, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, + 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x56, + 0x49, 0x4c, 0x10, 0x38, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, 0x5f, 0x54, 0x4f, 0x57, + 0x45, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x39, 0x12, 0x27, + 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, + 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x54, + 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x3a, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, 0x5f, + 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x3b, 0x12, + 0x29, 0x0a, 0x25, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, + 0x54, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x3e, 0x12, 0x31, 0x0a, 0x2d, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, + 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, + 0x45, 0x58, 0x50, 0x4c, 0x41, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x3f, 0x12, 0x28, 0x0a, + 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, + 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x40, 0x12, 0x33, 0x0a, 0x2f, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, + 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x45, + 0x58, 0x50, 0x4c, 0x41, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x41, 0x12, 0x2c, 0x0a, 0x28, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x43, + 0x52, 0x55, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x41, + 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x10, 0x42, 0x12, 0x31, 0x0a, 0x2d, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, + 0x49, 0x56, 0x55, 0x53, 0x5f, 0x53, 0x48, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x4f, + 0x53, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x43, 0x12, 0x20, 0x0a, + 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, + 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x41, 0x46, 0x4b, 0x10, 0x49, 0x12, + 0x32, 0x0a, 0x2e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, + 0x47, 0x10, 0x4a, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, + 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x4b, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x42, + 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x46, 0x4b, 0x10, 0x4c, 0x12, 0x37, 0x0a, + 0x33, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, + 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x5f, 0x44, + 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, + 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x4d, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x4e, 0x12, 0x2a, 0x0a, 0x26, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x52, + 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x4f, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x4e, 0x12, 0x2a, 0x0a, 0x26, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, - 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, - 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x4f, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, - 0x4f, 0x52, 0x4b, 0x10, 0x50, 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, - 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, - 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x51, 0x12, 0x29, 0x0a, 0x25, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x51, 0x55, - 0x49, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x10, 0x52, 0x12, 0x3a, 0x0a, 0x36, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x47, 0x41, 0x4d, 0x45, - 0x5f, 0x53, 0x54, 0x49, 0x4c, 0x4c, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x45, - 0x41, 0x56, 0x45, 0x52, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x53, - 0x12, 0x38, 0x0a, 0x34, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, - 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x4f, - 0x4f, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x10, 0x54, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, - 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, - 0x4e, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x55, 0x12, 0x2a, 0x0a, - 0x26, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x49, - 0x43, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x56, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x41, 0x53, 0x53, - 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0x57, 0x12, 0x21, 0x0a, - 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x53, - 0x53, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x58, - 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x41, 0x53, 0x53, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, - 0x10, 0x59, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, - 0x47, 0x45, 0x5f, 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x55, 0x53, 0x45, - 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x5a, 0x12, 0x1c, 0x0a, 0x18, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x46, 0x46, 0x49, - 0x47, 0x59, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x5b, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, - 0x54, 0x45, 0x58, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, - 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x5c, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x5f, 0x42, 0x45, 0x41, 0x53, - 0x54, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x5d, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, - 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x5e, 0x12, 0x1e, 0x0a, 0x1a, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x49, - 0x4e, 0x53, 0x5f, 0x57, 0x41, 0x47, 0x45, 0x52, 0x45, 0x44, 0x10, 0x5f, 0x12, 0x23, 0x0a, 0x1f, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, - 0x4f, 0x5f, 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x4e, 0x10, - 0x60, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x61, 0x12, - 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x62, - 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x63, - 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x64, 0x12, 0x1e, 0x0a, 0x1a, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x48, 0x52, - 0x49, 0x4e, 0x45, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x65, 0x12, 0x22, 0x0a, 0x1e, - 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x41, 0x47, - 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x54, 0x10, 0x66, - 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x57, 0x41, 0x47, 0x45, 0x52, 0x10, 0x67, 0x12, 0x24, 0x0a, - 0x20, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x45, - 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, - 0x52, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x57, 0x41, 0x52, - 0x44, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x69, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, - 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x52, - 0x59, 0x5f, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x6a, 0x12, - 0x2d, 0x0a, 0x29, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x5f, 0x4e, - 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, 0x6b, 0x12, 0x24, - 0x0a, 0x20, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, - 0x45, 0x52, 0x4f, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x10, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x54, 0x59, 0x10, 0x6d, 0x12, 0x24, 0x0a, - 0x20, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x10, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x43, - 0x41, 0x4e, 0x44, 0x59, 0x10, 0x6f, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, - 0x52, 0x41, 0x46, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x45, 0x44, 0x10, 0x70, 0x12, - 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x5f, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x71, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x5f, 0x50, - 0x41, 0x55, 0x53, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, 0x73, - 0x12, 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, - 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, - 0x50, 0x45, 0x4e, 0x47, 0x55, 0x49, 0x4e, 0x10, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x42, 0x4f, - 0x53, 0x53, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x75, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, - 0x5f, 0x49, 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x54, 0x45, 0x58, - 0x54, 0x10, 0x76, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, - 0x45, 0x44, 0x10, 0x77, 0x2a, 0xb2, 0x01, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4e, 0x4f, - 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x52, - 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x53, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, - 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, - 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, - 0x1e, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, - 0x53, 0x5f, 0x50, 0x52, 0x41, 0x43, 0x54, 0x49, 0x43, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x53, 0x10, - 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, - 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x41, 0x54, 0x53, 0x5f, 0x45, 0x4e, 0x41, - 0x42, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, - 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, - 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x04, 0x2a, 0xcf, 0x01, 0x0a, 0x17, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4f, - 0x4f, 0x50, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, - 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x46, 0x4f, - 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x18, 0x0a, - 0x14, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x4d, - 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x49, 0x4e, 0x46, 0x4f, 0x5f, - 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, - 0x59, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, - 0x45, 0x52, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x55, 0x53, - 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x41, 0x4c, 0x54, 0x59, - 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x05, 0x2a, 0xe0, 0x03, 0x0a, 0x16, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, - 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x15, - 0x0a, 0x11, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4d, - 0x41, 0x4e, 0x41, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, - 0x12, 0x16, 0x0a, 0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, - 0x5f, 0x45, 0x4e, 0x45, 0x4d, 0x59, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4c, 0x45, 0x41, 0x52, 0x4e, - 0x45, 0x44, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x42, 0x41, 0x43, 0x4b, 0x50, 0x41, 0x43, 0x4b, 0x10, - 0x06, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, - 0x47, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x4e, 0x43, 0x4f, - 0x55, 0x52, 0x49, 0x45, 0x52, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x09, 0x12, 0x1c, - 0x0a, 0x18, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4c, - 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x49, 0x4c, - 0x4c, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x42, 0x49, - 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, - 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, - 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, - 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x0e, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, - 0x41, 0x4c, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50, 0x10, 0x0f, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x55, - 0x52, 0x49, 0x45, 0x52, 0x42, 0x41, 0x43, 0x4b, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x10, 0x2a, 0x8c, - 0x02, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, - 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, - 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x4f, 0x52, 0x4e, 0x10, 0x02, 0x12, 0x27, 0x0a, - 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, - 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, - 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, + 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x10, 0x50, 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, + 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x51, 0x12, 0x29, 0x0a, 0x25, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x51, 0x55, 0x49, + 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, + 0x4e, 0x10, 0x52, 0x12, 0x3a, 0x0a, 0x36, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, + 0x53, 0x54, 0x49, 0x4c, 0x4c, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x45, 0x41, + 0x56, 0x45, 0x52, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x53, 0x12, + 0x38, 0x0a, 0x34, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x42, + 0x45, 0x46, 0x4f, 0x52, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, + 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x10, 0x54, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, 0x4e, + 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x55, 0x12, 0x2a, 0x0a, 0x26, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x49, 0x43, + 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x56, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x41, 0x53, 0x53, 0x49, + 0x4e, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0x57, 0x12, 0x21, 0x0a, 0x1d, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x53, 0x53, + 0x41, 0x53, 0x53, 0x49, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x58, 0x12, + 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x41, 0x53, 0x53, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, + 0x59, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x5a, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x46, 0x46, 0x49, 0x47, + 0x59, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x5b, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x54, + 0x45, 0x58, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, + 0x4c, 0x4f, 0x57, 0x10, 0x5c, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x5f, 0x42, 0x45, 0x41, 0x53, 0x54, + 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x5d, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x5e, 0x12, 0x1e, 0x0a, 0x1a, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, + 0x53, 0x5f, 0x57, 0x41, 0x47, 0x45, 0x52, 0x45, 0x44, 0x10, 0x5f, 0x12, 0x23, 0x0a, 0x1f, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, + 0x5f, 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x4e, 0x10, 0x60, + 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x61, 0x12, 0x1f, + 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, + 0x45, 0x52, 0x4f, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x62, 0x12, + 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x63, 0x12, + 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x64, 0x12, 0x1e, 0x0a, 0x1a, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x48, 0x52, 0x49, + 0x4e, 0x45, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x41, 0x47, 0x45, + 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x54, 0x10, 0x66, 0x12, + 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x57, 0x41, 0x47, 0x45, 0x52, 0x10, 0x67, 0x12, 0x24, 0x0a, 0x20, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x45, 0x57, + 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, + 0x10, 0x68, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x57, 0x41, 0x52, 0x44, + 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x69, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x6a, 0x12, 0x2d, + 0x0a, 0x29, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, + 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x5f, 0x4e, 0x45, + 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, 0x6b, 0x12, 0x24, 0x0a, + 0x20, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, + 0x52, 0x4f, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x10, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x54, 0x59, 0x10, 0x6d, 0x12, 0x24, 0x0a, 0x20, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, + 0x10, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x43, 0x41, + 0x4e, 0x44, 0x59, 0x10, 0x6f, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x52, + 0x41, 0x46, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x45, 0x44, 0x10, 0x70, 0x12, 0x28, + 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, + 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x71, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x5f, 0x50, 0x41, + 0x55, 0x53, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, 0x73, 0x12, + 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, + 0x45, 0x4e, 0x47, 0x55, 0x49, 0x4e, 0x10, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x42, 0x4f, 0x53, + 0x53, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x75, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, + 0x49, 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x54, 0x45, 0x58, 0x54, + 0x10, 0x76, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x45, + 0x44, 0x10, 0x77, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x41, 0x4c, 0x43, 0x48, 0x45, 0x4d, 0x49, 0x53, 0x54, 0x5f, 0x47, 0x52, + 0x41, 0x4e, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x43, 0x45, 0x50, 0x54, 0x45, 0x52, 0x10, 0x78, 0x12, + 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x45, + 0x44, 0x10, 0x79, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x43, 0x52, 0x41, 0x46, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x58, 0x50, 0x10, + 0x7a, 0x2a, 0xb2, 0x01, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x5f, 0x42, 0x41, + 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x53, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, + 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, + 0x42, 0x42, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x4f, + 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x50, + 0x52, 0x41, 0x43, 0x54, 0x49, 0x43, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x53, 0x10, 0x02, 0x12, 0x23, + 0x0a, 0x1f, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, + 0x54, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x41, 0x54, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, + 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, + 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, + 0x52, 0x49, 0x54, 0x59, 0x10, 0x04, 0x2a, 0xcf, 0x01, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x41, 0x4c, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, + 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x52, 0x55, + 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x46, 0x52, + 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x5f, + 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, + 0x46, 0x4f, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, + 0x45, 0x52, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4f, 0x4f, + 0x50, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, + 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, + 0x04, 0x12, 0x25, 0x0a, 0x21, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x41, 0x4c, 0x54, 0x59, 0x5f, 0x52, 0x45, + 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x05, 0x2a, 0xe0, 0x03, 0x0a, 0x16, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, + 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, + 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x16, 0x0a, + 0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, + 0x45, 0x4d, 0x59, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x45, 0x44, 0x10, + 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, + 0x47, 0x5f, 0x49, 0x4e, 0x42, 0x41, 0x43, 0x4b, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x06, 0x12, 0x18, + 0x0a, 0x14, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x4e, 0x43, 0x4f, 0x55, 0x52, 0x49, + 0x45, 0x52, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x09, 0x12, 0x1c, 0x0a, 0x18, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4c, + 0x45, 0x41, 0x52, 0x4e, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4c, 0x45, + 0x41, 0x52, 0x4e, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x4f, 0x46, + 0x46, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x52, 0x45, + 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x0e, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, + 0x45, 0x51, 0x55, 0x49, 0x50, 0x10, 0x0f, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, + 0x52, 0x42, 0x41, 0x43, 0x4b, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x10, 0x2a, 0x8c, 0x02, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x47, 0x41, 0x4d, - 0x45, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, - 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x57, - 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x06, 0x2a, 0xe5, 0x01, - 0x0a, 0x13, 0x45, 0x44, 0x6f, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, - 0x49, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, + 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, + 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, + 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x4f, 0x52, 0x4e, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, + 0x44, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, + 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, + 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x05, + 0x12, 0x28, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, + 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x06, 0x2a, 0xe5, 0x01, 0x0a, 0x13, 0x45, + 0x44, 0x6f, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, + 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, 0x4d, 0x55, 0x54, + 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, + 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x02, 0x12, 0x1c, + 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, + 0x56, 0x45, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, + 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x53, 0x10, 0x04, 0x12, + 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x46, 0x41, 0x44, + 0x45, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x06, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, - 0x4d, 0x55, 0x54, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, - 0x4e, 0x49, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, - 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, - 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, - 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x4d, - 0x4f, 0x56, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x53, - 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, - 0x46, 0x41, 0x44, 0x45, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x06, 0x12, 0x25, - 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x45, - 0x43, 0x48, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x52, 0x55, - 0x4c, 0x45, 0x53, 0x10, 0x07, 0x2a, 0xac, 0x06, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4f, - 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x12, 0x17, 0x0a, - 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, - 0x47, 0x4f, 0x4c, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, - 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, - 0x1b, 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, - 0x54, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, - 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x58, - 0x50, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, - 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x53, 0x50, 0x45, 0x4c, - 0x4c, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, - 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x49, 0x53, - 0x53, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, - 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x06, 0x12, 0x18, - 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, - 0x5f, 0x45, 0x56, 0x41, 0x44, 0x45, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, - 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, - 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x50, 0x4f, 0x49, 0x53, 0x4f, - 0x4e, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, - 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x48, 0x45, 0x41, - 0x4c, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, - 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x0b, - 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, - 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0c, 0x12, 0x21, + 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, + 0x10, 0x07, 0x2a, 0xac, 0x06, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4f, 0x56, 0x45, 0x52, + 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, + 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x47, 0x4f, 0x4c, + 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, + 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, + 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x43, + 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x56, 0x45, + 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x58, 0x50, 0x10, 0x03, + 0x12, 0x25, 0x0a, 0x21, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, + 0x52, 0x54, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x53, 0x50, 0x45, 0x4c, 0x4c, 0x5f, 0x44, + 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, + 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x10, 0x05, + 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, + 0x52, 0x54, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x4f, + 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x45, 0x56, + 0x41, 0x44, 0x45, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, + 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x08, 0x12, + 0x26, 0x0a, 0x22, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, + 0x54, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x50, 0x4f, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x44, + 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, + 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x10, 0x0a, + 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, + 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x0b, 0x12, 0x1c, 0x0a, + 0x18, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0c, 0x12, 0x21, 0x0a, 0x1d, 0x4f, + 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4c, 0x41, + 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, - 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, - 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, - 0x45, 0x52, 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x43, 0x4c, 0x4f, - 0x53, 0x45, 0x10, 0x0e, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, - 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, - 0x4d, 0x49, 0x53, 0x53, 0x10, 0x0f, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, - 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x47, 0x49, 0x43, 0x41, 0x4c, - 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x56, 0x45, 0x52, - 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, - 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x11, 0x12, 0x22, 0x0a, 0x1e, - 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4f, - 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x12, - 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, - 0x52, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x53, - 0x54, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, - 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x14, 0x12, 0x1a, 0x0a, - 0x16, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x15, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, - 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, - 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x10, 0x16, 0x12, 0x18, 0x0a, 0x14, 0x4f, - 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x53, 0x48, - 0x41, 0x52, 0x44, 0x10, 0x17, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, - 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x59, 0x5f, 0x42, - 0x4c, 0x4f, 0x57, 0x10, 0x18, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, - 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x4d, 0x49, - 0x53, 0x53, 0x10, 0x19, 0x2a, 0x6b, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x4f, 0x53, - 0x48, 0x41, 0x4e, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x53, - 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x4c, 0x49, 0x56, 0x45, - 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, - 0x48, 0x41, 0x4e, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0x01, - 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, - 0x4e, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, - 0x02, 0x2a, 0x81, 0x04, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x12, 0x16, 0x0a, 0x12, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, - 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, - 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x41, 0x4e, - 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, - 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x44, - 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x44, - 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x1d, 0x0a, - 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, - 0x49, 0x52, 0x45, 0x5f, 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, - 0x44, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x4e, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x06, - 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x10, - 0x07, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, - 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, - 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, 0x53, - 0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x49, - 0x56, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, - 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x50, 0x49, - 0x54, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x42, 0x41, 0x53, - 0x45, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0x0d, + 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, + 0x0e, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, + 0x45, 0x52, 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4d, 0x49, 0x53, + 0x53, 0x10, 0x0f, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, + 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, + 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, + 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x11, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x56, 0x45, + 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x47, + 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x12, 0x12, 0x21, 0x0a, + 0x1d, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, + 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x53, 0x54, 0x10, 0x13, + 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, + 0x52, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x56, + 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x45, 0x44, 0x10, 0x15, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, + 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x52, 0x45, + 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x10, 0x16, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, + 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x44, + 0x10, 0x17, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, + 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x57, + 0x10, 0x18, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, + 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x10, + 0x19, 0x2a, 0x6b, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, + 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, + 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, + 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, + 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1f, 0x0a, + 0x1b, 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x56, + 0x49, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x81, + 0x04, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, + 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x10, 0x0e, 0x12, 0x17, 0x0a, 0x13, - 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x54, - 0x48, 0x45, 0x52, 0x10, 0x0f, 0x2a, 0xe6, 0x01, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, - 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x21, - 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, - 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, - 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x43, 0x52, - 0x45, 0x45, 0x50, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x45, - 0x4d, 0x59, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, - 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, - 0x5f, 0x45, 0x4e, 0x45, 0x4d, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x45, 0x50, 0x10, 0x05, 0x2a, 0x98, - 0x08, 0x0a, 0x0d, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1e, 0x6b, 0x5f, - 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x78, - 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd0, 0x0f, 0x12, - 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x44, - 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, - 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd2, - 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, - 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd3, 0x0f, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, + 0x4e, 0x5f, 0x4d, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, + 0x50, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, + 0x54, 0x5f, 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, + 0x5f, 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, + 0x4e, 0x54, 0x5f, 0x41, 0x4e, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x06, 0x12, 0x1f, 0x0a, + 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, + 0x49, 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x07, 0x12, 0x25, + 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x53, + 0x48, 0x4f, 0x50, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, + 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, + 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x49, 0x56, 0x45, 0x52, + 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x50, 0x49, 0x54, 0x10, 0x0b, + 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0x0c, + 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0x0d, 0x12, 0x1a, 0x0a, + 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x10, 0x0e, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, + 0x10, 0x0f, 0x2a, 0xe6, 0x01, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, + 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, + 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, + 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, + 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x02, 0x12, 0x22, + 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, + 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x45, 0x50, + 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x45, 0x4d, 0x59, 0x5f, + 0x48, 0x45, 0x52, 0x4f, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x4e, + 0x45, 0x4d, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x45, 0x50, 0x10, 0x05, 0x2a, 0x98, 0x08, 0x0a, 0x0d, + 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x14, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x78, 0x65, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd0, 0x0f, 0x12, 0x27, 0x0a, 0x22, + 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x48, 0x65, 0x6c, 0x69, 0x78, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd2, 0x0f, 0x12, 0x27, + 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x44, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd3, 0x0f, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, + 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x10, 0xd4, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, + 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x48, 0x69, 0x74, + 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x10, 0xd5, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, - 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xd4, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x48, - 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, - 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, - 0x48, 0x69, 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x10, 0xd5, 0x0f, 0x12, 0x30, 0x0a, - 0x2b, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x4f, - 0x74, 0x68, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x48, 0x69, 0x74, 0x10, 0xd6, 0x0f, 0x12, - 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, - 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x61, 0x6b, 0x65, - 0x6e, 0x10, 0xd7, 0x0f, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, - 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, - 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x6b, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xd8, 0x0f, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, - 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x43, 0x61, 0x73, 0x74, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x10, 0xd9, 0x0f, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, - 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xda, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, - 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x0f, 0x12, 0x2a, 0x0a, 0x25, + 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x74, 0x68, 0x65, + 0x72, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x48, 0x69, 0x74, 0x10, 0xd6, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x50, 0x72, 0x6f, 0x63, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xdc, 0x0f, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x48, + 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x65, + 0x72, 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xd7, + 0x0f, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, + 0x61, 0x6c, 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x54, + 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xd8, 0x0f, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x43, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x10, 0xd9, 0x0f, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, + 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, + 0x67, 0x65, 0x72, 0x50, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xda, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x0f, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x50, 0x72, 0x6f, 0x63, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x10, 0xdc, 0x0f, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x48, 0x65, 0x6c, 0x69, 0x78, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x10, 0xdd, 0x0f, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x48, 0x65, 0x6c, 0x69, 0x78, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x48, 0x69, 0x74, 0x41, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x10, 0xde, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x63, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xdd, 0x0f, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x48, - 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x48, 0x69, - 0x74, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x10, 0xde, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, + 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x55, 0x6e, 0x69, + 0x74, 0x73, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xdf, 0x0f, 0x12, 0x2a, 0x0a, + 0x25, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x43, 0x61, 0x73, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe0, 0x0f, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x10, 0xe1, 0x0f, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x42, 0x6c, 0x61, 0x64, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x75, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0xe2, 0x0f, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x55, 0x6e, 0x69, 0x74, 0x73, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xdf, 0x0f, - 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, - 0x43, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe0, 0x0f, 0x12, 0x2a, 0x0a, 0x25, - 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, - 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe1, 0x0f, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x48, - 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x75, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0xe2, 0x0f, 0x12, 0x37, - 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x41, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x10, 0xe3, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x48, 0x65, - 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x75, 0x66, 0x66, 0x41, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x10, 0xe4, 0x0f, 0x2a, 0xe4, 0x04, 0x0a, 0x17, 0x45, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x4e, - 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, - 0x65, 0x6e, 0x69, 0x65, 0x64, 0x43, 0x68, 0x61, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x10, - 0x01, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, - 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x50, - 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, - 0x6c, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, - 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, - 0x65, 0x64, 0x48, 0x4c, 0x54, 0x56, 0x4e, 0x6f, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x44, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x50, 0x56, 0x4c, - 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, 0x6b, - 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, - 0x65, 0x64, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, - 0x06, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, - 0x64, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, - 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x50, 0x56, 0x4c, - 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x10, 0x40, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x50, - 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, - 0x6b, 0x65, 0x72, 0x49, 0x73, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x10, 0x41, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x43, 0x6f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0x42, - 0x12, 0x16, 0x0a, 0x12, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, - 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x10, 0x43, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x50, 0x56, 0x4c, - 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x43, 0x6f, 0x61, 0x63, 0x68, 0x10, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, - 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x10, 0x45, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x49, 0x73, 0x43, 0x6f, 0x61, 0x63, - 0x68, 0x10, 0x46, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x65, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x10, - 0x47, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x53, 0x61, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x48, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x50, - 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, - 0x65, 0x10, 0x49, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x10, 0x4a, - 0x2a, 0x42, 0x0a, 0x10, 0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x0e, 0x65, 0x50, 0x45, 0x5f, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x65, 0x50, 0x45, 0x5f, - 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x5f, 0x67, 0x6f, 0x64, 0x6c, 0x69, - 0x6b, 0x65, 0x10, 0x01, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, - 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x10, 0xe3, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, + 0x6c, 0x61, 0x64, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x75, 0x66, 0x66, 0x41, 0x76, 0x65, 0x72, + 0x61, 0x67, 0x65, 0x10, 0xe4, 0x0f, 0x2a, 0xe4, 0x04, 0x0a, 0x17, 0x45, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, + 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x01, 0x12, 0x17, + 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x50, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x50, 0x56, 0x4c, 0x53, + 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, 0x6b, 0x65, + 0x72, 0x4e, 0x6f, 0x74, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x03, 0x12, + 0x24, 0x0a, 0x20, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, + 0x4c, 0x54, 0x56, 0x4e, 0x6f, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x44, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, + 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x4e, + 0x6f, 0x74, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0x05, 0x12, + 0x1d, 0x0a, 0x19, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, + 0x65, 0x61, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x06, 0x12, 0x17, + 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x53, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, + 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x61, 0x63, 0x68, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, + 0x65, 0x6e, 0x69, 0x65, 0x64, 0x10, 0x40, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x50, 0x56, 0x4c, 0x53, + 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, + 0x49, 0x73, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0x41, 0x12, + 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0x42, 0x12, 0x16, 0x0a, + 0x12, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x43, + 0x68, 0x61, 0x74, 0x10, 0x43, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x43, 0x6f, 0x61, + 0x63, 0x68, 0x10, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x46, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, + 0x10, 0x45, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x49, 0x73, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x10, 0x46, + 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, + 0x6f, 0x61, 0x63, 0x68, 0x48, 0x65, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x47, 0x12, 0x17, + 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x61, 0x6d, + 0x65, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x48, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, + 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x10, 0x49, + 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x10, 0x4a, 0x2a, 0x42, 0x0a, + 0x10, 0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x0e, 0x65, 0x50, 0x45, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, + 0x6f, 0x6f, 0x64, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x65, 0x50, 0x45, 0x5f, 0x4b, 0x69, 0x6c, + 0x6c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x5f, 0x67, 0x6f, 0x64, 0x6c, 0x69, 0x6b, 0x65, 0x10, + 0x01, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, + 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -17186,8 +17532,8 @@ func file_dota_usermessages_proto_rawDescGZIP() []byte { return file_dota_usermessages_proto_rawDescData } -var file_dota_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 16) -var file_dota_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 182) +var file_dota_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 17) +var file_dota_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 185) var file_dota_usermessages_proto_goTypes = []interface{}{ (EDotaUserMessages)(0), // 0: dota.EDotaUserMessages (DOTA_CHAT_MESSAGE)(0), // 1: dota.DOTA_CHAT_MESSAGE @@ -17205,284 +17551,291 @@ var file_dota_usermessages_proto_goTypes = []interface{}{ (EProjectionEvent)(0), // 13: dota.EProjectionEvent (CDOTAResponseQuerySerialized_Fact_ValueType)(0), // 14: dota.CDOTAResponseQuerySerialized.Fact.ValueType (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType)(0), // 15: dota.CDOTAUserMsg_GuildChallenge_Progress.EChallengeType - (*CDOTAUserMsg_AIDebugLine)(nil), // 16: dota.CDOTAUserMsg_AIDebugLine - (*CDOTAUserMsg_Ping)(nil), // 17: dota.CDOTAUserMsg_Ping - (*CDOTAUserMsg_SwapVerify)(nil), // 18: dota.CDOTAUserMsg_SwapVerify - (*CDOTAUserMsg_ChatEvent)(nil), // 19: dota.CDOTAUserMsg_ChatEvent - (*CDOTAUserMsg_BotChat)(nil), // 20: dota.CDOTAUserMsg_BotChat - (*CDOTAUserMsg_CombatHeroPositions)(nil), // 21: dota.CDOTAUserMsg_CombatHeroPositions - (*CDOTAUserMsg_CombatLogBulkData)(nil), // 22: dota.CDOTAUserMsg_CombatLogBulkData - (*CDOTAUserMsg_ProjectileParticleCPData)(nil), // 23: dota.CDOTAUserMsg_ProjectileParticleCPData - (*CDOTAUserMsg_UpdateLinearProjectileCPData)(nil), // 24: dota.CDOTAUserMsg_UpdateLinearProjectileCPData - (*CDOTAUserMsg_MiniKillCamInfo)(nil), // 25: dota.CDOTAUserMsg_MiniKillCamInfo - (*CDOTAUserMsg_GlobalLightColor)(nil), // 26: dota.CDOTAUserMsg_GlobalLightColor - (*CDOTAUserMsg_GlobalLightDirection)(nil), // 27: dota.CDOTAUserMsg_GlobalLightDirection - (*CDOTAUserMsg_LocationPing)(nil), // 28: dota.CDOTAUserMsg_LocationPing - (*CDOTAUserMsg_PingConfirmation)(nil), // 29: dota.CDOTAUserMsg_PingConfirmation - (*CDOTAUserMsg_ItemAlert)(nil), // 30: dota.CDOTAUserMsg_ItemAlert - (*CDOTAUserMsg_EnemyItemAlert)(nil), // 31: dota.CDOTAUserMsg_EnemyItemAlert - (*CDOTAUserMsg_ModifierAlert)(nil), // 32: dota.CDOTAUserMsg_ModifierAlert - (*CDOTAUserMsg_HPManaAlert)(nil), // 33: dota.CDOTAUserMsg_HPManaAlert - (*CDOTAUserMsg_NeutralCampAlert)(nil), // 34: dota.CDOTAUserMsg_NeutralCampAlert - (*CDOTAUserMsg_GlyphAlert)(nil), // 35: dota.CDOTAUserMsg_GlyphAlert - (*CDOTAUserMsg_RadarAlert)(nil), // 36: dota.CDOTAUserMsg_RadarAlert - (*CDOTAUserMsg_WillPurchaseAlert)(nil), // 37: dota.CDOTAUserMsg_WillPurchaseAlert - (*CDOTAUserMsg_EmptyTeleportAlert)(nil), // 38: dota.CDOTAUserMsg_EmptyTeleportAlert - (*CDOTAUserMsg_MarsArenaOfBloodAttack)(nil), // 39: dota.CDOTAUserMsg_MarsArenaOfBloodAttack - (*CDOTAEntityMsg_InvokerSpellCast)(nil), // 40: dota.CDOTAEntityMsg_InvokerSpellCast - (*CDOTAUserMsg_BuyBackStateAlert)(nil), // 41: dota.CDOTAUserMsg_BuyBackStateAlert - (*CDOTAUserMsg_QuickBuyAlert)(nil), // 42: dota.CDOTAUserMsg_QuickBuyAlert - (*CDOTAUserMsg_CourierKilledAlert)(nil), // 43: dota.CDOTAUserMsg_CourierKilledAlert - (*CDOTAUserMsg_MinimapEvent)(nil), // 44: dota.CDOTAUserMsg_MinimapEvent - (*CDOTAUserMsg_MapLine)(nil), // 45: dota.CDOTAUserMsg_MapLine - (*CDOTAUserMsg_MinimapDebugPoint)(nil), // 46: dota.CDOTAUserMsg_MinimapDebugPoint - (*CDOTAUserMsg_CreateLinearProjectile)(nil), // 47: dota.CDOTAUserMsg_CreateLinearProjectile - (*CDOTAUserMsg_DestroyLinearProjectile)(nil), // 48: dota.CDOTAUserMsg_DestroyLinearProjectile - (*CDOTAUserMsg_DodgeTrackingProjectiles)(nil), // 49: dota.CDOTAUserMsg_DodgeTrackingProjectiles - (*CDOTAUserMsg_SpectatorPlayerClick)(nil), // 50: dota.CDOTAUserMsg_SpectatorPlayerClick - (*CDOTAUserMsg_SpectatorPlayerUnitOrders)(nil), // 51: dota.CDOTAUserMsg_SpectatorPlayerUnitOrders - (*CDOTAUserMsg_NevermoreRequiem)(nil), // 52: dota.CDOTAUserMsg_NevermoreRequiem - (*CDOTAUserMsg_InvalidCommand)(nil), // 53: dota.CDOTAUserMsg_InvalidCommand - (*CDOTAUserMsg_HudError)(nil), // 54: dota.CDOTAUserMsg_HudError - (*CDOTAUserMsg_SharedCooldown)(nil), // 55: dota.CDOTAUserMsg_SharedCooldown - (*CDOTAUserMsg_SetNextAutobuyItem)(nil), // 56: dota.CDOTAUserMsg_SetNextAutobuyItem - (*CDOTAUserMsg_HalloweenDrops)(nil), // 57: dota.CDOTAUserMsg_HalloweenDrops - (*CDOTAResponseQuerySerialized)(nil), // 58: dota.CDOTAResponseQuerySerialized - (*CDOTASpeechMatchOnClient)(nil), // 59: dota.CDOTASpeechMatchOnClient - (*CDOTAUserMsg_UnitEvent)(nil), // 60: dota.CDOTAUserMsg_UnitEvent - (*CDOTAUserMsg_ItemPurchased)(nil), // 61: dota.CDOTAUserMsg_ItemPurchased - (*CDOTAUserMsg_ItemSold)(nil), // 62: dota.CDOTAUserMsg_ItemSold - (*CDOTAUserMsg_ItemFound)(nil), // 63: dota.CDOTAUserMsg_ItemFound - (*CDOTAUserMsg_OverheadEvent)(nil), // 64: dota.CDOTAUserMsg_OverheadEvent - (*CDOTAUserMsg_TutorialTipInfo)(nil), // 65: dota.CDOTAUserMsg_TutorialTipInfo - (*CDOTAUserMsg_TutorialFinish)(nil), // 66: dota.CDOTAUserMsg_TutorialFinish - (*CDOTAUserMsg_TutorialMinimapPosition)(nil), // 67: dota.CDOTAUserMsg_TutorialMinimapPosition - (*CDOTAUserMsg_SendGenericToolTip)(nil), // 68: dota.CDOTAUserMsg_SendGenericToolTip - (*CDOTAUserMsg_WorldLine)(nil), // 69: dota.CDOTAUserMsg_WorldLine - (*CDOTAUserMsg_ChatWheel)(nil), // 70: dota.CDOTAUserMsg_ChatWheel - (*CDOTAUserMsg_ReceivedXmasGift)(nil), // 71: dota.CDOTAUserMsg_ReceivedXmasGift - (*CDOTAUserMsg_ShowSurvey)(nil), // 72: dota.CDOTAUserMsg_ShowSurvey - (*CDOTAUserMsg_UpdateSharedContent)(nil), // 73: dota.CDOTAUserMsg_UpdateSharedContent - (*CDOTAUserMsg_TutorialRequestExp)(nil), // 74: dota.CDOTAUserMsg_TutorialRequestExp - (*CDOTAUserMsg_TutorialFade)(nil), // 75: dota.CDOTAUserMsg_TutorialFade - (*CDOTAUserMsg_TutorialPingMinimap)(nil), // 76: dota.CDOTAUserMsg_TutorialPingMinimap - (*CDOTAUserMsg_GamerulesStateChanged)(nil), // 77: dota.CDOTAUserMsg_GamerulesStateChanged - (*CDOTAUserMsg_AddQuestLogEntry)(nil), // 78: dota.CDOTAUserMsg_AddQuestLogEntry - (*CDOTAUserMsg_SendStatPopup)(nil), // 79: dota.CDOTAUserMsg_SendStatPopup - (*CDOTAUserMsg_DismissAllStatPopups)(nil), // 80: dota.CDOTAUserMsg_DismissAllStatPopups - (*CDOTAUserMsg_SendRoshanSpectatorPhase)(nil), // 81: dota.CDOTAUserMsg_SendRoshanSpectatorPhase - (*CDOTAUserMsg_SendRoshanPopup)(nil), // 82: dota.CDOTAUserMsg_SendRoshanPopup - (*CDOTAUserMsg_SendFinalGold)(nil), // 83: dota.CDOTAUserMsg_SendFinalGold - (*CDOTAUserMsg_CustomMsg)(nil), // 84: dota.CDOTAUserMsg_CustomMsg - (*CDOTAUserMsg_CoachHUDPing)(nil), // 85: dota.CDOTAUserMsg_CoachHUDPing - (*CDOTAUserMsg_ClientLoadGridNav)(nil), // 86: dota.CDOTAUserMsg_ClientLoadGridNav - (*CDOTAUserMsg_TE_Projectile)(nil), // 87: dota.CDOTAUserMsg_TE_Projectile - (*CDOTAUserMsg_TE_ProjectileLoc)(nil), // 88: dota.CDOTAUserMsg_TE_ProjectileLoc - (*CDOTAUserMsg_TE_DestroyProjectile)(nil), // 89: dota.CDOTAUserMsg_TE_DestroyProjectile - (*CDOTAUserMsg_TE_DotaBloodImpact)(nil), // 90: dota.CDOTAUserMsg_TE_DotaBloodImpact - (*CDOTAUserMsg_AbilityPing)(nil), // 91: dota.CDOTAUserMsg_AbilityPing - (*CDOTAUserMsg_TE_UnitAnimation)(nil), // 92: dota.CDOTAUserMsg_TE_UnitAnimation - (*CDOTAUserMsg_TE_UnitAnimationEnd)(nil), // 93: dota.CDOTAUserMsg_TE_UnitAnimationEnd - (*CDOTAUserMsg_ShowGenericPopup)(nil), // 94: dota.CDOTAUserMsg_ShowGenericPopup - (*CDOTAUserMsg_VoteStart)(nil), // 95: dota.CDOTAUserMsg_VoteStart - (*CDOTAUserMsg_VoteUpdate)(nil), // 96: dota.CDOTAUserMsg_VoteUpdate - (*CDOTAUserMsg_VoteEnd)(nil), // 97: dota.CDOTAUserMsg_VoteEnd - (*CDOTAUserMsg_BoosterStatePlayer)(nil), // 98: dota.CDOTAUserMsg_BoosterStatePlayer - (*CDOTAUserMsg_BoosterState)(nil), // 99: dota.CDOTAUserMsg_BoosterState - (*CDOTAUserMsg_PlayerMMR)(nil), // 100: dota.CDOTAUserMsg_PlayerMMR - (*CDOTAUserMsg_AbilitySteal)(nil), // 101: dota.CDOTAUserMsg_AbilitySteal - (*CDOTAUserMsg_StatsHeroLookup)(nil), // 102: dota.CDOTAUserMsg_StatsHeroLookup - (*CDOTAUserMsg_StatsHeroPositionInfo)(nil), // 103: dota.CDOTAUserMsg_StatsHeroPositionInfo - (*CDOTAUserMsg_StatsHeroMinuteDetails)(nil), // 104: dota.CDOTAUserMsg_StatsHeroMinuteDetails - (*CDOTAUserMsg_StatsTeamMinuteDetails)(nil), // 105: dota.CDOTAUserMsg_StatsTeamMinuteDetails - (*CDOTAUserMsg_StatsPlayerKillShare)(nil), // 106: dota.CDOTAUserMsg_StatsPlayerKillShare - (*CDOTAUserMsg_StatsKillDetails)(nil), // 107: dota.CDOTAUserMsg_StatsKillDetails - (*CDOTAUserMsg_StatsMatchDetails)(nil), // 108: dota.CDOTAUserMsg_StatsMatchDetails - (*CDOTAUserMsg_MiniTaunt)(nil), // 109: dota.CDOTAUserMsg_MiniTaunt - (*CDOTAUserMsg_SpeechBubble)(nil), // 110: dota.CDOTAUserMsg_SpeechBubble - (*CDOTAUserMsg_CustomHeaderMessage)(nil), // 111: dota.CDOTAUserMsg_CustomHeaderMessage - (*CMsgHeroAbilityStat)(nil), // 112: dota.CMsgHeroAbilityStat - (*CMsgCombatAnalyzerPlayerStat)(nil), // 113: dota.CMsgCombatAnalyzerPlayerStat - (*CMsgCombatAnalyzerStats)(nil), // 114: dota.CMsgCombatAnalyzerStats - (*CDOTAUserMsg_BeastChat)(nil), // 115: dota.CDOTAUserMsg_BeastChat - (*CDOTAUserMsg_CustomHudElement_Create)(nil), // 116: dota.CDOTAUserMsg_CustomHudElement_Create - (*CDOTAUserMsg_CustomHudElement_Modify)(nil), // 117: dota.CDOTAUserMsg_CustomHudElement_Modify - (*CDOTAUserMsg_CustomHudElement_Destroy)(nil), // 118: dota.CDOTAUserMsg_CustomHudElement_Destroy - (*CDOTAUserMsg_CompendiumStatePlayer)(nil), // 119: dota.CDOTAUserMsg_CompendiumStatePlayer - (*CDOTAUserMsg_CompendiumState)(nil), // 120: dota.CDOTAUserMsg_CompendiumState - (*CDOTAUserMsg_ProjectionAbility)(nil), // 121: dota.CDOTAUserMsg_ProjectionAbility - (*CDOTAUserMsg_ProjectionEvent)(nil), // 122: dota.CDOTAUserMsg_ProjectionEvent - (*CDOTAUserMsg_XPAlert)(nil), // 123: dota.CDOTAUserMsg_XPAlert - (*CDOTAUserMsg_TalentTreeAlert)(nil), // 124: dota.CDOTAUserMsg_TalentTreeAlert - (*CDOTAUserMsg_UpdateQuestProgress)(nil), // 125: dota.CDOTAUserMsg_UpdateQuestProgress - (*CDOTAUserMsg_QuestStatus)(nil), // 126: dota.CDOTAUserMsg_QuestStatus - (*CDOTAUserMsg_SuggestHeroPick)(nil), // 127: dota.CDOTAUserMsg_SuggestHeroPick - (*CDOTAUserMsg_SuggestHeroRole)(nil), // 128: dota.CDOTAUserMsg_SuggestHeroRole - (*CDOTAUserMsg_KillcamDamageTaken)(nil), // 129: dota.CDOTAUserMsg_KillcamDamageTaken - (*CDOTAUserMsg_SelectPenaltyGold)(nil), // 130: dota.CDOTAUserMsg_SelectPenaltyGold - (*CDOTAUserMsg_RollDiceResult)(nil), // 131: dota.CDOTAUserMsg_RollDiceResult - (*CDOTAUserMsg_FlipCoinResult)(nil), // 132: dota.CDOTAUserMsg_FlipCoinResult - (*CDOTAUserMessage_RequestItemSuggestions)(nil), // 133: dota.CDOTAUserMessage_RequestItemSuggestions - (*CDOTAUserMessage_TeamCaptainChanged)(nil), // 134: dota.CDOTAUserMessage_TeamCaptainChanged - (*CDOTAUserMsg_ChatWheelCooldown)(nil), // 135: dota.CDOTAUserMsg_ChatWheelCooldown - (*CDOTAUserMsg_HeroRelicProgress)(nil), // 136: dota.CDOTAUserMsg_HeroRelicProgress - (*CDOTAUserMsg_AbilityDraftRequestAbility)(nil), // 137: dota.CDOTAUserMsg_AbilityDraftRequestAbility - (*CDOTAUserMsg_DamageReport)(nil), // 138: dota.CDOTAUserMsg_DamageReport - (*CDOTAUserMsg_SalutePlayer)(nil), // 139: dota.CDOTAUserMsg_SalutePlayer - (*CDOTAUserMsg_GiftPlayer)(nil), // 140: dota.CDOTAUserMsg_GiftPlayer - (*CDOTAUserMsg_TipAlert)(nil), // 141: dota.CDOTAUserMsg_TipAlert - (*CDOTAUserMsg_ReplaceQueryUnit)(nil), // 142: dota.CDOTAUserMsg_ReplaceQueryUnit - (*CDOTAUserMsg_ESArcanaCombo)(nil), // 143: dota.CDOTAUserMsg_ESArcanaCombo - (*CDOTAUserMsg_ESArcanaComboSummary)(nil), // 144: dota.CDOTAUserMsg_ESArcanaComboSummary - (*CDOTAUserMsg_OMArcanaCombo)(nil), // 145: dota.CDOTAUserMsg_OMArcanaCombo - (*CDOTAUserMsg_HighFiveCompleted)(nil), // 146: dota.CDOTAUserMsg_HighFiveCompleted - (*CDOTAUserMsg_HighFiveLeftHanging)(nil), // 147: dota.CDOTAUserMsg_HighFiveLeftHanging - (*CDOTAUserMsg_ShovelUnearth)(nil), // 148: dota.CDOTAUserMsg_ShovelUnearth - (*CDOTAUserMsg_AllStarEvent)(nil), // 149: dota.CDOTAUserMsg_AllStarEvent - (*CDOTAUserMsg_QueuedOrderRemoved)(nil), // 150: dota.CDOTAUserMsg_QueuedOrderRemoved - (*CDOTAUserMsg_DebugChallenge)(nil), // 151: dota.CDOTAUserMsg_DebugChallenge - (*CDOTAUserMsg_FoundNeutralItem)(nil), // 152: dota.CDOTAUserMsg_FoundNeutralItem - (*CDOTAUserMsg_OutpostCaptured)(nil), // 153: dota.CDOTAUserMsg_OutpostCaptured - (*CDOTAUserMsg_OutpostGrantedXP)(nil), // 154: dota.CDOTAUserMsg_OutpostGrantedXP - (*CDOTAUserMsg_MoveCameraToUnit)(nil), // 155: dota.CDOTAUserMsg_MoveCameraToUnit - (*CDOTAUserMsg_PauseMinigameData)(nil), // 156: dota.CDOTAUserMsg_PauseMinigameData - (*CDOTAUserMsg_VersusScene_PlayerBehavior)(nil), // 157: dota.CDOTAUserMsg_VersusScene_PlayerBehavior - (*CDOTAUserMsg_QoP_ArcanaSummary)(nil), // 158: dota.CDOTAUserMsg_QoP_ArcanaSummary - (*CDOTAUserMsg_HotPotato_Created)(nil), // 159: dota.CDOTAUserMsg_HotPotato_Created - (*CDOTAUserMsg_HotPotato_Exploded)(nil), // 160: dota.CDOTAUserMsg_HotPotato_Exploded - (*CDOTAUserMsg_WK_Arcana_Progress)(nil), // 161: dota.CDOTAUserMsg_WK_Arcana_Progress - (*CDOTAUserMsg_GuildChallenge_Progress)(nil), // 162: dota.CDOTAUserMsg_GuildChallenge_Progress - (*CDOTAUserMsg_WRArcanaProgress)(nil), // 163: dota.CDOTAUserMsg_WRArcanaProgress - (*CDOTAUserMsg_WRArcanaSummary)(nil), // 164: dota.CDOTAUserMsg_WRArcanaSummary - (*CDOTAUserMsg_EmptyItemSlotAlert)(nil), // 165: dota.CDOTAUserMsg_EmptyItemSlotAlert - (*CDOTAUserMsg_AghsStatusAlert)(nil), // 166: dota.CDOTAUserMsg_AghsStatusAlert - (*CDOTAUserMsg_MutedPlayers)(nil), // 167: dota.CDOTAUserMsg_MutedPlayers - (*CDOTAUserMsg_ContextualTip)(nil), // 168: dota.CDOTAUserMsg_ContextualTip - (*CDOTAUserMsg_ChatMessage)(nil), // 169: dota.CDOTAUserMsg_ChatMessage - (*CDOTAUserMsg_RockPaperScissorsStarted)(nil), // 170: dota.CDOTAUserMsg_RockPaperScissorsStarted - (*CDOTAUserMsg_RockPaperScissorsFinished)(nil), // 171: dota.CDOTAUserMsg_RockPaperScissorsFinished - (*CDOTAUserMsg_DuelOpponentKilled)(nil), // 172: dota.CDOTAUserMsg_DuelOpponentKilled - (*CDOTAUserMsg_DuelAccepted)(nil), // 173: dota.CDOTAUserMsg_DuelAccepted - (*CDOTAUserMsg_DuelRequested)(nil), // 174: dota.CDOTAUserMsg_DuelRequested - (*CDOTAUserMsg_MuertaReleaseEvent_AssignedTargetKilled)(nil), // 175: dota.CDOTAUserMsg_MuertaReleaseEvent_AssignedTargetKilled - (*CDOTAUserMsg_PlayerDraftSuggestPick)(nil), // 176: dota.CDOTAUserMsg_PlayerDraftSuggestPick - (*CDOTAUserMsg_PlayerDraftPick)(nil), // 177: dota.CDOTAUserMsg_PlayerDraftPick - (*CDOTAUserMsg_FacetPing)(nil), // 178: dota.CDOTAUserMsg_FacetPing - (*CDOTAUserMsg_InnatePing)(nil), // 179: dota.CDOTAUserMsg_InnatePing - (*CDOTAUserMsg_MiniKillCamInfo_Attacker)(nil), // 180: dota.CDOTAUserMsg_MiniKillCamInfo.Attacker - (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability)(nil), // 181: dota.CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability - (*CDOTAUserMsg_CourierKilledAlert_LostItem)(nil), // 182: dota.CDOTAUserMsg_CourierKilledAlert.LostItem - (*CDOTAResponseQuerySerialized_Fact)(nil), // 183: dota.CDOTAResponseQuerySerialized.Fact - (*CDOTAUserMsg_UnitEvent_Interval)(nil), // 184: dota.CDOTAUserMsg_UnitEvent.Interval - (*CDOTAUserMsg_UnitEvent_Speech)(nil), // 185: dota.CDOTAUserMsg_UnitEvent.Speech - (*CDOTAUserMsg_UnitEvent_SpeechMute)(nil), // 186: dota.CDOTAUserMsg_UnitEvent.SpeechMute - (*CDOTAUserMsg_UnitEvent_AddGesture)(nil), // 187: dota.CDOTAUserMsg_UnitEvent.AddGesture - (*CDOTAUserMsg_UnitEvent_RemoveGesture)(nil), // 188: dota.CDOTAUserMsg_UnitEvent.RemoveGesture - (*CDOTAUserMsg_UnitEvent_BloodImpact)(nil), // 189: dota.CDOTAUserMsg_UnitEvent.BloodImpact - (*CDOTAUserMsg_UnitEvent_FadeGesture)(nil), // 190: dota.CDOTAUserMsg_UnitEvent.FadeGesture - (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair)(nil), // 191: dota.CDOTAUserMsg_StatsHeroPositionInfo.PositionPair - (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance)(nil), // 192: dota.CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance - (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails)(nil), // 193: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails - (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails)(nil), // 194: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails - (*CDOTAUserMsg_AllStarEvent_PlayerScore)(nil), // 195: dota.CDOTAUserMsg_AllStarEvent.PlayerScore - (*CDOTAUserMsg_PauseMinigameData_DataBit)(nil), // 196: dota.CDOTAUserMsg_PauseMinigameData.DataBit - (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress)(nil), // 197: dota.CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress - (*CMsgVector2D)(nil), // 198: dota.CMsgVector2D - (*CMsgDOTACombatLogEntry)(nil), // 199: dota.CMsgDOTACombatLogEntry - (*CMsgVector)(nil), // 200: dota.CMsgVector - (*CDOTAMsg_LocationPing)(nil), // 201: dota.CDOTAMsg_LocationPing - (*CDOTAMsg_ItemAlert)(nil), // 202: dota.CDOTAMsg_ItemAlert - (*CEntityMsg)(nil), // 203: dota.CEntityMsg - (*CDOTAMsg_MapLine)(nil), // 204: dota.CDOTAMsg_MapLine - (*CDOTAMsg_WorldLine)(nil), // 205: dota.CDOTAMsg_WorldLine - (*CDOTAMsg_SendStatPopup)(nil), // 206: dota.CDOTAMsg_SendStatPopup - (*CDOTAMsg_DismissAllStatPopups)(nil), // 207: dota.CDOTAMsg_DismissAllStatPopups - (*CDOTAMsg_CoachHUDPing)(nil), // 208: dota.CDOTAMsg_CoachHUDPing - (EDOTAVersusScenePlayerBehavior)(0), // 209: dota.EDOTAVersusScenePlayerBehavior - (*VersusScene_PlayActivity)(nil), // 210: dota.VersusScene_PlayActivity - (*VersusScene_ChatWheel)(nil), // 211: dota.VersusScene_ChatWheel - (*VersusScene_PlaybackRate)(nil), // 212: dota.VersusScene_PlaybackRate + (CDOTAUserMsg_MadstoneAlert_EMadstoneAlertType)(0), // 16: dota.CDOTAUserMsg_MadstoneAlert.EMadstoneAlertType + (*CDOTAUserMsg_AIDebugLine)(nil), // 17: dota.CDOTAUserMsg_AIDebugLine + (*CDOTAUserMsg_Ping)(nil), // 18: dota.CDOTAUserMsg_Ping + (*CDOTAUserMsg_SwapVerify)(nil), // 19: dota.CDOTAUserMsg_SwapVerify + (*CDOTAUserMsg_ChatEvent)(nil), // 20: dota.CDOTAUserMsg_ChatEvent + (*CDOTAUserMsg_BotChat)(nil), // 21: dota.CDOTAUserMsg_BotChat + (*CDOTAUserMsg_CombatHeroPositions)(nil), // 22: dota.CDOTAUserMsg_CombatHeroPositions + (*CDOTAUserMsg_CombatLogBulkData)(nil), // 23: dota.CDOTAUserMsg_CombatLogBulkData + (*CDOTAUserMsg_ProjectileParticleCPData)(nil), // 24: dota.CDOTAUserMsg_ProjectileParticleCPData + (*CDOTAUserMsg_UpdateLinearProjectileCPData)(nil), // 25: dota.CDOTAUserMsg_UpdateLinearProjectileCPData + (*CDOTAUserMsg_MiniKillCamInfo)(nil), // 26: dota.CDOTAUserMsg_MiniKillCamInfo + (*CDOTAUserMsg_GlobalLightColor)(nil), // 27: dota.CDOTAUserMsg_GlobalLightColor + (*CDOTAUserMsg_GlobalLightDirection)(nil), // 28: dota.CDOTAUserMsg_GlobalLightDirection + (*CDOTAUserMsg_LocationPing)(nil), // 29: dota.CDOTAUserMsg_LocationPing + (*CDOTAUserMsg_PingConfirmation)(nil), // 30: dota.CDOTAUserMsg_PingConfirmation + (*CDOTAUserMsg_ItemAlert)(nil), // 31: dota.CDOTAUserMsg_ItemAlert + (*CDOTAUserMsg_EnemyItemAlert)(nil), // 32: dota.CDOTAUserMsg_EnemyItemAlert + (*CDOTAUserMsg_ModifierAlert)(nil), // 33: dota.CDOTAUserMsg_ModifierAlert + (*CDOTAUserMsg_HPManaAlert)(nil), // 34: dota.CDOTAUserMsg_HPManaAlert + (*CDOTAUserMsg_NeutralCampAlert)(nil), // 35: dota.CDOTAUserMsg_NeutralCampAlert + (*CDOTAUserMsg_GlyphAlert)(nil), // 36: dota.CDOTAUserMsg_GlyphAlert + (*CDOTAUserMsg_RadarAlert)(nil), // 37: dota.CDOTAUserMsg_RadarAlert + (*CDOTAUserMsg_RoshanTimer)(nil), // 38: dota.CDOTAUserMsg_RoshanTimer + (*CDOTAUserMsg_WillPurchaseAlert)(nil), // 39: dota.CDOTAUserMsg_WillPurchaseAlert + (*CDOTAUserMsg_EmptyTeleportAlert)(nil), // 40: dota.CDOTAUserMsg_EmptyTeleportAlert + (*CDOTAUserMsg_MarsArenaOfBloodAttack)(nil), // 41: dota.CDOTAUserMsg_MarsArenaOfBloodAttack + (*CDOTAEntityMsg_InvokerSpellCast)(nil), // 42: dota.CDOTAEntityMsg_InvokerSpellCast + (*CDOTAUserMsg_BuyBackStateAlert)(nil), // 43: dota.CDOTAUserMsg_BuyBackStateAlert + (*CDOTAUserMsg_QuickBuyAlert)(nil), // 44: dota.CDOTAUserMsg_QuickBuyAlert + (*CDOTAUserMsg_CourierKilledAlert)(nil), // 45: dota.CDOTAUserMsg_CourierKilledAlert + (*CDOTAUserMsg_MinimapEvent)(nil), // 46: dota.CDOTAUserMsg_MinimapEvent + (*CDOTAUserMsg_MapLine)(nil), // 47: dota.CDOTAUserMsg_MapLine + (*CDOTAUserMsg_MinimapDebugPoint)(nil), // 48: dota.CDOTAUserMsg_MinimapDebugPoint + (*CDOTAUserMsg_CreateLinearProjectile)(nil), // 49: dota.CDOTAUserMsg_CreateLinearProjectile + (*CDOTAUserMsg_DestroyLinearProjectile)(nil), // 50: dota.CDOTAUserMsg_DestroyLinearProjectile + (*CDOTAUserMsg_DodgeTrackingProjectiles)(nil), // 51: dota.CDOTAUserMsg_DodgeTrackingProjectiles + (*CDOTAUserMsg_SpectatorPlayerClick)(nil), // 52: dota.CDOTAUserMsg_SpectatorPlayerClick + (*CDOTAUserMsg_SpectatorPlayerUnitOrders)(nil), // 53: dota.CDOTAUserMsg_SpectatorPlayerUnitOrders + (*CDOTAUserMsg_NevermoreRequiem)(nil), // 54: dota.CDOTAUserMsg_NevermoreRequiem + (*CDOTAUserMsg_InvalidCommand)(nil), // 55: dota.CDOTAUserMsg_InvalidCommand + (*CDOTAUserMsg_HudError)(nil), // 56: dota.CDOTAUserMsg_HudError + (*CDOTAUserMsg_SharedCooldown)(nil), // 57: dota.CDOTAUserMsg_SharedCooldown + (*CDOTAUserMsg_SetNextAutobuyItem)(nil), // 58: dota.CDOTAUserMsg_SetNextAutobuyItem + (*CDOTAUserMsg_HalloweenDrops)(nil), // 59: dota.CDOTAUserMsg_HalloweenDrops + (*CDOTAResponseQuerySerialized)(nil), // 60: dota.CDOTAResponseQuerySerialized + (*CDOTASpeechMatchOnClient)(nil), // 61: dota.CDOTASpeechMatchOnClient + (*CDOTAUserMsg_UnitEvent)(nil), // 62: dota.CDOTAUserMsg_UnitEvent + (*CDOTAUserMsg_ItemPurchased)(nil), // 63: dota.CDOTAUserMsg_ItemPurchased + (*CDOTAUserMsg_ItemSold)(nil), // 64: dota.CDOTAUserMsg_ItemSold + (*CDOTAUserMsg_ItemFound)(nil), // 65: dota.CDOTAUserMsg_ItemFound + (*CDOTAUserMsg_OverheadEvent)(nil), // 66: dota.CDOTAUserMsg_OverheadEvent + (*CDOTAUserMsg_TutorialTipInfo)(nil), // 67: dota.CDOTAUserMsg_TutorialTipInfo + (*CDOTAUserMsg_TutorialFinish)(nil), // 68: dota.CDOTAUserMsg_TutorialFinish + (*CDOTAUserMsg_TutorialMinimapPosition)(nil), // 69: dota.CDOTAUserMsg_TutorialMinimapPosition + (*CDOTAUserMsg_SendGenericToolTip)(nil), // 70: dota.CDOTAUserMsg_SendGenericToolTip + (*CDOTAUserMsg_WorldLine)(nil), // 71: dota.CDOTAUserMsg_WorldLine + (*CDOTAUserMsg_ChatWheel)(nil), // 72: dota.CDOTAUserMsg_ChatWheel + (*CDOTAUserMsg_ReceivedXmasGift)(nil), // 73: dota.CDOTAUserMsg_ReceivedXmasGift + (*CDOTAUserMsg_ShowSurvey)(nil), // 74: dota.CDOTAUserMsg_ShowSurvey + (*CDOTAUserMsg_UpdateSharedContent)(nil), // 75: dota.CDOTAUserMsg_UpdateSharedContent + (*CDOTAUserMsg_TutorialRequestExp)(nil), // 76: dota.CDOTAUserMsg_TutorialRequestExp + (*CDOTAUserMsg_TutorialFade)(nil), // 77: dota.CDOTAUserMsg_TutorialFade + (*CDOTAUserMsg_TutorialPingMinimap)(nil), // 78: dota.CDOTAUserMsg_TutorialPingMinimap + (*CDOTAUserMsg_GamerulesStateChanged)(nil), // 79: dota.CDOTAUserMsg_GamerulesStateChanged + (*CDOTAUserMsg_AddQuestLogEntry)(nil), // 80: dota.CDOTAUserMsg_AddQuestLogEntry + (*CDOTAUserMsg_SendStatPopup)(nil), // 81: dota.CDOTAUserMsg_SendStatPopup + (*CDOTAUserMsg_DismissAllStatPopups)(nil), // 82: dota.CDOTAUserMsg_DismissAllStatPopups + (*CDOTAUserMsg_SendRoshanSpectatorPhase)(nil), // 83: dota.CDOTAUserMsg_SendRoshanSpectatorPhase + (*CDOTAUserMsg_SendRoshanPopup)(nil), // 84: dota.CDOTAUserMsg_SendRoshanPopup + (*CDOTAUserMsg_SendFinalGold)(nil), // 85: dota.CDOTAUserMsg_SendFinalGold + (*CDOTAUserMsg_CustomMsg)(nil), // 86: dota.CDOTAUserMsg_CustomMsg + (*CDOTAUserMsg_CoachHUDPing)(nil), // 87: dota.CDOTAUserMsg_CoachHUDPing + (*CDOTAUserMsg_ClientLoadGridNav)(nil), // 88: dota.CDOTAUserMsg_ClientLoadGridNav + (*CDOTAUserMsg_TE_Projectile)(nil), // 89: dota.CDOTAUserMsg_TE_Projectile + (*CDOTAUserMsg_TE_ProjectileLoc)(nil), // 90: dota.CDOTAUserMsg_TE_ProjectileLoc + (*CDOTAUserMsg_TE_DestroyProjectile)(nil), // 91: dota.CDOTAUserMsg_TE_DestroyProjectile + (*CDOTAUserMsg_TE_DotaBloodImpact)(nil), // 92: dota.CDOTAUserMsg_TE_DotaBloodImpact + (*CDOTAUserMsg_AbilityPing)(nil), // 93: dota.CDOTAUserMsg_AbilityPing + (*CDOTAUserMsg_TE_UnitAnimation)(nil), // 94: dota.CDOTAUserMsg_TE_UnitAnimation + (*CDOTAUserMsg_TE_UnitAnimationEnd)(nil), // 95: dota.CDOTAUserMsg_TE_UnitAnimationEnd + (*CDOTAUserMsg_ShowGenericPopup)(nil), // 96: dota.CDOTAUserMsg_ShowGenericPopup + (*CDOTAUserMsg_VoteStart)(nil), // 97: dota.CDOTAUserMsg_VoteStart + (*CDOTAUserMsg_VoteUpdate)(nil), // 98: dota.CDOTAUserMsg_VoteUpdate + (*CDOTAUserMsg_VoteEnd)(nil), // 99: dota.CDOTAUserMsg_VoteEnd + (*CDOTAUserMsg_BoosterStatePlayer)(nil), // 100: dota.CDOTAUserMsg_BoosterStatePlayer + (*CDOTAUserMsg_BoosterState)(nil), // 101: dota.CDOTAUserMsg_BoosterState + (*CDOTAUserMsg_AbilitySteal)(nil), // 102: dota.CDOTAUserMsg_AbilitySteal + (*CDOTAUserMsg_StatsHeroLookup)(nil), // 103: dota.CDOTAUserMsg_StatsHeroLookup + (*CDOTAUserMsg_StatsHeroPositionInfo)(nil), // 104: dota.CDOTAUserMsg_StatsHeroPositionInfo + (*CDOTAUserMsg_StatsHeroMinuteDetails)(nil), // 105: dota.CDOTAUserMsg_StatsHeroMinuteDetails + (*CDOTAUserMsg_StatsTeamMinuteDetails)(nil), // 106: dota.CDOTAUserMsg_StatsTeamMinuteDetails + (*CDOTAUserMsg_StatsPlayerKillShare)(nil), // 107: dota.CDOTAUserMsg_StatsPlayerKillShare + (*CDOTAUserMsg_StatsKillDetails)(nil), // 108: dota.CDOTAUserMsg_StatsKillDetails + (*CDOTAUserMsg_StatsMatchDetails)(nil), // 109: dota.CDOTAUserMsg_StatsMatchDetails + (*CDOTAUserMsg_MiniTaunt)(nil), // 110: dota.CDOTAUserMsg_MiniTaunt + (*CDOTAUserMsg_SpeechBubble)(nil), // 111: dota.CDOTAUserMsg_SpeechBubble + (*CDOTAUserMsg_CustomHeaderMessage)(nil), // 112: dota.CDOTAUserMsg_CustomHeaderMessage + (*CMsgHeroAbilityStat)(nil), // 113: dota.CMsgHeroAbilityStat + (*CMsgCombatAnalyzerPlayerStat)(nil), // 114: dota.CMsgCombatAnalyzerPlayerStat + (*CMsgCombatAnalyzerStats)(nil), // 115: dota.CMsgCombatAnalyzerStats + (*CDOTAUserMsg_BeastChat)(nil), // 116: dota.CDOTAUserMsg_BeastChat + (*CDOTAUserMsg_CustomHudElement_Create)(nil), // 117: dota.CDOTAUserMsg_CustomHudElement_Create + (*CDOTAUserMsg_CustomHudElement_Modify)(nil), // 118: dota.CDOTAUserMsg_CustomHudElement_Modify + (*CDOTAUserMsg_CustomHudElement_Destroy)(nil), // 119: dota.CDOTAUserMsg_CustomHudElement_Destroy + (*CDOTAUserMsg_CompendiumStatePlayer)(nil), // 120: dota.CDOTAUserMsg_CompendiumStatePlayer + (*CDOTAUserMsg_CompendiumState)(nil), // 121: dota.CDOTAUserMsg_CompendiumState + (*CDOTAUserMsg_ProjectionAbility)(nil), // 122: dota.CDOTAUserMsg_ProjectionAbility + (*CDOTAUserMsg_ProjectionEvent)(nil), // 123: dota.CDOTAUserMsg_ProjectionEvent + (*CDOTAUserMsg_XPAlert)(nil), // 124: dota.CDOTAUserMsg_XPAlert + (*CDOTAUserMsg_TalentTreeAlert)(nil), // 125: dota.CDOTAUserMsg_TalentTreeAlert + (*CDOTAUserMsg_UpdateQuestProgress)(nil), // 126: dota.CDOTAUserMsg_UpdateQuestProgress + (*CDOTAUserMsg_QuestStatus)(nil), // 127: dota.CDOTAUserMsg_QuestStatus + (*CDOTAUserMsg_SuggestHeroPick)(nil), // 128: dota.CDOTAUserMsg_SuggestHeroPick + (*CDOTAUserMsg_SuggestHeroRole)(nil), // 129: dota.CDOTAUserMsg_SuggestHeroRole + (*CDOTAUserMsg_KillcamDamageTaken)(nil), // 130: dota.CDOTAUserMsg_KillcamDamageTaken + (*CDOTAUserMsg_SelectPenaltyGold)(nil), // 131: dota.CDOTAUserMsg_SelectPenaltyGold + (*CDOTAUserMsg_RollDiceResult)(nil), // 132: dota.CDOTAUserMsg_RollDiceResult + (*CDOTAUserMsg_FlipCoinResult)(nil), // 133: dota.CDOTAUserMsg_FlipCoinResult + (*CDOTAUserMessage_RequestItemSuggestions)(nil), // 134: dota.CDOTAUserMessage_RequestItemSuggestions + (*CDOTAUserMessage_TeamCaptainChanged)(nil), // 135: dota.CDOTAUserMessage_TeamCaptainChanged + (*CDOTAUserMsg_ChatWheelCooldown)(nil), // 136: dota.CDOTAUserMsg_ChatWheelCooldown + (*CDOTAUserMsg_HeroRelicProgress)(nil), // 137: dota.CDOTAUserMsg_HeroRelicProgress + (*CDOTAUserMsg_AbilityDraftRequestAbility)(nil), // 138: dota.CDOTAUserMsg_AbilityDraftRequestAbility + (*CDOTAUserMsg_DamageReport)(nil), // 139: dota.CDOTAUserMsg_DamageReport + (*CDOTAUserMsg_SalutePlayer)(nil), // 140: dota.CDOTAUserMsg_SalutePlayer + (*CDOTAUserMsg_GiftPlayer)(nil), // 141: dota.CDOTAUserMsg_GiftPlayer + (*CDOTAUserMsg_TipAlert)(nil), // 142: dota.CDOTAUserMsg_TipAlert + (*CDOTAUserMsg_ReplaceQueryUnit)(nil), // 143: dota.CDOTAUserMsg_ReplaceQueryUnit + (*CDOTAUserMsg_ESArcanaCombo)(nil), // 144: dota.CDOTAUserMsg_ESArcanaCombo + (*CDOTAUserMsg_ESArcanaComboSummary)(nil), // 145: dota.CDOTAUserMsg_ESArcanaComboSummary + (*CDOTAUserMsg_OMArcanaCombo)(nil), // 146: dota.CDOTAUserMsg_OMArcanaCombo + (*CDOTAUserMsg_HighFiveCompleted)(nil), // 147: dota.CDOTAUserMsg_HighFiveCompleted + (*CDOTAUserMsg_HighFiveLeftHanging)(nil), // 148: dota.CDOTAUserMsg_HighFiveLeftHanging + (*CDOTAUserMsg_ShovelUnearth)(nil), // 149: dota.CDOTAUserMsg_ShovelUnearth + (*CDOTAUserMsg_AllStarEvent)(nil), // 150: dota.CDOTAUserMsg_AllStarEvent + (*CDOTAUserMsg_QueuedOrderRemoved)(nil), // 151: dota.CDOTAUserMsg_QueuedOrderRemoved + (*CDOTAUserMsg_DebugChallenge)(nil), // 152: dota.CDOTAUserMsg_DebugChallenge + (*CDOTAUserMsg_FoundNeutralItem)(nil), // 153: dota.CDOTAUserMsg_FoundNeutralItem + (*CDOTAUserMsg_OutpostCaptured)(nil), // 154: dota.CDOTAUserMsg_OutpostCaptured + (*CDOTAUserMsg_OutpostGrantedXP)(nil), // 155: dota.CDOTAUserMsg_OutpostGrantedXP + (*CDOTAUserMsg_MoveCameraToUnit)(nil), // 156: dota.CDOTAUserMsg_MoveCameraToUnit + (*CDOTAUserMsg_PauseMinigameData)(nil), // 157: dota.CDOTAUserMsg_PauseMinigameData + (*CDOTAUserMsg_VersusScene_PlayerBehavior)(nil), // 158: dota.CDOTAUserMsg_VersusScene_PlayerBehavior + (*CDOTAUserMsg_QoP_ArcanaSummary)(nil), // 159: dota.CDOTAUserMsg_QoP_ArcanaSummary + (*CDOTAUserMsg_HotPotato_Created)(nil), // 160: dota.CDOTAUserMsg_HotPotato_Created + (*CDOTAUserMsg_HotPotato_Exploded)(nil), // 161: dota.CDOTAUserMsg_HotPotato_Exploded + (*CDOTAUserMsg_WK_Arcana_Progress)(nil), // 162: dota.CDOTAUserMsg_WK_Arcana_Progress + (*CDOTAUserMsg_GuildChallenge_Progress)(nil), // 163: dota.CDOTAUserMsg_GuildChallenge_Progress + (*CDOTAUserMsg_WRArcanaProgress)(nil), // 164: dota.CDOTAUserMsg_WRArcanaProgress + (*CDOTAUserMsg_WRArcanaSummary)(nil), // 165: dota.CDOTAUserMsg_WRArcanaSummary + (*CDOTAUserMsg_EmptyItemSlotAlert)(nil), // 166: dota.CDOTAUserMsg_EmptyItemSlotAlert + (*CDOTAUserMsg_AghsStatusAlert)(nil), // 167: dota.CDOTAUserMsg_AghsStatusAlert + (*CDOTAUserMsg_MutedPlayers)(nil), // 168: dota.CDOTAUserMsg_MutedPlayers + (*CDOTAUserMsg_ContextualTip)(nil), // 169: dota.CDOTAUserMsg_ContextualTip + (*CDOTAUserMsg_ChatMessage)(nil), // 170: dota.CDOTAUserMsg_ChatMessage + (*CDOTAUserMsg_RockPaperScissorsStarted)(nil), // 171: dota.CDOTAUserMsg_RockPaperScissorsStarted + (*CDOTAUserMsg_RockPaperScissorsFinished)(nil), // 172: dota.CDOTAUserMsg_RockPaperScissorsFinished + (*CDOTAUserMsg_DuelOpponentKilled)(nil), // 173: dota.CDOTAUserMsg_DuelOpponentKilled + (*CDOTAUserMsg_DuelAccepted)(nil), // 174: dota.CDOTAUserMsg_DuelAccepted + (*CDOTAUserMsg_DuelRequested)(nil), // 175: dota.CDOTAUserMsg_DuelRequested + (*CDOTAUserMsg_MuertaReleaseEvent_AssignedTargetKilled)(nil), // 176: dota.CDOTAUserMsg_MuertaReleaseEvent_AssignedTargetKilled + (*CDOTAUserMsg_PlayerDraftSuggestPick)(nil), // 177: dota.CDOTAUserMsg_PlayerDraftSuggestPick + (*CDOTAUserMsg_PlayerDraftPick)(nil), // 178: dota.CDOTAUserMsg_PlayerDraftPick + (*CDOTAUserMsg_FacetPing)(nil), // 179: dota.CDOTAUserMsg_FacetPing + (*CDOTAUserMsg_InnatePing)(nil), // 180: dota.CDOTAUserMsg_InnatePing + (*CDOTAUserMsg_NeutralCraftAvailable)(nil), // 181: dota.CDOTAUserMsg_NeutralCraftAvailable + (*CDOTAUserMsg_TimerAlert)(nil), // 182: dota.CDOTAUserMsg_TimerAlert + (*CDOTAUserMsg_MadstoneAlert)(nil), // 183: dota.CDOTAUserMsg_MadstoneAlert + (*CDOTAUserMsg_MiniKillCamInfo_Attacker)(nil), // 184: dota.CDOTAUserMsg_MiniKillCamInfo.Attacker + (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability)(nil), // 185: dota.CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability + (*CDOTAUserMsg_CourierKilledAlert_LostItem)(nil), // 186: dota.CDOTAUserMsg_CourierKilledAlert.LostItem + (*CDOTAResponseQuerySerialized_Fact)(nil), // 187: dota.CDOTAResponseQuerySerialized.Fact + (*CDOTAUserMsg_UnitEvent_Interval)(nil), // 188: dota.CDOTAUserMsg_UnitEvent.Interval + (*CDOTAUserMsg_UnitEvent_Speech)(nil), // 189: dota.CDOTAUserMsg_UnitEvent.Speech + (*CDOTAUserMsg_UnitEvent_SpeechMute)(nil), // 190: dota.CDOTAUserMsg_UnitEvent.SpeechMute + (*CDOTAUserMsg_UnitEvent_AddGesture)(nil), // 191: dota.CDOTAUserMsg_UnitEvent.AddGesture + (*CDOTAUserMsg_UnitEvent_RemoveGesture)(nil), // 192: dota.CDOTAUserMsg_UnitEvent.RemoveGesture + (*CDOTAUserMsg_UnitEvent_BloodImpact)(nil), // 193: dota.CDOTAUserMsg_UnitEvent.BloodImpact + (*CDOTAUserMsg_UnitEvent_FadeGesture)(nil), // 194: dota.CDOTAUserMsg_UnitEvent.FadeGesture + (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair)(nil), // 195: dota.CDOTAUserMsg_StatsHeroPositionInfo.PositionPair + (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance)(nil), // 196: dota.CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance + (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails)(nil), // 197: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails + (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails)(nil), // 198: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails + (*CDOTAUserMsg_AllStarEvent_PlayerScore)(nil), // 199: dota.CDOTAUserMsg_AllStarEvent.PlayerScore + (*CDOTAUserMsg_PauseMinigameData_DataBit)(nil), // 200: dota.CDOTAUserMsg_PauseMinigameData.DataBit + (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress)(nil), // 201: dota.CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress + (*CMsgVector2D)(nil), // 202: dota.CMsgVector2D + (*CMsgDOTACombatLogEntry)(nil), // 203: dota.CMsgDOTACombatLogEntry + (*CMsgVector)(nil), // 204: dota.CMsgVector + (*CDOTAMsg_LocationPing)(nil), // 205: dota.CDOTAMsg_LocationPing + (*CDOTAMsg_ItemAlert)(nil), // 206: dota.CDOTAMsg_ItemAlert + (*CEntityMsg)(nil), // 207: dota.CEntityMsg + (*CDOTAMsg_MapLine)(nil), // 208: dota.CDOTAMsg_MapLine + (*CDOTAMsg_WorldLine)(nil), // 209: dota.CDOTAMsg_WorldLine + (*CDOTAMsg_SendStatPopup)(nil), // 210: dota.CDOTAMsg_SendStatPopup + (*CDOTAMsg_DismissAllStatPopups)(nil), // 211: dota.CDOTAMsg_DismissAllStatPopups + (*CDOTAMsg_CoachHUDPing)(nil), // 212: dota.CDOTAMsg_CoachHUDPing + (EDOTAVersusScenePlayerBehavior)(0), // 213: dota.EDOTAVersusScenePlayerBehavior + (*VersusScene_PlayActivity)(nil), // 214: dota.VersusScene_PlayActivity + (*VersusScene_ChatWheel)(nil), // 215: dota.VersusScene_ChatWheel + (*VersusScene_PlaybackRate)(nil), // 216: dota.VersusScene_PlaybackRate + (ETimerAlertType)(0), // 217: dota.ETimerAlertType } var file_dota_usermessages_proto_depIdxs = []int32{ 1, // 0: dota.CDOTAUserMsg_ChatEvent.type:type_name -> dota.DOTA_CHAT_MESSAGE - 198, // 1: dota.CDOTAUserMsg_CombatHeroPositions.world_pos:type_name -> dota.CMsgVector2D - 199, // 2: dota.CDOTAUserMsg_CombatLogBulkData.combat_entries:type_name -> dota.CMsgDOTACombatLogEntry - 200, // 3: dota.CDOTAUserMsg_ProjectileParticleCPData.vector:type_name -> dota.CMsgVector - 200, // 4: dota.CDOTAUserMsg_UpdateLinearProjectileCPData.vector:type_name -> dota.CMsgVector - 180, // 5: dota.CDOTAUserMsg_MiniKillCamInfo.attackers:type_name -> dota.CDOTAUserMsg_MiniKillCamInfo.Attacker - 200, // 6: dota.CDOTAUserMsg_GlobalLightDirection.direction:type_name -> dota.CMsgVector - 201, // 7: dota.CDOTAUserMsg_LocationPing.location_ping:type_name -> dota.CDOTAMsg_LocationPing - 200, // 8: dota.CDOTAUserMsg_PingConfirmation.location:type_name -> dota.CMsgVector - 202, // 9: dota.CDOTAUserMsg_ItemAlert.item_alert:type_name -> dota.CDOTAMsg_ItemAlert - 203, // 10: dota.CDOTAEntityMsg_InvokerSpellCast.entity_msg:type_name -> dota.CEntityMsg - 182, // 11: dota.CDOTAUserMsg_CourierKilledAlert.lost_items:type_name -> dota.CDOTAUserMsg_CourierKilledAlert.LostItem - 204, // 12: dota.CDOTAUserMsg_MapLine.mapline:type_name -> dota.CDOTAMsg_MapLine - 200, // 13: dota.CDOTAUserMsg_MinimapDebugPoint.location:type_name -> dota.CMsgVector - 200, // 14: dota.CDOTAUserMsg_CreateLinearProjectile.origin:type_name -> dota.CMsgVector - 198, // 15: dota.CDOTAUserMsg_CreateLinearProjectile.velocity:type_name -> dota.CMsgVector2D - 198, // 16: dota.CDOTAUserMsg_CreateLinearProjectile.acceleration:type_name -> dota.CMsgVector2D - 23, // 17: dota.CDOTAUserMsg_CreateLinearProjectile.particle_cp_data:type_name -> dota.CDOTAUserMsg_ProjectileParticleCPData - 200, // 18: dota.CDOTAUserMsg_SpectatorPlayerUnitOrders.position:type_name -> dota.CMsgVector - 200, // 19: dota.CDOTAUserMsg_NevermoreRequiem.origin:type_name -> dota.CMsgVector - 183, // 20: dota.CDOTAResponseQuerySerialized.facts:type_name -> dota.CDOTAResponseQuerySerialized.Fact - 58, // 21: dota.CDOTASpeechMatchOnClient.responsequery:type_name -> dota.CDOTAResponseQuerySerialized + 202, // 1: dota.CDOTAUserMsg_CombatHeroPositions.world_pos:type_name -> dota.CMsgVector2D + 203, // 2: dota.CDOTAUserMsg_CombatLogBulkData.combat_entries:type_name -> dota.CMsgDOTACombatLogEntry + 204, // 3: dota.CDOTAUserMsg_ProjectileParticleCPData.vector:type_name -> dota.CMsgVector + 204, // 4: dota.CDOTAUserMsg_UpdateLinearProjectileCPData.vector:type_name -> dota.CMsgVector + 184, // 5: dota.CDOTAUserMsg_MiniKillCamInfo.attackers:type_name -> dota.CDOTAUserMsg_MiniKillCamInfo.Attacker + 204, // 6: dota.CDOTAUserMsg_GlobalLightDirection.direction:type_name -> dota.CMsgVector + 205, // 7: dota.CDOTAUserMsg_LocationPing.location_ping:type_name -> dota.CDOTAMsg_LocationPing + 204, // 8: dota.CDOTAUserMsg_PingConfirmation.location:type_name -> dota.CMsgVector + 206, // 9: dota.CDOTAUserMsg_ItemAlert.item_alert:type_name -> dota.CDOTAMsg_ItemAlert + 207, // 10: dota.CDOTAEntityMsg_InvokerSpellCast.entity_msg:type_name -> dota.CEntityMsg + 186, // 11: dota.CDOTAUserMsg_CourierKilledAlert.lost_items:type_name -> dota.CDOTAUserMsg_CourierKilledAlert.LostItem + 208, // 12: dota.CDOTAUserMsg_MapLine.mapline:type_name -> dota.CDOTAMsg_MapLine + 204, // 13: dota.CDOTAUserMsg_MinimapDebugPoint.location:type_name -> dota.CMsgVector + 204, // 14: dota.CDOTAUserMsg_CreateLinearProjectile.origin:type_name -> dota.CMsgVector + 202, // 15: dota.CDOTAUserMsg_CreateLinearProjectile.velocity:type_name -> dota.CMsgVector2D + 202, // 16: dota.CDOTAUserMsg_CreateLinearProjectile.acceleration:type_name -> dota.CMsgVector2D + 24, // 17: dota.CDOTAUserMsg_CreateLinearProjectile.particle_cp_data:type_name -> dota.CDOTAUserMsg_ProjectileParticleCPData + 204, // 18: dota.CDOTAUserMsg_SpectatorPlayerUnitOrders.position:type_name -> dota.CMsgVector + 204, // 19: dota.CDOTAUserMsg_NevermoreRequiem.origin:type_name -> dota.CMsgVector + 187, // 20: dota.CDOTAResponseQuerySerialized.facts:type_name -> dota.CDOTAResponseQuerySerialized.Fact + 60, // 21: dota.CDOTASpeechMatchOnClient.responsequery:type_name -> dota.CDOTAResponseQuerySerialized 6, // 22: dota.CDOTAUserMsg_UnitEvent.msg_type:type_name -> dota.EDotaEntityMessages - 185, // 23: dota.CDOTAUserMsg_UnitEvent.speech:type_name -> dota.CDOTAUserMsg_UnitEvent.Speech - 186, // 24: dota.CDOTAUserMsg_UnitEvent.speech_mute:type_name -> dota.CDOTAUserMsg_UnitEvent.SpeechMute - 187, // 25: dota.CDOTAUserMsg_UnitEvent.add_gesture:type_name -> dota.CDOTAUserMsg_UnitEvent.AddGesture - 188, // 26: dota.CDOTAUserMsg_UnitEvent.remove_gesture:type_name -> dota.CDOTAUserMsg_UnitEvent.RemoveGesture - 189, // 27: dota.CDOTAUserMsg_UnitEvent.blood_impact:type_name -> dota.CDOTAUserMsg_UnitEvent.BloodImpact - 190, // 28: dota.CDOTAUserMsg_UnitEvent.fade_gesture:type_name -> dota.CDOTAUserMsg_UnitEvent.FadeGesture - 59, // 29: dota.CDOTAUserMsg_UnitEvent.speech_match_on_client:type_name -> dota.CDOTASpeechMatchOnClient + 189, // 23: dota.CDOTAUserMsg_UnitEvent.speech:type_name -> dota.CDOTAUserMsg_UnitEvent.Speech + 190, // 24: dota.CDOTAUserMsg_UnitEvent.speech_mute:type_name -> dota.CDOTAUserMsg_UnitEvent.SpeechMute + 191, // 25: dota.CDOTAUserMsg_UnitEvent.add_gesture:type_name -> dota.CDOTAUserMsg_UnitEvent.AddGesture + 192, // 26: dota.CDOTAUserMsg_UnitEvent.remove_gesture:type_name -> dota.CDOTAUserMsg_UnitEvent.RemoveGesture + 193, // 27: dota.CDOTAUserMsg_UnitEvent.blood_impact:type_name -> dota.CDOTAUserMsg_UnitEvent.BloodImpact + 194, // 28: dota.CDOTAUserMsg_UnitEvent.fade_gesture:type_name -> dota.CDOTAUserMsg_UnitEvent.FadeGesture + 61, // 29: dota.CDOTAUserMsg_UnitEvent.speech_match_on_client:type_name -> dota.CDOTASpeechMatchOnClient 7, // 30: dota.CDOTAUserMsg_OverheadEvent.message_type:type_name -> dota.DOTA_OVERHEAD_ALERT - 205, // 31: dota.CDOTAUserMsg_WorldLine.worldline:type_name -> dota.CDOTAMsg_WorldLine - 206, // 32: dota.CDOTAUserMsg_SendStatPopup.statpopup:type_name -> dota.CDOTAMsg_SendStatPopup - 207, // 33: dota.CDOTAUserMsg_DismissAllStatPopups.dismissallmsg:type_name -> dota.CDOTAMsg_DismissAllStatPopups + 209, // 31: dota.CDOTAUserMsg_WorldLine.worldline:type_name -> dota.CDOTAMsg_WorldLine + 210, // 32: dota.CDOTAUserMsg_SendStatPopup.statpopup:type_name -> dota.CDOTAMsg_SendStatPopup + 211, // 33: dota.CDOTAUserMsg_DismissAllStatPopups.dismissallmsg:type_name -> dota.CDOTAMsg_DismissAllStatPopups 8, // 34: dota.CDOTAUserMsg_SendRoshanSpectatorPhase.phase:type_name -> dota.DOTA_ROSHAN_PHASE - 208, // 35: dota.CDOTAUserMsg_CoachHUDPing.hud_ping:type_name -> dota.CDOTAMsg_CoachHUDPing - 200, // 36: dota.CDOTAUserMsg_TE_Projectile.target_loc:type_name -> dota.CMsgVector - 23, // 37: dota.CDOTAUserMsg_TE_Projectile.particle_cp_data:type_name -> dota.CDOTAUserMsg_ProjectileParticleCPData - 200, // 38: dota.CDOTAUserMsg_TE_ProjectileLoc.source_loc:type_name -> dota.CMsgVector - 200, // 39: dota.CDOTAUserMsg_TE_ProjectileLoc.target_loc:type_name -> dota.CMsgVector - 23, // 40: dota.CDOTAUserMsg_TE_ProjectileLoc.particle_cp_data:type_name -> dota.CDOTAUserMsg_ProjectileParticleCPData + 212, // 35: dota.CDOTAUserMsg_CoachHUDPing.hud_ping:type_name -> dota.CDOTAMsg_CoachHUDPing + 204, // 36: dota.CDOTAUserMsg_TE_Projectile.target_loc:type_name -> dota.CMsgVector + 24, // 37: dota.CDOTAUserMsg_TE_Projectile.particle_cp_data:type_name -> dota.CDOTAUserMsg_ProjectileParticleCPData + 204, // 38: dota.CDOTAUserMsg_TE_ProjectileLoc.source_loc:type_name -> dota.CMsgVector + 204, // 39: dota.CDOTAUserMsg_TE_ProjectileLoc.target_loc:type_name -> dota.CMsgVector + 24, // 40: dota.CDOTAUserMsg_TE_ProjectileLoc.particle_cp_data:type_name -> dota.CDOTAUserMsg_ProjectileParticleCPData 4, // 41: dota.CDOTAUserMsg_AbilityPing.type:type_name -> dota.DOTA_ABILITY_PING_TYPE - 98, // 42: dota.CDOTAUserMsg_BoosterState.boosted_players:type_name -> dota.CDOTAUserMsg_BoosterStatePlayer - 191, // 43: dota.CDOTAUserMsg_StatsHeroPositionInfo.position_details:type_name -> dota.CDOTAUserMsg_StatsHeroPositionInfo.PositionPair - 103, // 44: dota.CDOTAUserMsg_StatsHeroMinuteDetails.position_info:type_name -> dota.CDOTAUserMsg_StatsHeroPositionInfo - 104, // 45: dota.CDOTAUserMsg_StatsTeamMinuteDetails.player_stats:type_name -> dota.CDOTAUserMsg_StatsHeroMinuteDetails - 192, // 46: dota.CDOTAUserMsg_StatsTeamMinuteDetails.lane_performance:type_name -> dota.CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance - 106, // 47: dota.CDOTAUserMsg_StatsKillDetails.kill_shares:type_name -> dota.CDOTAUserMsg_StatsPlayerKillShare - 102, // 48: dota.CDOTAUserMsg_StatsMatchDetails.hero_lookup:type_name -> dota.CDOTAUserMsg_StatsHeroLookup - 105, // 49: dota.CDOTAUserMsg_StatsMatchDetails.radiant_stats:type_name -> dota.CDOTAUserMsg_StatsTeamMinuteDetails - 105, // 50: dota.CDOTAUserMsg_StatsMatchDetails.dire_stats:type_name -> dota.CDOTAUserMsg_StatsTeamMinuteDetails - 107, // 51: dota.CDOTAUserMsg_StatsMatchDetails.radiant_kills:type_name -> dota.CDOTAUserMsg_StatsKillDetails - 107, // 52: dota.CDOTAUserMsg_StatsMatchDetails.dire_kills:type_name -> dota.CDOTAUserMsg_StatsKillDetails - 194, // 53: dota.CDOTAUserMsg_StatsMatchDetails.fight_details:type_name -> dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails + 100, // 42: dota.CDOTAUserMsg_BoosterState.boosted_players:type_name -> dota.CDOTAUserMsg_BoosterStatePlayer + 195, // 43: dota.CDOTAUserMsg_StatsHeroPositionInfo.position_details:type_name -> dota.CDOTAUserMsg_StatsHeroPositionInfo.PositionPair + 104, // 44: dota.CDOTAUserMsg_StatsHeroMinuteDetails.position_info:type_name -> dota.CDOTAUserMsg_StatsHeroPositionInfo + 105, // 45: dota.CDOTAUserMsg_StatsTeamMinuteDetails.player_stats:type_name -> dota.CDOTAUserMsg_StatsHeroMinuteDetails + 196, // 46: dota.CDOTAUserMsg_StatsTeamMinuteDetails.lane_performance:type_name -> dota.CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance + 107, // 47: dota.CDOTAUserMsg_StatsKillDetails.kill_shares:type_name -> dota.CDOTAUserMsg_StatsPlayerKillShare + 103, // 48: dota.CDOTAUserMsg_StatsMatchDetails.hero_lookup:type_name -> dota.CDOTAUserMsg_StatsHeroLookup + 106, // 49: dota.CDOTAUserMsg_StatsMatchDetails.radiant_stats:type_name -> dota.CDOTAUserMsg_StatsTeamMinuteDetails + 106, // 50: dota.CDOTAUserMsg_StatsMatchDetails.dire_stats:type_name -> dota.CDOTAUserMsg_StatsTeamMinuteDetails + 108, // 51: dota.CDOTAUserMsg_StatsMatchDetails.radiant_kills:type_name -> dota.CDOTAUserMsg_StatsKillDetails + 108, // 52: dota.CDOTAUserMsg_StatsMatchDetails.dire_kills:type_name -> dota.CDOTAUserMsg_StatsKillDetails + 198, // 53: dota.CDOTAUserMsg_StatsMatchDetails.fight_details:type_name -> dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails 11, // 54: dota.CMsgHeroAbilityStat.stat_type:type_name -> dota.EHeroStatType - 112, // 55: dota.CMsgCombatAnalyzerPlayerStat.hero_ability_stats:type_name -> dota.CMsgHeroAbilityStat - 113, // 56: dota.CMsgCombatAnalyzerStats.player_stats:type_name -> dota.CMsgCombatAnalyzerPlayerStat - 119, // 57: dota.CDOTAUserMsg_CompendiumState.compendium_players:type_name -> dota.CDOTAUserMsg_CompendiumStatePlayer - 200, // 58: dota.CDOTAUserMsg_ProjectionAbility.origin:type_name -> dota.CMsgVector + 113, // 55: dota.CMsgCombatAnalyzerPlayerStat.hero_ability_stats:type_name -> dota.CMsgHeroAbilityStat + 114, // 56: dota.CMsgCombatAnalyzerStats.player_stats:type_name -> dota.CMsgCombatAnalyzerPlayerStat + 120, // 57: dota.CDOTAUserMsg_CompendiumState.compendium_players:type_name -> dota.CDOTAUserMsg_CompendiumStatePlayer + 204, // 58: dota.CDOTAUserMsg_ProjectionAbility.origin:type_name -> dota.CMsgVector 13, // 59: dota.CDOTAUserMsg_ProjectionEvent.event_id:type_name -> dota.EProjectionEvent - 195, // 60: dota.CDOTAUserMsg_AllStarEvent.player_scores:type_name -> dota.CDOTAUserMsg_AllStarEvent.PlayerScore - 196, // 61: dota.CDOTAUserMsg_PauseMinigameData.data_bits:type_name -> dota.CDOTAUserMsg_PauseMinigameData.DataBit - 209, // 62: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.behavior:type_name -> dota.EDOTAVersusScenePlayerBehavior - 210, // 63: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.play_activity:type_name -> dota.VersusScene_PlayActivity - 211, // 64: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.chat_wheel:type_name -> dota.VersusScene_ChatWheel - 212, // 65: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.playback_rate:type_name -> dota.VersusScene_PlaybackRate - 197, // 66: dota.CDOTAUserMsg_GuildChallenge_Progress.player_progress:type_name -> dota.CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress + 199, // 60: dota.CDOTAUserMsg_AllStarEvent.player_scores:type_name -> dota.CDOTAUserMsg_AllStarEvent.PlayerScore + 200, // 61: dota.CDOTAUserMsg_PauseMinigameData.data_bits:type_name -> dota.CDOTAUserMsg_PauseMinigameData.DataBit + 213, // 62: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.behavior:type_name -> dota.EDOTAVersusScenePlayerBehavior + 214, // 63: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.play_activity:type_name -> dota.VersusScene_PlayActivity + 215, // 64: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.chat_wheel:type_name -> dota.VersusScene_ChatWheel + 216, // 65: dota.CDOTAUserMsg_VersusScene_PlayerBehavior.playback_rate:type_name -> dota.VersusScene_PlaybackRate + 201, // 66: dota.CDOTAUserMsg_GuildChallenge_Progress.player_progress:type_name -> dota.CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress 15, // 67: dota.CDOTAUserMsg_GuildChallenge_Progress.challenge_type:type_name -> dota.CDOTAUserMsg_GuildChallenge_Progress.EChallengeType - 181, // 68: dota.CDOTAUserMsg_MiniKillCamInfo.Attacker.abilities:type_name -> dota.CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability - 14, // 69: dota.CDOTAResponseQuerySerialized.Fact.valtype:type_name -> dota.CDOTAResponseQuerySerialized.Fact.ValueType - 184, // 70: dota.CDOTAUserMsg_UnitEvent.Speech.predelay:type_name -> dota.CDOTAUserMsg_UnitEvent.Interval - 9, // 71: dota.CDOTAUserMsg_StatsHeroPositionInfo.PositionPair.position_category:type_name -> dota.DOTA_POSITION_CATEGORY - 193, // 72: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.radiant_fight_details:type_name -> dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails - 193, // 73: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.dire_fight_details:type_name -> dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails - 74, // [74:74] is the sub-list for method output_type - 74, // [74:74] is the sub-list for method input_type - 74, // [74:74] is the sub-list for extension type_name - 74, // [74:74] is the sub-list for extension extendee - 0, // [0:74] is the sub-list for field type_name + 217, // 68: dota.CDOTAUserMsg_TimerAlert.timer_alert_type:type_name -> dota.ETimerAlertType + 16, // 69: dota.CDOTAUserMsg_MadstoneAlert.madstone_alert_type:type_name -> dota.CDOTAUserMsg_MadstoneAlert.EMadstoneAlertType + 185, // 70: dota.CDOTAUserMsg_MiniKillCamInfo.Attacker.abilities:type_name -> dota.CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability + 14, // 71: dota.CDOTAResponseQuerySerialized.Fact.valtype:type_name -> dota.CDOTAResponseQuerySerialized.Fact.ValueType + 188, // 72: dota.CDOTAUserMsg_UnitEvent.Speech.predelay:type_name -> dota.CDOTAUserMsg_UnitEvent.Interval + 9, // 73: dota.CDOTAUserMsg_StatsHeroPositionInfo.PositionPair.position_category:type_name -> dota.DOTA_POSITION_CATEGORY + 197, // 74: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.radiant_fight_details:type_name -> dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails + 197, // 75: dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.dire_fight_details:type_name -> dota.CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails + 76, // [76:76] is the sub-list for method output_type + 76, // [76:76] is the sub-list for method input_type + 76, // [76:76] is the sub-list for extension type_name + 76, // [76:76] is the sub-list for extension extendee + 0, // [0:76] is the sub-list for field type_name } func init() { file_dota_usermessages_proto_init() } @@ -17747,7 +18100,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_WillPurchaseAlert); i { + switch v := v.(*CDOTAUserMsg_RoshanTimer); i { case 0: return &v.state case 1: @@ -17759,7 +18112,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_EmptyTeleportAlert); i { + switch v := v.(*CDOTAUserMsg_WillPurchaseAlert); i { case 0: return &v.state case 1: @@ -17771,7 +18124,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_MarsArenaOfBloodAttack); i { + switch v := v.(*CDOTAUserMsg_EmptyTeleportAlert); i { case 0: return &v.state case 1: @@ -17783,7 +18136,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAEntityMsg_InvokerSpellCast); i { + switch v := v.(*CDOTAUserMsg_MarsArenaOfBloodAttack); i { case 0: return &v.state case 1: @@ -17795,7 +18148,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_BuyBackStateAlert); i { + switch v := v.(*CDOTAEntityMsg_InvokerSpellCast); i { case 0: return &v.state case 1: @@ -17807,7 +18160,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_QuickBuyAlert); i { + switch v := v.(*CDOTAUserMsg_BuyBackStateAlert); i { case 0: return &v.state case 1: @@ -17819,7 +18172,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_CourierKilledAlert); i { + switch v := v.(*CDOTAUserMsg_QuickBuyAlert); i { case 0: return &v.state case 1: @@ -17831,7 +18184,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_MinimapEvent); i { + switch v := v.(*CDOTAUserMsg_CourierKilledAlert); i { case 0: return &v.state case 1: @@ -17843,7 +18196,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_MapLine); i { + switch v := v.(*CDOTAUserMsg_MinimapEvent); i { case 0: return &v.state case 1: @@ -17855,7 +18208,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_MinimapDebugPoint); i { + switch v := v.(*CDOTAUserMsg_MapLine); i { case 0: return &v.state case 1: @@ -17867,7 +18220,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_CreateLinearProjectile); i { + switch v := v.(*CDOTAUserMsg_MinimapDebugPoint); i { case 0: return &v.state case 1: @@ -17879,7 +18232,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_DestroyLinearProjectile); i { + switch v := v.(*CDOTAUserMsg_CreateLinearProjectile); i { case 0: return &v.state case 1: @@ -17891,7 +18244,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_DodgeTrackingProjectiles); i { + switch v := v.(*CDOTAUserMsg_DestroyLinearProjectile); i { case 0: return &v.state case 1: @@ -17903,7 +18256,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SpectatorPlayerClick); i { + switch v := v.(*CDOTAUserMsg_DodgeTrackingProjectiles); i { case 0: return &v.state case 1: @@ -17915,7 +18268,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SpectatorPlayerUnitOrders); i { + switch v := v.(*CDOTAUserMsg_SpectatorPlayerClick); i { case 0: return &v.state case 1: @@ -17927,7 +18280,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_NevermoreRequiem); i { + switch v := v.(*CDOTAUserMsg_SpectatorPlayerUnitOrders); i { case 0: return &v.state case 1: @@ -17939,7 +18292,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_InvalidCommand); i { + switch v := v.(*CDOTAUserMsg_NevermoreRequiem); i { case 0: return &v.state case 1: @@ -17951,7 +18304,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_HudError); i { + switch v := v.(*CDOTAUserMsg_InvalidCommand); i { case 0: return &v.state case 1: @@ -17963,7 +18316,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SharedCooldown); i { + switch v := v.(*CDOTAUserMsg_HudError); i { case 0: return &v.state case 1: @@ -17975,7 +18328,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SetNextAutobuyItem); i { + switch v := v.(*CDOTAUserMsg_SharedCooldown); i { case 0: return &v.state case 1: @@ -17987,7 +18340,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_HalloweenDrops); i { + switch v := v.(*CDOTAUserMsg_SetNextAutobuyItem); i { case 0: return &v.state case 1: @@ -17999,7 +18352,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAResponseQuerySerialized); i { + switch v := v.(*CDOTAUserMsg_HalloweenDrops); i { case 0: return &v.state case 1: @@ -18011,7 +18364,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTASpeechMatchOnClient); i { + switch v := v.(*CDOTAResponseQuerySerialized); i { case 0: return &v.state case 1: @@ -18023,7 +18376,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent); i { + switch v := v.(*CDOTASpeechMatchOnClient); i { case 0: return &v.state case 1: @@ -18035,7 +18388,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ItemPurchased); i { + switch v := v.(*CDOTAUserMsg_UnitEvent); i { case 0: return &v.state case 1: @@ -18047,7 +18400,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ItemSold); i { + switch v := v.(*CDOTAUserMsg_ItemPurchased); i { case 0: return &v.state case 1: @@ -18059,7 +18412,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ItemFound); i { + switch v := v.(*CDOTAUserMsg_ItemSold); i { case 0: return &v.state case 1: @@ -18071,7 +18424,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_OverheadEvent); i { + switch v := v.(*CDOTAUserMsg_ItemFound); i { case 0: return &v.state case 1: @@ -18083,7 +18436,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TutorialTipInfo); i { + switch v := v.(*CDOTAUserMsg_OverheadEvent); i { case 0: return &v.state case 1: @@ -18095,7 +18448,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TutorialFinish); i { + switch v := v.(*CDOTAUserMsg_TutorialTipInfo); i { case 0: return &v.state case 1: @@ -18107,7 +18460,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TutorialMinimapPosition); i { + switch v := v.(*CDOTAUserMsg_TutorialFinish); i { case 0: return &v.state case 1: @@ -18119,7 +18472,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SendGenericToolTip); i { + switch v := v.(*CDOTAUserMsg_TutorialMinimapPosition); i { case 0: return &v.state case 1: @@ -18131,7 +18484,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_WorldLine); i { + switch v := v.(*CDOTAUserMsg_SendGenericToolTip); i { case 0: return &v.state case 1: @@ -18143,7 +18496,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ChatWheel); i { + switch v := v.(*CDOTAUserMsg_WorldLine); i { case 0: return &v.state case 1: @@ -18155,7 +18508,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ReceivedXmasGift); i { + switch v := v.(*CDOTAUserMsg_ChatWheel); i { case 0: return &v.state case 1: @@ -18167,7 +18520,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ShowSurvey); i { + switch v := v.(*CDOTAUserMsg_ReceivedXmasGift); i { case 0: return &v.state case 1: @@ -18179,7 +18532,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UpdateSharedContent); i { + switch v := v.(*CDOTAUserMsg_ShowSurvey); i { case 0: return &v.state case 1: @@ -18191,7 +18544,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TutorialRequestExp); i { + switch v := v.(*CDOTAUserMsg_UpdateSharedContent); i { case 0: return &v.state case 1: @@ -18203,7 +18556,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TutorialFade); i { + switch v := v.(*CDOTAUserMsg_TutorialRequestExp); i { case 0: return &v.state case 1: @@ -18215,7 +18568,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TutorialPingMinimap); i { + switch v := v.(*CDOTAUserMsg_TutorialFade); i { case 0: return &v.state case 1: @@ -18227,7 +18580,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_GamerulesStateChanged); i { + switch v := v.(*CDOTAUserMsg_TutorialPingMinimap); i { case 0: return &v.state case 1: @@ -18239,7 +18592,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_AddQuestLogEntry); i { + switch v := v.(*CDOTAUserMsg_GamerulesStateChanged); i { case 0: return &v.state case 1: @@ -18251,7 +18604,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SendStatPopup); i { + switch v := v.(*CDOTAUserMsg_AddQuestLogEntry); i { case 0: return &v.state case 1: @@ -18263,7 +18616,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_DismissAllStatPopups); i { + switch v := v.(*CDOTAUserMsg_SendStatPopup); i { case 0: return &v.state case 1: @@ -18275,7 +18628,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SendRoshanSpectatorPhase); i { + switch v := v.(*CDOTAUserMsg_DismissAllStatPopups); i { case 0: return &v.state case 1: @@ -18287,7 +18640,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SendRoshanPopup); i { + switch v := v.(*CDOTAUserMsg_SendRoshanSpectatorPhase); i { case 0: return &v.state case 1: @@ -18299,7 +18652,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_SendFinalGold); i { + switch v := v.(*CDOTAUserMsg_SendRoshanPopup); i { case 0: return &v.state case 1: @@ -18311,7 +18664,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_CustomMsg); i { + switch v := v.(*CDOTAUserMsg_SendFinalGold); i { case 0: return &v.state case 1: @@ -18323,7 +18676,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_CoachHUDPing); i { + switch v := v.(*CDOTAUserMsg_CustomMsg); i { case 0: return &v.state case 1: @@ -18335,7 +18688,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ClientLoadGridNav); i { + switch v := v.(*CDOTAUserMsg_CoachHUDPing); i { case 0: return &v.state case 1: @@ -18347,7 +18700,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TE_Projectile); i { + switch v := v.(*CDOTAUserMsg_ClientLoadGridNav); i { case 0: return &v.state case 1: @@ -18359,7 +18712,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TE_ProjectileLoc); i { + switch v := v.(*CDOTAUserMsg_TE_Projectile); i { case 0: return &v.state case 1: @@ -18371,7 +18724,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TE_DestroyProjectile); i { + switch v := v.(*CDOTAUserMsg_TE_ProjectileLoc); i { case 0: return &v.state case 1: @@ -18383,7 +18736,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TE_DotaBloodImpact); i { + switch v := v.(*CDOTAUserMsg_TE_DestroyProjectile); i { case 0: return &v.state case 1: @@ -18395,7 +18748,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_AbilityPing); i { + switch v := v.(*CDOTAUserMsg_TE_DotaBloodImpact); i { case 0: return &v.state case 1: @@ -18407,7 +18760,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TE_UnitAnimation); i { + switch v := v.(*CDOTAUserMsg_AbilityPing); i { case 0: return &v.state case 1: @@ -18419,7 +18772,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_TE_UnitAnimationEnd); i { + switch v := v.(*CDOTAUserMsg_TE_UnitAnimation); i { case 0: return &v.state case 1: @@ -18431,7 +18784,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_ShowGenericPopup); i { + switch v := v.(*CDOTAUserMsg_TE_UnitAnimationEnd); i { case 0: return &v.state case 1: @@ -18443,7 +18796,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_VoteStart); i { + switch v := v.(*CDOTAUserMsg_ShowGenericPopup); i { case 0: return &v.state case 1: @@ -18455,7 +18808,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_VoteUpdate); i { + switch v := v.(*CDOTAUserMsg_VoteStart); i { case 0: return &v.state case 1: @@ -18467,7 +18820,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_VoteEnd); i { + switch v := v.(*CDOTAUserMsg_VoteUpdate); i { case 0: return &v.state case 1: @@ -18479,7 +18832,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_BoosterStatePlayer); i { + switch v := v.(*CDOTAUserMsg_VoteEnd); i { case 0: return &v.state case 1: @@ -18491,7 +18844,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_BoosterState); i { + switch v := v.(*CDOTAUserMsg_BoosterStatePlayer); i { case 0: return &v.state case 1: @@ -18503,7 +18856,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_PlayerMMR); i { + switch v := v.(*CDOTAUserMsg_BoosterState); i { case 0: return &v.state case 1: @@ -19463,7 +19816,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker); i { + switch v := v.(*CDOTAUserMsg_NeutralCraftAvailable); i { case 0: return &v.state case 1: @@ -19475,7 +19828,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability); i { + switch v := v.(*CDOTAUserMsg_TimerAlert); i { case 0: return &v.state case 1: @@ -19487,7 +19840,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_CourierKilledAlert_LostItem); i { + switch v := v.(*CDOTAUserMsg_MadstoneAlert); i { case 0: return &v.state case 1: @@ -19499,7 +19852,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAResponseQuerySerialized_Fact); i { + switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker); i { case 0: return &v.state case 1: @@ -19511,7 +19864,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent_Interval); i { + switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability); i { case 0: return &v.state case 1: @@ -19523,7 +19876,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent_Speech); i { + switch v := v.(*CDOTAUserMsg_CourierKilledAlert_LostItem); i { case 0: return &v.state case 1: @@ -19535,7 +19888,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent_SpeechMute); i { + switch v := v.(*CDOTAResponseQuerySerialized_Fact); i { case 0: return &v.state case 1: @@ -19547,7 +19900,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent_AddGesture); i { + switch v := v.(*CDOTAUserMsg_UnitEvent_Interval); i { case 0: return &v.state case 1: @@ -19559,7 +19912,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent_RemoveGesture); i { + switch v := v.(*CDOTAUserMsg_UnitEvent_Speech); i { case 0: return &v.state case 1: @@ -19571,7 +19924,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent_BloodImpact); i { + switch v := v.(*CDOTAUserMsg_UnitEvent_SpeechMute); i { case 0: return &v.state case 1: @@ -19583,7 +19936,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_UnitEvent_FadeGesture); i { + switch v := v.(*CDOTAUserMsg_UnitEvent_AddGesture); i { case 0: return &v.state case 1: @@ -19595,7 +19948,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair); i { + switch v := v.(*CDOTAUserMsg_UnitEvent_RemoveGesture); i { case 0: return &v.state case 1: @@ -19607,7 +19960,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance); i { + switch v := v.(*CDOTAUserMsg_UnitEvent_BloodImpact); i { case 0: return &v.state case 1: @@ -19619,7 +19972,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails); i { + switch v := v.(*CDOTAUserMsg_UnitEvent_FadeGesture); i { case 0: return &v.state case 1: @@ -19631,7 +19984,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails); i { + switch v := v.(*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair); i { case 0: return &v.state case 1: @@ -19643,7 +19996,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_AllStarEvent_PlayerScore); i { + switch v := v.(*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance); i { case 0: return &v.state case 1: @@ -19655,7 +20008,7 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDOTAUserMsg_PauseMinigameData_DataBit); i { + switch v := v.(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails); i { case 0: return &v.state case 1: @@ -19667,6 +20020,42 @@ func file_dota_usermessages_proto_init() { } } file_dota_usermessages_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AllStarEvent_PlayerScore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_PauseMinigameData_DataBit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress); i { case 0: return &v.state @@ -19684,8 +20073,8 @@ func file_dota_usermessages_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dota_usermessages_proto_rawDesc, - NumEnums: 16, - NumMessages: 182, + NumEnums: 17, + NumMessages: 185, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/dota_usermessages.proto b/dota/dota_usermessages.proto index f21f03f4..0bd0f851 100644 --- a/dota/dota_usermessages.proto +++ b/dota/dota_usermessages.proto @@ -74,7 +74,6 @@ enum EDotaUserMessages { DOTA_UM_BoosterState = 528; DOTA_UM_WillPurchaseAlert = 529; DOTA_UM_TutorialMinimapPosition = 530; - DOTA_UM_PlayerMMR = 531; DOTA_UM_AbilitySteal = 532; DOTA_UM_CourierKilledAlert = 533; DOTA_UM_EnemyItemAlert = 534; @@ -168,6 +167,10 @@ enum EDotaUserMessages { DOTA_UM_GiftPlayer = 623; DOTA_UM_FacetPing = 624; DOTA_UM_InnatePing = 625; + DOTA_UM_RoshanTimer = 626; + DOTA_UM_NeutralCraftAvailable = 627; + DOTA_UM_TimerAlert = 628; + DOTA_UM_MadstoneAlert = 629; } enum DOTA_CHAT_MESSAGE { @@ -282,6 +285,9 @@ enum DOTA_CHAT_MESSAGE { CHAT_MESSAGE_MINIBOSS_KILL = 117; CHAT_MESSAGE_PLAYER_IN_GAME_BAN_TEXT = 118; CHAT_MESSAGE_BANNER_PLANTED = 119; + CHAT_MESSAGE_ALCHEMIST_GRANTED_SCEPTER = 120; + CHAT_MESSAGE_PROTECTOR_SPAWNED = 121; + CHAT_MESSAGE_CRAFTING_XP = 122; } enum DOTA_NO_BATTLE_POINTS_REASONS { @@ -601,6 +607,11 @@ message CDOTAUserMsg_RadarAlert { optional bool negative = 2; } +message CDOTAUserMsg_RoshanTimer { + optional int32 player_id = 1; + optional bool negative = 2; +} + message CDOTAUserMsg_WillPurchaseAlert { optional int32 item_ability_id = 1; optional int32 player_id = 2; @@ -790,6 +801,7 @@ message CDOTAUserMsg_UnitEvent { optional bool muteable = 5; optional CDOTAUserMsg_UnitEvent.Interval predelay = 6; optional uint32 flags = 7; + optional int32 response_type = 8; } message SpeechMute { @@ -1088,10 +1100,6 @@ message CDOTAUserMsg_BoosterState { repeated CDOTAUserMsg_BoosterStatePlayer boosted_players = 1; } -message CDOTAUserMsg_PlayerMMR { - repeated sint32 mmr = 1; -} - message CDOTAUserMsg_AbilitySteal { optional int32 player_id = 1; optional int32 ability_id = 2; @@ -1365,6 +1373,7 @@ message CDOTAUserMsg_AbilityDraftRequestAbility { optional int32 player_id = 1; optional int32 requested_ability_id = 2; optional bool ctrl_is_down = 3; + optional int32 requested_hero_id = 4; } message CDOTAUserMsg_DamageReport { @@ -1470,6 +1479,8 @@ message CDOTAUserMsg_FoundNeutralItem { optional int32 item_ability_id = 2; optional uint32 item_tier = 3; optional uint32 tier_item_count = 4; + optional int32 enhancement_ability_id = 5; + optional int32 enhancement_level = 6; } message CDOTAUserMsg_OutpostCaptured { @@ -1670,3 +1681,25 @@ message CDOTAUserMsg_InnatePing { optional uint32 entity_id = 2; optional bool all_chat = 3; } + +message CDOTAUserMsg_NeutralCraftAvailable { +} + +message CDOTAUserMsg_TimerAlert { + optional int32 player_id = 1; + optional ETimerAlertType timer_alert_type = 2; +} + +message CDOTAUserMsg_MadstoneAlert { + enum EMadstoneAlertType { + CraftAvailable = 0; + NeedMadstone = 1; + WaitingForNextTier = 2; + } + + optional int32 player_id = 1; + optional int32 target_entindex = 2; + optional int32 tier = 3; + optional CDOTAUserMsg_MadstoneAlert.EMadstoneAlertType madstone_alert_type = 4; + optional int32 value = 5; +} diff --git a/dota/econ_gcmessages.pb.go b/dota/econ_gcmessages.pb.go index 561d09a7..82f8ba93 100644 --- a/dota/econ_gcmessages.pb.go +++ b/dota/econ_gcmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: econ_gcmessages.proto package dota @@ -7149,6 +7149,7 @@ type CMsgGCToGCBroadcastConsoleCommand struct { ReportOutput *bool `protobuf:"varint,2,opt,name=report_output,json=reportOutput" json:"report_output,omitempty"` SendingGc *int32 `protobuf:"varint,3,opt,name=sending_gc,json=sendingGc" json:"sending_gc,omitempty"` OutputInitiator *string `protobuf:"bytes,4,opt,name=output_initiator,json=outputInitiator" json:"output_initiator,omitempty"` + SenderSource *string `protobuf:"bytes,5,opt,name=sender_source,json=senderSource" json:"sender_source,omitempty"` } func (x *CMsgGCToGCBroadcastConsoleCommand) Reset() { @@ -7211,6 +7212,13 @@ func (x *CMsgGCToGCBroadcastConsoleCommand) GetOutputInitiator() string { return "" } +func (x *CMsgGCToGCBroadcastConsoleCommand) GetSenderSource() string { + if x != nil && x.SenderSource != nil { + return *x.SenderSource + } + return "" +} + type CMsgGCToGCConsoleOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -10982,7 +10990,7 @@ var file_econ_gcmessages_proto_rawDesc = []byte{ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, + 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, @@ -10993,667 +11001,669 @@ var file_econ_gcmessages_proto_rawDesc = []byte{ 0x05, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x47, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x89, 0x02, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x63, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x47, 0x63, - 0x12, 0x3c, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, - 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, 0x32, - 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, - 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4a, - 0x6f, 0x62, 0x1a, 0x3f, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x77, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x70, 0x65, 0x77, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x22, 0xbe, 0x01, 0x0a, 0x0c, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, - 0x41, 0x67, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x49, 0x74, 0x65, 0x6d, 0x41, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x44, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x6d, 0x61, 0x78, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, - 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x4d, - 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x63, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x47, - 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x6a, 0x6f, - 0x62, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, - 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x22, 0xa7, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, - 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x17, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, - 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x68, 0x61, - 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x77, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0xad, 0x01, 0x0a, - 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x72, 0x6f, 0x61, 0x64, - 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53, - 0x75, 0x62, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, - 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x73, 0x67, - 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x06, 0x52, - 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xe6, 0x01, 0x0a, - 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x12, - 0x50, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x1a, 0x52, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x42, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, - 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, - 0x40, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x46, - 0x6c, 0x75, 0x73, 0x68, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, - 0x73, 0x1a, 0x3d, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x69, 0x64, - 0x22, 0x67, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x77, - 0x61, 0x79, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x22, 0x31, 0x0a, 0x12, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, 0x66, 0x50, 0x69, 0x6e, 0x67, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x21, 0x0a, 0x1f, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x75, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, - 0xcf, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x75, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x07, 0x73, - 0x74, 0x61, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, - 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, - 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, - 0x4d, 0x61, 0x78, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x10, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, - 0x22, 0x49, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x22, 0xd9, 0x02, 0x0a, 0x34, + 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x89, 0x02, 0x0a, + 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x67, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x47, 0x63, 0x12, 0x3c, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6d, + 0x73, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, + 0x6f, 0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4a, 0x6f, 0x62, 0x1a, 0x3f, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70, 0x65, + 0x77, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x70, 0x65, 0x77, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xbe, 0x01, 0x0a, 0x0c, 0x43, 0x4d, 0x73, + 0x67, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x67, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x16, 0x6d, 0x61, 0x78, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x61, + 0x78, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x13, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x73, 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x44, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x61, 0x78, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x19, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x54, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x67, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x47, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, + 0x22, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x49, + 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xa7, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x6e, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, + 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x77, 0x68, 0x61, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x22, 0xad, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x75, 0x62, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, + 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x4b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x52, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x12, 0x43, 0x4d, + 0x73, 0x67, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0b, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xa5, 0x01, + 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x6c, 0x75, 0x73, + 0x68, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x47, 0x43, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x4b, 0x65, 0x79, + 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x3d, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x69, 0x64, 0x22, 0x67, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x77, + 0x61, 0x79, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x22, 0x31, + 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, 0x66, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x49, + 0x64, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x75, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x75, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x07, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, + 0x61, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x07, 0x73, 0x74, 0x61, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x49, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, + 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, + 0x22, 0xd9, 0x02, 0x0a, 0x34, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, + 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x11, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, + 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, + 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, + 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, + 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, + 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, + 0x4e, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x10, 0x06, 0x22, 0x41, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, - 0x68, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x64, 0x22, 0x93, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x22, + 0xab, 0x02, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x54, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x22, 0x79, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x10, 0x05, 0x12, 0x18, 0x0a, - 0x14, 0x6b, 0x5f, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x4e, 0x6f, 0x74, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x65, 0x64, 0x10, 0x06, 0x22, 0x41, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x46, 0x6c, - 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x22, 0xab, 0x02, 0x0a, 0x2c, 0x43, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x72, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, - 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x68, - 0x61, 0x72, 0x67, 0x65, 0x73, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x79, 0x0a, - 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, - 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, - 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, - 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x10, 0x05, 0x22, 0xa7, 0x02, 0x0a, 0x25, 0x43, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x99, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x22, 0xf6, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x61, 0x6c, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x10, 0x05, 0x22, 0xa7, 0x02, + 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, + 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, + 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x99, 0x01, 0x0a, 0x04, + 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x74, + 0x65, 0x6d, 0x44, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xf6, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x69, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0xd2, 0x01, 0x0a, 0x09, 0x45, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, - 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, - 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, - 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x6b, - 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x10, 0x05, - 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x73, 0x75, - 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x10, - 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x49, - 0x74, 0x65, 0x6d, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, 0x4d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x72, 0x65, 0x71, 0x10, 0x0a, 0x22, 0xe0, 0x01, 0x0a, 0x24, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x11, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x0f, 0x69, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x1a, 0x54, 0x0a, 0x0b, 0x49, 0x74, 0x65, 0x6d, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, - 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, - 0x65, 0x66, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x5f, 0x69, 0x6e, - 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x45, - 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, - 0x6e, 0x75, 0x73, 0x65, 0x64, 0x22, 0x4d, 0x0a, 0x33, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, - 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x07, 0x6e, - 0x65, 0x77, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x2a, 0xe5, 0x27, 0x0a, 0x0a, 0x45, 0x47, 0x43, - 0x49, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x11, 0x0a, 0x0c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x42, 0x61, 0x73, 0x65, 0x10, 0xe8, 0x07, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xe9, 0x07, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x61, 0x63, 0x6b, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xea, 0x07, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x61, 0x63, - 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xeb, 0x07, 0x12, 0x13, 0x0a, 0x0e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x10, 0xec, 0x07, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xed, 0x07, 0x12, 0x1d, 0x0a, - 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xee, 0x07, 0x12, 0x16, 0x0a, 0x11, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x10, 0xf1, 0x07, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x50, 0x61, 0x69, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x10, 0xf2, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xfb, 0x07, 0x12, - 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x61, 0x6d, 0x65, 0x42, - 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xfc, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, 0x73, - 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x81, 0x08, 0x12, - 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, 0x73, 0x65, 0x49, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x82, 0x08, 0x12, 0x18, 0x0a, - 0x13, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x69, 0x66, 0x74, 0x65, 0x64, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x10, 0x83, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x55, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x10, 0x8d, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x55, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x8e, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0x91, 0x08, - 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x42, 0x61, 0x63, 0x6b, - 0x70, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, - 0x10, 0xa2, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, - 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xa3, 0x08, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, - 0x65, 0x64, 0x67, 0x65, 0x64, 0x10, 0xa6, 0x08, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x61, 0x6d, 0x65, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xac, 0x08, 0x12, - 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x79, - 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x74, 0x10, 0xb1, 0x08, 0x12, 0x20, - 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, - 0x65, 0x6e, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x10, 0xb4, 0x08, - 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xb5, 0x08, 0x12, - 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x79, - 0x45, 0x67, 0x67, 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x10, 0xb6, 0x08, 0x12, 0x23, 0x0a, - 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x67, 0x67, - 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xb7, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x45, 0x78, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x10, 0xbe, 0x08, 0x12, 0x16, 0x0a, 0x11, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x10, 0xbf, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x10, - 0xc0, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, - 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc1, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc2, 0x08, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x47, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xc3, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, - 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0xc4, 0x08, 0x12, 0x26, 0x0a, 0x21, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, - 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x10, 0xc5, 0x08, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x45, - 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x10, 0xc6, 0x08, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc7, 0x08, - 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x10, 0xcf, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, - 0x64, 0x64, 0x47, 0x69, 0x66, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xd0, 0x08, 0x12, 0x27, 0x0a, - 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, - 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x55, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x47, - 0x69, 0x66, 0x74, 0x10, 0xd1, 0x08, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x10, 0xd5, 0x08, 0x12, 0x23, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xd6, 0x08, 0x12, 0x2a, 0x0a, 0x25, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd7, 0x08, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd8, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x65, 0x76, 0x5f, 0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xd1, 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x65, 0x76, 0x5f, 0x4e, 0x65, 0x77, 0x49, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x10, 0xd2, 0x0f, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x44, 0x65, 0x76, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, - 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xd3, - 0x0f, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x65, 0x76, - 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, - 0x79, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd4, 0x0f, 0x12, - 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x10, 0xc8, 0x13, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc9, 0x13, 0x12, - 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0xca, - 0x13, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xcb, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, - 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xce, 0x13, 0x12, 0x26, 0x0a, 0x21, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, - 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x10, 0xcf, 0x13, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xd3, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x44, 0x69, 0x72, 0x74, 0x79, - 0x53, 0x44, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x10, 0xd4, 0x13, 0x12, 0x22, 0x0a, 0x1d, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x51, 0x4c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0xd6, 0x13, 0x12, - 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0xd9, 0x13, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xda, 0x13, 0x12, 0x1b, 0x0a, 0x16, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x41, 0x75, 0x74, - 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x10, 0xdb, 0x13, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0xdc, 0x13, - 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x10, 0xe0, 0x13, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, - 0x4d, 0x73, 0x67, 0x10, 0xe1, 0x13, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x10, 0xe7, 0x13, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x61, - 0x6c, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe8, 0x13, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x10, 0xe9, 0x13, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x61, - 0x6c, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xea, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xeb, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xec, 0x13, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0xed, 0x13, 0x12, 0x2d, - 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xee, 0x13, 0x12, 0x25, 0x0a, - 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x10, 0xef, 0x13, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x10, 0xf0, 0x13, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, - 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x10, 0xf3, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x41, 0x64, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, - 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x10, 0xf4, 0x13, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x10, 0xf5, 0x13, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x10, 0xfa, 0x13, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x47, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x64, - 0x65, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xfb, - 0x13, 0x12, 0x18, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x65, 0x43, 0x72, 0x61, 0x66, 0x74, 0x10, 0x81, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x43, 0x6f, 0x64, - 0x65, 0x10, 0x82, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x10, 0x83, 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x10, 0x84, 0x14, 0x12, - 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x57, 0x72, 0x61, 0x70, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x47, 0x69, 0x66, 0x74, 0x10, 0x85, 0x14, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x72, 0x61, 0x70, - 0x41, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x86, 0x14, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x70, - 0x61, 0x63, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x10, 0x87, 0x14, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x10, 0x88, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x45, 0x71, 0x75, 0x69, 0x70, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x10, 0x89, 0x14, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x45, 0x71, 0x75, 0x69, 0x70, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x8a, 0x14, 0x12, 0x24, - 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x79, 0x6c, - 0x65, 0x10, 0x8b, 0x14, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0x8c, 0x14, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x10, 0x8d, - 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x72, 0x61, 0x74, 0x65, - 0x10, 0x8e, 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x72, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x8f, 0x14, 0x12, 0x21, 0x0a, - 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0x90, 0x14, - 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, - 0x10, 0x91, 0x14, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, - 0x79, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x92, 0x14, 0x12, 0x26, - 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x47, 0x43, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, 0x6b, 0x53, 0x6c, - 0x6f, 0x74, 0x73, 0x10, 0x94, 0x14, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0x95, 0x14, 0x12, 0x2e, - 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x96, 0x14, 0x12, 0x27, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0xd2, 0x01, 0x0a, 0x09, + 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x6f, 0x6f, 0x42, 0x75, 0x73, 0x79, 0x10, 0x02, 0x12, + 0x0f, 0x0a, 0x0b, 0x6b, 0x5f, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x03, + 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x04, + 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x65, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x5f, + 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x73, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x6b, 0x5f, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, + 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x72, 0x65, 0x71, 0x10, 0x0a, + 0x22, 0xe0, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, + 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x11, 0x69, 0x6e, 0x5f, + 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x0f, 0x69, 0x6e, + 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x1a, 0x54, 0x0a, + 0x0b, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, + 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x49, 0x6e, 0x46, 0x6c, 0x69, + 0x67, 0x68, 0x74, 0x22, 0x45, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x22, 0x4d, 0x0a, 0x33, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x65, + 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x12, 0x2d, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, + 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x4d, 0x73, 0x67, 0x12, + 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x2a, 0xe5, 0x27, + 0x0a, 0x0a, 0x45, 0x47, 0x43, 0x49, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x11, 0x0a, 0x0c, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x42, 0x61, 0x73, 0x65, 0x10, 0xe8, 0x07, 0x12, + 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xe9, 0x07, 0x12, 0x1f, 0x0a, + 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xea, 0x07, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, - 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, - 0x63, 0x69, 0x70, 0x65, 0x10, 0x98, 0x14, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x99, 0x14, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x43, 0x44, 0x4b, 0x65, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x9a, 0x14, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x43, 0x44, 0x4b, 0x65, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9b, 0x14, 0x12, 0x27, - 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x9c, 0x14, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9d, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x10, 0x9e, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x41, 0x67, 0x65, 0x73, 0x10, 0x9f, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, - 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xa0, 0x14, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x10, 0xa1, 0x14, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xa2, 0x14, 0x12, 0x27, 0x0a, - 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x10, 0xa3, 0x14, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa4, 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x75, 0x62, 0x10, 0xa6, - 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x10, 0xa7, 0x14, 0x12, 0x24, 0x0a, 0x1f, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x41, 0x64, 0x64, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xa8, - 0x14, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, - 0x43, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x65, 0x6e, - 0x74, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x10, 0xa9, 0x14, 0x12, 0x28, 0x0a, 0x23, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, - 0x72, 0x61, 0x74, 0x65, 0x45, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x10, 0xaa, 0x14, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, 0x61, 0x74, 0x65, 0x45, 0x73, - 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xab, 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, - 0xac, 0x14, 0x12, 0x19, 0x0a, 0x14, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x65, 0x6c, 0x66, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xad, 0x14, 0x12, 0x26, 0x0a, - 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x75, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x10, 0xae, 0x14, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x75, 0x78, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x10, 0xaf, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0xb0, 0x14, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0xb1, 0x14, 0x12, 0x3b, - 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xeb, 0x07, 0x12, 0x13, 0x0a, 0x0e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xec, 0x07, 0x12, 0x24, 0x0a, 0x1f, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0xed, 0x07, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xee, + 0x07, 0x12, 0x16, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x61, 0x69, + 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xf1, 0x07, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf2, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x10, 0xfb, 0x07, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfc, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x10, 0x81, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, + 0x82, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x69, + 0x66, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0x83, 0x08, 0x12, 0x1e, 0x0a, 0x19, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x47, 0x69, + 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x8d, 0x08, 0x12, 0x1f, 0x0a, 0x1a, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x47, 0x69, + 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x8e, 0x08, 0x12, 0x16, 0x0a, + 0x11, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x10, 0x91, 0x08, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x42, 0x61, 0x63, 0x6b, 0x70, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xa2, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x71, + 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xa3, 0x08, 0x12, 0x1d, + 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x63, + 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x10, 0xa6, 0x08, 0x12, 0x25, 0x0a, + 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0xac, 0x08, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x74, + 0x10, 0xb1, 0x08, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x50, 0x65, 0x6e, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x10, 0xb4, 0x08, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x10, 0xb5, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x67, 0x67, 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x10, + 0xb6, 0x08, 0x12, 0x23, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4e, 0x61, + 0x6d, 0x65, 0x45, 0x67, 0x67, 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb7, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x10, 0xbe, + 0x08, 0x12, 0x16, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, + 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xbf, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x10, 0xc0, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x53, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc1, 0x08, 0x12, 0x1e, 0x0a, + 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x53, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc2, 0x08, 0x12, 0x21, 0x0a, + 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xc3, 0x08, + 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x72, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0xc4, 0x08, + 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x72, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc5, 0x08, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x65, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc6, 0x08, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x47, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x10, 0xc7, 0x08, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xcf, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x41, 0x64, 0x64, 0x47, 0x69, 0x66, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x10, + 0xd0, 0x08, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x47, + 0x43, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x55, 0x6e, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x65, 0x64, 0x47, 0x69, 0x66, 0x74, 0x10, 0xd1, 0x08, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x66, 0x74, 0x65, 0x72, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x10, 0xd5, 0x08, 0x12, 0x23, 0x0a, 0x1e, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x10, 0xd6, + 0x08, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd7, 0x08, 0x12, 0x30, 0x0a, + 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd8, 0x08, 0x12, + 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x65, 0x76, 0x5f, 0x4e, + 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xd1, 0x0f, + 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x65, 0x76, 0x5f, + 0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xd2, 0x0f, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x44, 0x65, 0x76, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x10, 0xd3, 0x0f, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x44, 0x65, 0x76, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x6c, 0x49, + 0x74, 0x65, 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0xd4, 0x0f, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0xc8, 0x13, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0xc9, 0x13, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x10, 0xca, 0x13, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xcb, 0x13, + 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xce, 0x13, + 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xcf, 0x13, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x57, 0x6f, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xd3, 0x13, + 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, + 0x44, 0x69, 0x72, 0x74, 0x79, 0x53, 0x44, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x10, 0xd4, 0x13, + 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x51, 0x4c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x10, 0xd6, 0x13, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x47, 0x43, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0xd9, 0x13, 0x12, 0x21, + 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xda, + 0x13, 0x12, 0x1b, 0x0a, 0x16, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x41, 0x75, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x10, 0xdb, 0x13, 0x12, 0x25, + 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x65, + 0x62, 0x41, 0x50, 0x49, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x10, 0xdc, 0x13, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xe0, 0x13, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x65, + 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x10, 0xe1, 0x13, 0x12, 0x2e, 0x0a, 0x29, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x6a, + 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x10, 0xe7, 0x13, 0x12, 0x22, 0x0a, 0x1d, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe8, 0x13, 0x12, + 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xe9, 0x13, 0x12, 0x32, 0x0a, 0x2d, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x54, 0x6f, + 0x44, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xea, 0x13, 0x12, + 0x1c, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xeb, 0x13, 0x12, 0x1d, 0x0a, + 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xec, 0x13, 0x12, 0x25, 0x0a, 0x20, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x10, 0xed, 0x13, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, + 0xee, 0x13, 0x12, 0x25, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x47, 0x43, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x10, 0xef, 0x13, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf0, 0x13, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x44, 0x72, + 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x10, 0xf3, 0x13, 0x12, 0x1e, + 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x41, 0x64, 0x64, 0x44, 0x72, + 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x10, 0xf4, 0x13, 0x12, 0x1f, + 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x10, 0xf5, 0x13, 0x12, + 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x65, + 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0xfa, 0x13, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, + 0x6c, 0x66, 0x4d, 0x61, 0x64, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x10, 0xfb, 0x13, 0x12, 0x18, 0x0a, 0x13, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x43, 0x72, 0x61, 0x66, 0x74, 0x10, 0x81, 0x14, + 0x12, 0x17, 0x0a, 0x12, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x64, 0x65, + 0x65, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x82, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x83, 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, + 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x10, 0x84, 0x14, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x57, 0x72, 0x61, 0x70, 0x41, 0x6e, 0x64, 0x44, + 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x47, 0x69, 0x66, 0x74, 0x10, 0x85, 0x14, 0x12, 0x2f, 0x0a, + 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x57, 0x72, 0x61, 0x70, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x47, + 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x86, 0x14, 0x12, 0x29, + 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x47, 0x43, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x87, 0x14, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x88, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x45, 0x71, 0x75, + 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0x89, 0x14, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x45, 0x71, + 0x75, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0x8a, 0x14, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, + 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x10, 0x8b, 0x14, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x6c, + 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x8c, 0x14, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x10, 0x8d, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, + 0x43, 0x72, 0x61, 0x74, 0x65, 0x10, 0x8e, 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x6c, 0x6f, + 0x63, 0x6b, 0x43, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, + 0x8f, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x10, 0x90, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, + 0x53, 0x74, 0x79, 0x6c, 0x65, 0x10, 0x91, 0x14, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x74, 0x49, + 0x74, 0x65, 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0x92, 0x14, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, + 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x70, + 0x61, 0x63, 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x10, 0x94, 0x14, 0x12, 0x26, 0x0a, 0x21, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4c, + 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x10, 0x95, 0x14, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0x96, 0x14, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x10, 0x98, 0x14, 0x12, 0x2f, 0x0a, 0x2a, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x63, 0x69, + 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x99, 0x14, 0x12, 0x2d, 0x0a, + 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x44, 0x4b, 0x65, 0x79, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x9a, 0x14, 0x12, 0x35, 0x0a, 0x30, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x44, 0x4b, 0x65, 0x79, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0x9b, 0x14, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x9c, 0x14, 0x12, 0x2f, 0x0a, 0x2a, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9d, 0x14, 0x12, 0x1e, 0x0a, + 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x10, 0x9e, 0x14, 0x12, 0x1d, 0x0a, + 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x67, 0x65, 0x73, 0x10, 0x9f, 0x14, 0x12, 0x20, 0x0a, 0x1b, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xa0, 0x14, 0x12, 0x2c, + 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xa1, 0x14, 0x12, 0x24, 0x0a, 0x1f, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, + 0xa2, 0x14, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x10, 0xa3, 0x14, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa4, 0x14, 0x12, 0x28, 0x0a, 0x23, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x72, 0x6f, 0x61, + 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x53, 0x75, 0x62, 0x10, 0xa6, 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x10, 0xa7, 0x14, + 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, + 0x41, 0x64, 0x64, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x10, 0xa8, 0x14, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x10, 0xa9, + 0x14, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, 0x61, 0x74, 0x65, 0x45, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0xaa, 0x14, 0x12, 0x30, 0x0a, 0x2b, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, + 0x61, 0x74, 0x65, 0x45, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xab, 0x14, 0x12, 0x28, 0x0a, + 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x10, 0xac, 0x14, 0x12, 0x19, 0x0a, 0x14, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x65, 0x6c, 0x66, 0x50, 0x69, 0x6e, 0x67, 0x10, + 0xad, 0x14, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x75, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xae, 0x14, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, + 0x75, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xaf, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0xb0, 0x14, 0x12, 0x33, + 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb2, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x6b, - 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x42, 0x65, 0x74, 0x61, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0xb3, 0x14, 0x12, 0x2b, 0x0a, - 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x10, 0xb4, 0x14, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb5, 0x14, 0x12, - 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, - 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xb6, 0x14, 0x12, 0x2c, 0x0a, 0x27, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, - 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0xb7, 0x14, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb8, 0x14, - 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x10, 0xb9, 0x14, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, - 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xba, 0x14, - 0x2a, 0xb9, 0x0a, 0x0a, 0x1b, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, + 0x10, 0xb1, 0x14, 0x12, 0x3b, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, + 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xb2, 0x14, + 0x12, 0x20, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, + 0x42, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, + 0xb3, 0x14, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x10, 0xb4, 0x14, 0x12, + 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0xb5, 0x14, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x10, 0xb6, + 0x14, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, + 0x72, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x10, 0xb7, 0x14, 0x12, + 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x47, 0x43, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, + 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x10, 0xb8, 0x14, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, + 0x6e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xb9, 0x14, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x10, 0xba, 0x14, 0x2a, 0xb9, 0x0a, 0x0a, 0x1b, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, + 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, + 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x5f, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x01, 0x12, 0x36, 0x0a, + 0x32, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x56, + 0x41, 0x43, 0x5f, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x74, 0x6f, 0x72, 0x10, 0x02, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x56, 0x41, 0x43, 0x5f, 0x42, 0x61, 0x6e, 0x6e, 0x65, + 0x64, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x10, 0x03, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x5f, + 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x54, 0x72, 0x61, 0x64, 0x69, + 0x6e, 0x67, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, + 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x05, + 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x10, 0x06, 0x12, + 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, + 0x5f, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x10, 0x07, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, + 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x6f, 0x6f, 0x53, 0x6f, + 0x6f, 0x6e, 0x10, 0x08, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, + 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x6f, 0x6f, 0x53, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x6e, + 0x61, 0x6c, 0x74, 0x79, 0x10, 0x09, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, + 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x42, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x0a, + 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, + 0x65, 0x5f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x10, 0x0b, 0x12, 0x43, 0x0a, 0x3f, 0x6b, 0x5f, 0x45, 0x47, 0x43, + 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x5f, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x44, 0x65, - 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x01, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x47, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x49, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x0d, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x56, 0x41, 0x43, 0x5f, 0x42, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x02, - 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x5f, 0x56, 0x41, 0x43, 0x5f, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x10, 0x03, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, - 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x41, 0x6c, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, - 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x6b, - 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x4e, 0x6f, 0x74, - 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, - 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x10, 0x07, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, - 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x6f, 0x6f, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x08, 0x12, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x0e, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x5f, 0x54, 0x6f, 0x6f, 0x53, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x10, - 0x09, 0x12, 0x38, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, + 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, + 0x0f, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, - 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x0a, 0x12, 0x35, 0x0a, 0x31, 0x6b, - 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x5f, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x10, 0x0b, 0x12, 0x43, 0x0a, 0x3f, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, - 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x3a, 0x0a, 0x36, 0x6b, 0x5f, 0x45, 0x47, 0x43, - 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, - 0x72, 0x10, 0x0d, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x6e, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x0e, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, - 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x0f, 0x12, 0x33, 0x0a, 0x2f, - 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x4e, 0x65, - 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x10, - 0x10, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, + 0x73, 0x65, 0x5f, 0x4e, 0x65, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x10, 0x10, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, + 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x4e, 0x65, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x47, 0x75, 0x61, 0x72, 0x64, 0x10, 0x11, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x47, + 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x47, + 0x75, 0x61, 0x72, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x12, 0x12, 0x31, + 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, + 0x54, 0x68, 0x65, 0x79, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x10, + 0x13, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x5f, 0x4e, 0x65, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x47, 0x75, 0x61, 0x72, - 0x64, 0x10, 0x11, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x47, 0x75, 0x61, 0x72, 0x64, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x12, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x68, 0x65, 0x79, 0x43, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x10, 0x13, 0x12, 0x37, 0x0a, 0x33, - 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x52, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x10, 0x14, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, + 0x73, 0x65, 0x5f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, 0x14, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, + 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x55, 0x73, 0x69, 0x6e, + 0x67, 0x5f, 0x4e, 0x65, 0x77, 0x5f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x10, 0x15, 0x12, 0x35, + 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, + 0x53, 0x65, 0x6e, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x43, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x10, 0x16, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x4e, 0x65, 0x77, - 0x5f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x10, 0x15, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x53, 0x65, 0x6e, 0x74, 0x5f, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x10, 0x16, - 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x5f, 0x54, 0x6f, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x10, 0x17, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x64, 0x73, - 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x10, 0x18, 0x42, 0x25, 0x5a, 0x23, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, - 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, - 0x6f, 0x74, 0x61, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x54, 0x6f, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0x17, 0x12, 0x37, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x47, + 0x43, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x46, 0x75, 0x6e, 0x64, 0x73, 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x10, + 0x18, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, + 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/econ_gcmessages.proto b/dota/econ_gcmessages.proto index b17e91aa..e3e2998a 100644 --- a/dota/econ_gcmessages.proto +++ b/dota/econ_gcmessages.proto @@ -895,6 +895,7 @@ message CMsgGCToGCBroadcastConsoleCommand { optional bool report_output = 2; optional int32 sending_gc = 3; optional string output_initiator = 4; + optional string sender_source = 5; } message CMsgGCToGCConsoleOutput { diff --git a/dota/econ_shared_enums.pb.go b/dota/econ_shared_enums.pb.go index 0b29e12e..f7dfde9d 100644 --- a/dota/econ_shared_enums.pb.go +++ b/dota/econ_shared_enums.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: econ_shared_enums.proto package dota diff --git a/dota/engine_gcmessages.pb.go b/dota/engine_gcmessages.pb.go index 6dd1dcb7..3a42e6a0 100644 --- a/dota/engine_gcmessages.pb.go +++ b/dota/engine_gcmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: engine_gcmessages.proto package dota diff --git a/dota/enums_clientserver.pb.go b/dota/enums_clientserver.pb.go index c1febf48..d64068d7 100644 --- a/dota/enums_clientserver.pb.go +++ b/dota/enums_clientserver.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: enums_clientserver.proto package dota diff --git a/dota/gameevents.pb.go b/dota/gameevents.pb.go index 08747104..a5e5796a 100644 --- a/dota/gameevents.pb.go +++ b/dota/gameevents.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: gameevents.proto package dota diff --git a/dota/gcsdk_gcmessages.pb.go b/dota/gcsdk_gcmessages.pb.go index 807d8971..6490456a 100644 --- a/dota/gcsdk_gcmessages.pb.go +++ b/dota/gcsdk_gcmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: gcsdk_gcmessages.proto package dota @@ -282,9 +282,8 @@ type CMsgSteamLearnServerInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EnableDataSubmission *bool `protobuf:"varint,1,opt,name=enable_data_submission,json=enableDataSubmission" json:"enable_data_submission,omitempty"` - AccessTokens *CMsgSteamLearnAccessTokens `protobuf:"bytes,4,opt,name=access_tokens,json=accessTokens" json:"access_tokens,omitempty"` - ProjectInfos []*CMsgSteamLearnServerInfo_ProjectInfo `protobuf:"bytes,5,rep,name=project_infos,json=projectInfos" json:"project_infos,omitempty"` + AccessTokens *CMsgSteamLearnAccessTokens `protobuf:"bytes,4,opt,name=access_tokens,json=accessTokens" json:"access_tokens,omitempty"` + ProjectInfos []*CMsgSteamLearnServerInfo_ProjectInfo `protobuf:"bytes,5,rep,name=project_infos,json=projectInfos" json:"project_infos,omitempty"` } func (x *CMsgSteamLearnServerInfo) Reset() { @@ -319,13 +318,6 @@ func (*CMsgSteamLearnServerInfo) Descriptor() ([]byte, []int) { return file_gcsdk_gcmessages_proto_rawDescGZIP(), []int{1} } -func (x *CMsgSteamLearnServerInfo) GetEnableDataSubmission() bool { - if x != nil && x.EnableDataSubmission != nil { - return *x.EnableDataSubmission - } - return false -} - func (x *CMsgSteamLearnServerInfo) GetAccessTokens() *CMsgSteamLearnAccessTokens { if x != nil { return x.AccessTokens @@ -2060,7 +2052,6 @@ type CMsgClientWelcome struct { OutofdateSubscribedCaches []*CMsgSOCacheSubscribed `protobuf:"bytes,3,rep,name=outofdate_subscribed_caches,json=outofdateSubscribedCaches" json:"outofdate_subscribed_caches,omitempty"` UptodateSubscribedCaches []*CMsgSOCacheSubscriptionCheck `protobuf:"bytes,4,rep,name=uptodate_subscribed_caches,json=uptodateSubscribedCaches" json:"uptodate_subscribed_caches,omitempty"` Location *CMsgClientWelcome_Location `protobuf:"bytes,5,opt,name=location" json:"location,omitempty"` - SaveGameKey []byte `protobuf:"bytes,6,opt,name=save_game_key,json=saveGameKey" json:"save_game_key,omitempty"` GcSocacheFileVersion *uint32 `protobuf:"varint,9,opt,name=gc_socache_file_version,json=gcSocacheFileVersion" json:"gc_socache_file_version,omitempty"` TxnCountryCode *string `protobuf:"bytes,10,opt,name=txn_country_code,json=txnCountryCode" json:"txn_country_code,omitempty"` GameData2 []byte `protobuf:"bytes,11,opt,name=game_data2,json=gameData2" json:"game_data2,omitempty"` @@ -2141,13 +2132,6 @@ func (x *CMsgClientWelcome) GetLocation() *CMsgClientWelcome_Location { return nil } -func (x *CMsgClientWelcome) GetSaveGameKey() []byte { - if x != nil { - return x.SaveGameKey - } - return nil -} - func (x *CMsgClientWelcome) GetGcSocacheFileVersion() uint32 { if x != nil && x.GcSocacheFileVersion != nil { return *x.GcSocacheFileVersion @@ -4057,6 +4041,8 @@ type CMsgSteamLearnServerInfo_ProjectInfo struct { ProjectId *uint32 `protobuf:"varint,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"` SnapshotPublishedVersion *uint32 `protobuf:"varint,2,opt,name=snapshot_published_version,json=snapshotPublishedVersion" json:"snapshot_published_version,omitempty"` InferencePublishedVersion *uint32 `protobuf:"varint,3,opt,name=inference_published_version,json=inferencePublishedVersion" json:"inference_published_version,omitempty"` + SnapshotPercentage *uint32 `protobuf:"varint,6,opt,name=snapshot_percentage,json=snapshotPercentage" json:"snapshot_percentage,omitempty"` + SnapshotEnabled *bool `protobuf:"varint,7,opt,name=snapshot_enabled,json=snapshotEnabled" json:"snapshot_enabled,omitempty"` } func (x *CMsgSteamLearnServerInfo_ProjectInfo) Reset() { @@ -4112,6 +4098,20 @@ func (x *CMsgSteamLearnServerInfo_ProjectInfo) GetInferencePublishedVersion() ui return 0 } +func (x *CMsgSteamLearnServerInfo_ProjectInfo) GetSnapshotPercentage() uint32 { + if x != nil && x.SnapshotPercentage != nil { + return *x.SnapshotPercentage + } + return 0 +} + +func (x *CMsgSteamLearnServerInfo_ProjectInfo) GetSnapshotEnabled() bool { + if x != nil && x.SnapshotEnabled != nil { + return *x.SnapshotEnabled + } + return false +} + type CMsgSDOAssert_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5060,790 +5060,791 @@ var File_gcsdk_gcmessages_proto protoreflect.FileDescriptor var file_gcsdk_gcmessages_proto_rawDesc = []byte{ 0x0a, 0x16, 0x67, 0x63, 0x73, 0x64, 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, 0x13, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x2e, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x0e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, - 0x73, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x73, - 0x67, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, - 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x22, 0x95, 0x03, 0x0a, 0x18, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0d, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x73, 0x1a, 0xaa, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, 0x15, + 0x76, 0x61, 0x6c, 0x76, 0x65, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6c, + 0x65, 0x61, 0x72, 0x6e, 0x2e, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x73, + 0x64, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x0e, 0x43, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, + 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x69, + 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, + 0x22, 0xbb, 0x03, 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, + 0x61, 0x72, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, + 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x1a, 0x86, 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0x5b, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x73, 0x73, 0x65, 0x72, - 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x2c, - 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xa7, 0x01, 0x0a, - 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x44, 0x4f, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x73, 0x64, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x73, 0x64, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x44, 0x4f, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x1a, 0x42, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, - 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x33, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, - 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x12, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, - 0x73, 0x6f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, - 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xd1, 0x03, 0x0a, 0x15, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x4f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6d, - 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, - 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x61, 0x64, - 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x41, 0x64, 0x64, 0x65, - 0x64, 0x12, 0x51, 0x0a, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x5b, + 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x4a, 0x6f, + 0x62, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x10, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x0d, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x44, 0x4f, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, + 0x64, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, + 0x64, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x44, 0x4f, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, + 0x42, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x22, 0x33, 0x0a, 0x0d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x4f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xd1, 0x03, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x4f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x53, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x6f, - 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x4d, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x4f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x51, + 0x0a, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x49, 0x64, 0x1a, 0x54, 0x0a, 0x0c, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x0a, + 0x80, 0xa6, 0x1d, 0x80, 0x02, 0x88, 0xa6, 0x1d, 0x80, 0x08, 0x22, 0xdc, 0x02, 0x0a, 0x15, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x6f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x1a, 0x54, 0x0a, 0x0c, 0x53, 0x69, 0x6e, 0x67, 0x6c, - 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x3a, 0x0a, 0x80, 0xa6, 0x1d, 0x80, 0x02, 0x88, 0xa6, 0x1d, 0x80, 0x08, 0x22, 0xdc, 0x02, - 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x5f, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, - 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x1a, 0x4a, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd2, 0x01, 0x0a, - 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x55, 0x70, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x4a, 0x0a, + 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd2, 0x01, 0x0a, 0x1d, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x64, 0x55, 0x70, 0x54, 0x6f, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, + 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4d, + 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x6e, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x22, 0xd1, 0x01, + 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x5f, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, + 0x72, 0x5f, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0x4d, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0a, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, - 0x22, 0xd1, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, - 0x73, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, - 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x12, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x16, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x69, 0x64, 0x73, 0x22, 0x36, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, - 0x47, 0x43, 0x53, 0x75, 0x62, 0x47, 0x43, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x88, 0x02, 0x0a, - 0x13, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x41, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x41, 0x63, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x4d, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x79, 0x70, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x54, 0x6f, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x6b, 0x5f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x49, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, - 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x12, 0x2c, - 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x22, 0x3d, 0x0a, 0x21, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x1f, - 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x45, 0x0a, 0x07, 0x67, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x2e, 0x47, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, - 0x67, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x48, 0x0a, 0x06, 0x47, 0x43, 0x49, 0x6e, 0x66, 0x6f, + 0x6e, 0x22, 0x54, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x53, 0x6f, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x73, 0x22, 0x36, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, + 0x75, 0x62, 0x47, 0x43, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x88, 0x02, 0x0a, 0x13, 0x43, 0x47, + 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, + 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, + 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, + 0x63, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x4d, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, - 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x22, 0x6b, 0x0a, 0x10, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x6e, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x53, 0x0a, - 0x15, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x47, 0x43, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0a, - 0x43, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x02, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0x39, - 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, - 0x75, 0x62, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x7f, 0x0a, 0x25, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 0x47, 0x43, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, - 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x61, 0x76, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x04, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x4f, 0x49, 0x44, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x04, 0x73, 0x6f, 0x69, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x63, 0x68, 0x65, - 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x07, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, - 0x5f, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x49, + 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x69, 0x76, + 0x65, 0x72, 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, + 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x22, 0x3d, 0x0a, 0x21, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x1f, 0x43, 0x47, 0x43, + 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x07, + 0x67, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x2e, 0x47, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x67, 0x63, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x48, 0x0a, 0x06, 0x47, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, + 0x10, 0x43, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, + 0x6e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x53, 0x0a, 0x15, 0x43, 0x47, + 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x64, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xb9, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x47, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0a, 0x43, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, 0x69, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x1d, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 0x47, + 0x43, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x7f, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 0x47, 0x43, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, 0x69, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x61, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x13, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x48, 0x61, 0x76, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, - 0x2f, 0x0a, 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, - 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x72, - 0x65, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, - 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x73, 0x77, 0x61, 0x70, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x73, 0x77, 0x61, 0x70, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, - 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, - 0x69, 0x6e, 0x61, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x63, 0x68, 0x69, 0x6e, 0x61, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xf0, 0x07, 0x0a, 0x11, - 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x67, - 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, - 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x1b, 0x6f, 0x75, 0x74, 0x6f, - 0x66, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, - 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x52, 0x19, 0x6f, 0x75, 0x74, 0x6f, - 0x66, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x1a, 0x75, 0x70, 0x74, 0x6f, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x18, 0x75, - 0x70, 0x74, 0x6f, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, - 0x6d, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x61, - 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x17, 0x67, 0x63, 0x5f, - 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x67, 0x63, 0x53, 0x6f, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, 0x6e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, - 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, - 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x32, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x74, 0x69, - 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x67, 0x63, 0x5f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x19, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x47, 0x63, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x72, - 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x5f, 0x73, 0x73, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x13, 0x68, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x69, 0x6e, 0x61, 0x53, 0x73, 0x61, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x12, 0x4c, 0x0a, 0x17, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, - 0x6d, 0x73, 0x67, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x6c, 0x63, - 0x6f, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x55, 0x0a, 0x17, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x4c, - 0x65, 0x61, 0x72, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x5e, - 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, - 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, - 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xaa, - 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x47, - 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, - 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1d, 0x65, 0x73, - 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x57, 0x61, 0x69, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x1a, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0d, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x4f, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x48, 0x61, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x0c, 0x68, 0x61, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, - 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x54, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x4b, 0x0a, 0x10, 0x43, 0x4d, 0x73, - 0x67, 0x48, 0x61, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x6e, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x6e, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x22, - 0xb4, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x56, 0x0a, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, - 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x67, 0x65, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x15, - 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x4f, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, - 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, - 0x69, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x72, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x53, 0x75, 0x72, - 0x67, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x70, - 0x65, 0x64, 0x22, 0xbe, 0x03, 0x0a, 0x2a, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, - 0x5f, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x04, 0x73, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x49, 0x44, + 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x04, 0x73, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x11, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x07, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x68, 0x61, + 0x76, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x48, 0x61, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x13, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x48, 0x61, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x4e, 0x65, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, + 0x2b, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x2f, 0x0a, 0x13, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, + 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x73, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x77, + 0x61, 0x70, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x73, 0x77, 0x61, 0x70, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x77, 0x61, + 0x70, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x73, 0x77, 0x61, 0x70, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, + 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, + 0x6e, 0x61, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xcc, 0x07, 0x0a, 0x11, 0x43, 0x4d, 0x73, + 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x67, 0x61, 0x6d, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x1b, 0x6f, 0x75, 0x74, 0x6f, 0x66, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x52, 0x19, 0x6f, 0x75, 0x74, 0x6f, 0x66, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x73, 0x12, 0x60, 0x0a, 0x1a, 0x75, 0x70, 0x74, 0x6f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x18, 0x75, 0x70, 0x74, 0x6f, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x2e, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x17, 0x67, 0x63, 0x5f, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x14, 0x67, 0x63, 0x53, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, 0x6e, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x32, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x67, 0x63, + 0x5f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, + 0x32, 0x47, 0x63, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, + 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, + 0x5f, 0x73, 0x73, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, 0x73, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x73, 0x61, 0x12, + 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, + 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, + 0x6e, 0x61, 0x12, 0x4c, 0x0a, 0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x45, 0x78, 0x74, 0x72, + 0x61, 0x4d, 0x73, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x73, 0x67, 0x73, + 0x12, 0x55, 0x0a, 0x17, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x14, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x5e, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xaa, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x18, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, + 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x77, 0x61, 0x69, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x65, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1d, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, + 0x57, 0x61, 0x69, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, + 0x6f, 0x47, 0x43, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x56, + 0x0a, 0x0d, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x61, 0x76, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x68, 0x61, 0x76, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x54, 0x79, + 0x70, 0x65, 0x1a, 0x4b, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x61, 0x76, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0xa2, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x53, 0x4f, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, + 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x75, + 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x64, + 0x12, 0x32, 0x0a, 0x15, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x13, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x54, 0x79, 0x70, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x22, 0xb4, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, + 0x9c, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4c, 0x6f, + 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x5d, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, + 0x47, 0x43, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x26, + 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4c, 0x6f, 0x61, 0x64, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x47, 0x43, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, + 0x6e, 0x5f, 0x73, 0x75, 0x72, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, + 0x6e, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x53, 0x75, 0x72, 0x67, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x22, 0xbe, 0x03, 0x0a, 0x2a, + 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, + 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, + 0x12, 0x6c, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x62, + 0x0a, 0x15, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, + 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, + 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0xa7, 0x01, 0x0a, 0x1d, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x12, 0x6a, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x21, + 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x6c, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x50, 0x6f, 0x70, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x62, 0x0a, 0x15, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x29, - 0x0a, 0x10, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa7, 0x01, 0x0a, 0x1d, 0x49, 0x74, - 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x6a, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x50, - 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x21, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, - 0x5f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, - 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x22, 0x48, - 0x0a, 0x22, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xa5, 0x08, 0x0a, 0x25, 0x43, 0x57, 0x6f, - 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, - 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, - 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x7f, 0x0a, 0x19, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, - 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, 0x74, - 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, - 0x70, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x17, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x10, 0x70, 0x61, 0x72, - 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x47, 0x0a, - 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x6d, 0x61, 0x6b, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xa4, 0x01, 0x0a, 0x2c, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, - 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, - 0x68, 0x6f, 0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x27, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, - 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xba, 0x01, - 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, - 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x11, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, - 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x75, - 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, - 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x70, 0x0a, 0x19, 0x57, 0x6f, - 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x68, 0x6f, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x49, - 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x75, 0x6c, - 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x91, 0x01, 0x0a, - 0x16, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, - 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x11, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x55, 0x0a, 0x26, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, + 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, + 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, + 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x22, 0x48, 0x0a, 0x22, 0x43, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x06, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, + 0x73, 0x22, 0xa5, 0x08, 0x0a, 0x25, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, + 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, + 0x64, 0x12, 0x7f, 0x0a, 0x19, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x17, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x1f, 0x43, 0x43, 0x6f, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x43, 0x6c, 0x61, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, - 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x67, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, - 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x22, 0x0a, - 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x6f, 0x72, - 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, - 0xef, 0x03, 0x0a, 0x27, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x47, - 0x65, 0x74, 0x43, 0x6c, 0x61, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x63, 0x68, 0x61, 0x72, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x63, 0x68, 0x61, 0x72, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x70, 0x48, 0x74, 0x6d, 0x6c, 0x12, 0x23, - 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x54, - 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x6e, - 0x6f, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x4e, 0x6f, 0x54, 0x61, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, - 0x08, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x67, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x47, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x6c, 0x64, 0x65, 0x73, 0x74, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x28, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, - 0x5f, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x63, 0x68, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x6d, 0x61, 0x78, 0x63, 0x68, 0x61, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, - 0x72, 0x69, 0x70, 0x5f, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x73, 0x74, 0x72, 0x69, 0x70, 0x48, 0x74, 0x6d, 0x6c, 0x12, 0x4b, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, - 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, - 0x74, 0x79, 0x5f, 0x43, 0x6c, 0x61, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x24, 0x43, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x50, 0x6f, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x82, 0x04, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, - 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x52, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x67, 0x63, 0x5f, - 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x67, 0x63, 0x53, 0x6f, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x1a, 0x58, 0x0a, 0x09, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x12, 0x0a, + 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x47, 0x0a, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1d, 0x6d, 0x61, 0x6b, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0xa4, 0x01, 0x0a, 0x2c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x27, 0x61, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, + 0x70, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xba, 0x01, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, + 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, + 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x1a, 0x70, 0x0a, 0x19, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x28, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x68, 0x6f, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x91, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x75, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x26, 0x43, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x22, 0xe5, 0x02, 0x0a, 0x1f, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, + 0x43, 0x6c, 0x61, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x6e, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x65, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, + 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x75, + 0x6d, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0xef, 0x03, 0x0a, 0x27, 0x43, 0x43, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x6e, 0x41, + 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x61, 0x78, 0x63, 0x68, 0x61, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x6d, 0x61, 0x78, 0x63, 0x68, 0x61, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, + 0x70, 0x5f, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, + 0x72, 0x69, 0x70, 0x48, 0x74, 0x6d, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x4e, 0x6f, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x67, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x47, 0x69, + 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x6c, 0x64, 0x65, 0x73, + 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x74, + 0x69, 0x6d, 0x65, 0x4f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, + 0x64, 0x64, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x72, + 0x74, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x28, 0x43, + 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x61, + 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x63, 0x68, + 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x63, 0x68, + 0x61, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x68, 0x74, 0x6d, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x70, 0x48, 0x74, + 0x6d, 0x6c, 0x12, 0x4b, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x43, 0x6c, 0x61, 0x6e, + 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0x98, 0x01, 0x0a, 0x24, 0x43, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x50, + 0x6f, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, + 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x72, 0x6f, 0x61, + 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, + 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, + 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x82, 0x04, 0x0a, 0x15, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x4f, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x4f, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x06, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x67, 0x63, 0x5f, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x14, 0x67, 0x63, 0x53, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x58, 0x0a, 0x09, 0x54, 0x79, 0x70, + 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x49, 0x64, 0x1a, 0xf9, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x1a, 0xf9, 0x01, 0x0a, 0x05, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x46, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x0a, 0x74, 0x79, 0x70, - 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, - 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, - 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, - 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, - 0x6c, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x5b, 0x0a, 0x1b, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x4d, 0x73, 0x67, - 0x22, 0xca, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x75, 0x73, 0x65, 0x72, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, - 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, - 0x6e, 0x64, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6d, - 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x73, 0x67, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x96, 0x01, - 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x69, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x06, 0x73, 0x6f, 0x69, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x2a, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x54, 0x6f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x74, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, - 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, - 0x6f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x4b, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x54, 0x6f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x73, 0x67, 0x22, 0x9a, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x55, 0x6e, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x69, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x73, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x06, 0x73, 0x6f, 0x69, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x54, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, - 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x69, 0x64, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x69, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x06, 0x73, 0x6f, 0x69, 0x64, 0x49, 0x64, 0x2a, 0x35, 0x0a, 0x0d, 0x45, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x11, 0x0a, 0x0d, - 0x6b, 0x5f, 0x45, 0x53, 0x45, 0x5f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x31, 0x10, 0x00, 0x12, - 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x45, 0x53, 0x45, 0x5f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, - 0x10, 0x01, 0x2a, 0x56, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x52, 0x54, - 0x4e, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x41, - 0x52, 0x54, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x52, 0x46, 0x45, 0x43, 0x54, 0x5f, 0x57, 0x4f, - 0x52, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x03, 0x2a, 0xa0, 0x02, 0x0a, 0x12, 0x47, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x45, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, + 0x1a, 0x3d, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x5b, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x20, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, + 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x76, 0x61, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5b, 0x0a, 0x1b, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, + 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6d, + 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x73, 0x67, + 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, + 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x22, 0xca, 0x01, 0x0a, 0x20, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, + 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x73, 0x50, + 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x73, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, + 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x96, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, + 0x6f, 0x69, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x73, 0x6f, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x69, 0x64, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x73, 0x6f, 0x69, 0x64, 0x49, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x73, 0x22, + 0x2a, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0x0a, 0x25, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x73, + 0x67, 0x22, 0x9a, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, + 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, + 0x69, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, + 0x6f, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x69, 0x64, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x73, 0x6f, 0x69, 0x64, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x54, + 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x47, 0x43, 0x4d, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x6f, 0x69, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, + 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x73, 0x6f, + 0x69, 0x64, 0x49, 0x64, 0x2a, 0x35, 0x0a, 0x0d, 0x45, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x45, 0x53, 0x45, 0x5f, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x31, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x6b, 0x5f, 0x45, 0x53, + 0x45, 0x5f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x10, 0x01, 0x2a, 0x56, 0x0a, 0x12, 0x50, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x5f, 0x50, + 0x45, 0x52, 0x46, 0x45, 0x43, 0x54, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x13, + 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x10, 0x03, 0x2a, 0xa0, 0x02, 0x0a, 0x12, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x43, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, + 0x24, 0x0a, 0x20, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x47, 0x43, 0x5f, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, + 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x47, 0x43, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, + 0x4f, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x4c, 0x4f, 0x47, + 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x43, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x47, 0x43, 0x5f, - 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, - 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, - 0x30, 0x0a, 0x2c, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x49, 0x4e, 0x5f, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, - 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, - 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, - 0x5f, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x06, 0x42, 0x25, 0x5a, - 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, - 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, - 0x64, 0x6f, 0x74, 0x61, + 0x73, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x05, 0x12, 0x27, 0x0a, + 0x23, 0x47, 0x43, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, + 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x06, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, + 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -5994,6 +5995,7 @@ func file_gcsdk_gcmessages_proto_init() { if File_gcsdk_gcmessages_proto != nil { return } + file_valveextensions_proto_init() file_steammessages_proto_init() file_steammessages_steamlearn_steamworkssdk_proto_init() if !protoimpl.UnsafeEnabled { diff --git a/dota/gcsdk_gcmessages.proto b/dota/gcsdk_gcmessages.proto index 0e9b3486..7bb8832a 100644 --- a/dota/gcsdk_gcmessages.proto +++ b/dota/gcsdk_gcmessages.proto @@ -3,6 +3,7 @@ syntax = "proto2"; package dota; option go_package = "github.com/dotabuff/manta/dota;dota"; +import "valveextensions.proto"; import "steammessages.proto"; import "steammessages_steamlearn.steamworkssdk.proto"; @@ -39,9 +40,10 @@ message CMsgSteamLearnServerInfo { optional uint32 project_id = 1; optional uint32 snapshot_published_version = 2; optional uint32 inference_published_version = 3; + optional uint32 snapshot_percentage = 6; + optional bool snapshot_enabled = 7; } - optional bool enable_data_submission = 1; optional CMsgSteamLearnAccessTokens access_tokens = 4; repeated CMsgSteamLearnServerInfo.ProjectInfo project_infos = 5; } @@ -257,7 +259,6 @@ message CMsgClientWelcome { repeated CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; repeated CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; optional CMsgClientWelcome.Location location = 5; - optional bytes save_game_key = 6; optional uint32 gc_socache_file_version = 9; optional string txn_country_code = 10; optional bytes game_data2 = 11; diff --git a/dota/gcsystemmsgs.pb.go b/dota/gcsystemmsgs.pb.go index 0bf33ffa..cf4190eb 100644 --- a/dota/gcsystemmsgs.pb.go +++ b/dota/gcsystemmsgs.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: gcsystemmsgs.proto package dota diff --git a/dota/netmessages.pb.go b/dota/netmessages.pb.go index 9f21c05e..223cf017 100644 --- a/dota/netmessages.pb.go +++ b/dota/netmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: netmessages.proto package dota @@ -668,6 +668,7 @@ const ( Bidirectional_Messages_bi_RebroadcastGameEvent Bidirectional_Messages = 16 Bidirectional_Messages_bi_RebroadcastSource Bidirectional_Messages = 17 Bidirectional_Messages_bi_GameEvent Bidirectional_Messages = 18 + Bidirectional_Messages_bi_PredictionEvent Bidirectional_Messages = 19 ) // Enum value maps for Bidirectional_Messages. @@ -676,11 +677,13 @@ var ( 16: "bi_RebroadcastGameEvent", 17: "bi_RebroadcastSource", 18: "bi_GameEvent", + 19: "bi_PredictionEvent", } Bidirectional_Messages_value = map[string]int32{ "bi_RebroadcastGameEvent": 16, "bi_RebroadcastSource": 17, "bi_GameEvent": 18, + "bi_PredictionEvent": 19, } ) @@ -842,6 +845,62 @@ func (ReplayEventTypeT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{11} } +type CBidirMsg_PredictionEvent_ESyncType int32 + +const ( + CBidirMsg_PredictionEvent_ST_Tick CBidirMsg_PredictionEvent_ESyncType = 0 + CBidirMsg_PredictionEvent_ST_UserCmdNum CBidirMsg_PredictionEvent_ESyncType = 1 +) + +// Enum value maps for CBidirMsg_PredictionEvent_ESyncType. +var ( + CBidirMsg_PredictionEvent_ESyncType_name = map[int32]string{ + 0: "ST_Tick", + 1: "ST_UserCmdNum", + } + CBidirMsg_PredictionEvent_ESyncType_value = map[string]int32{ + "ST_Tick": 0, + "ST_UserCmdNum": 1, + } +) + +func (x CBidirMsg_PredictionEvent_ESyncType) Enum() *CBidirMsg_PredictionEvent_ESyncType { + p := new(CBidirMsg_PredictionEvent_ESyncType) + *p = x + return p +} + +func (x CBidirMsg_PredictionEvent_ESyncType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CBidirMsg_PredictionEvent_ESyncType) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[12].Descriptor() +} + +func (CBidirMsg_PredictionEvent_ESyncType) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[12] +} + +func (x CBidirMsg_PredictionEvent_ESyncType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CBidirMsg_PredictionEvent_ESyncType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CBidirMsg_PredictionEvent_ESyncType(num) + return nil +} + +// Deprecated: Use CBidirMsg_PredictionEvent_ESyncType.Descriptor instead. +func (CBidirMsg_PredictionEvent_ESyncType) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{59, 0} +} + type CCLCMsg_ClientInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1879,15 +1938,24 @@ type CMsgSource2VProfLiteReportItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - ActiveSamples *uint32 `protobuf:"varint,2,opt,name=active_samples,json=activeSamples" json:"active_samples,omitempty"` - UsecMax *uint32 `protobuf:"varint,3,opt,name=usec_max,json=usecMax" json:"usec_max,omitempty"` - UsecAvgActive *uint32 `protobuf:"varint,11,opt,name=usec_avg_active,json=usecAvgActive" json:"usec_avg_active,omitempty"` - UsecP50Active *uint32 `protobuf:"varint,12,opt,name=usec_p50_active,json=usecP50Active" json:"usec_p50_active,omitempty"` - UsecP99Active *uint32 `protobuf:"varint,13,opt,name=usec_p99_active,json=usecP99Active" json:"usec_p99_active,omitempty"` - UsecAvgAll *uint32 `protobuf:"varint,21,opt,name=usec_avg_all,json=usecAvgAll" json:"usec_avg_all,omitempty"` - UsecP50All *uint32 `protobuf:"varint,22,opt,name=usec_p50_all,json=usecP50All" json:"usec_p50_all,omitempty"` - UsecP99All *uint32 `protobuf:"varint,23,opt,name=usec_p99_all,json=usecP99All" json:"usec_p99_all,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + ActiveSamples *uint32 `protobuf:"varint,2,opt,name=active_samples,json=activeSamples" json:"active_samples,omitempty"` + ActiveSamples_1Secmax *uint32 `protobuf:"varint,4,opt,name=active_samples_1secmax,json=activeSamples1secmax" json:"active_samples_1secmax,omitempty"` + UsecMax *uint32 `protobuf:"varint,3,opt,name=usec_max,json=usecMax" json:"usec_max,omitempty"` + UsecAvgActive *uint32 `protobuf:"varint,11,opt,name=usec_avg_active,json=usecAvgActive" json:"usec_avg_active,omitempty"` + UsecP50Active *uint32 `protobuf:"varint,12,opt,name=usec_p50_active,json=usecP50Active" json:"usec_p50_active,omitempty"` + UsecP99Active *uint32 `protobuf:"varint,13,opt,name=usec_p99_active,json=usecP99Active" json:"usec_p99_active,omitempty"` + UsecAvgAll *uint32 `protobuf:"varint,21,opt,name=usec_avg_all,json=usecAvgAll" json:"usec_avg_all,omitempty"` + UsecP50All *uint32 `protobuf:"varint,22,opt,name=usec_p50_all,json=usecP50All" json:"usec_p50_all,omitempty"` + UsecP99All *uint32 `protobuf:"varint,23,opt,name=usec_p99_all,json=usecP99All" json:"usec_p99_all,omitempty"` + Usec_1SecmaxAvgActive *uint32 `protobuf:"varint,31,opt,name=usec_1secmax_avg_active,json=usec1secmaxAvgActive" json:"usec_1secmax_avg_active,omitempty"` + Usec_1SecmaxP50Active *uint32 `protobuf:"varint,32,opt,name=usec_1secmax_p50_active,json=usec1secmaxP50Active" json:"usec_1secmax_p50_active,omitempty"` + Usec_1SecmaxP95Active *uint32 `protobuf:"varint,33,opt,name=usec_1secmax_p95_active,json=usec1secmaxP95Active" json:"usec_1secmax_p95_active,omitempty"` + Usec_1SecmaxP99Active *uint32 `protobuf:"varint,34,opt,name=usec_1secmax_p99_active,json=usec1secmaxP99Active" json:"usec_1secmax_p99_active,omitempty"` + Usec_1SecmaxAvgAll *uint32 `protobuf:"varint,41,opt,name=usec_1secmax_avg_all,json=usec1secmaxAvgAll" json:"usec_1secmax_avg_all,omitempty"` + Usec_1SecmaxP50All *uint32 `protobuf:"varint,42,opt,name=usec_1secmax_p50_all,json=usec1secmaxP50All" json:"usec_1secmax_p50_all,omitempty"` + Usec_1SecmaxP95All *uint32 `protobuf:"varint,43,opt,name=usec_1secmax_p95_all,json=usec1secmaxP95All" json:"usec_1secmax_p95_all,omitempty"` + Usec_1SecmaxP99All *uint32 `protobuf:"varint,44,opt,name=usec_1secmax_p99_all,json=usec1secmaxP99All" json:"usec_1secmax_p99_all,omitempty"` } func (x *CMsgSource2VProfLiteReportItem) Reset() { @@ -1936,6 +2004,13 @@ func (x *CMsgSource2VProfLiteReportItem) GetActiveSamples() uint32 { return 0 } +func (x *CMsgSource2VProfLiteReportItem) GetActiveSamples_1Secmax() uint32 { + if x != nil && x.ActiveSamples_1Secmax != nil { + return *x.ActiveSamples_1Secmax + } + return 0 +} + func (x *CMsgSource2VProfLiteReportItem) GetUsecMax() uint32 { if x != nil && x.UsecMax != nil { return *x.UsecMax @@ -1985,6 +2060,62 @@ func (x *CMsgSource2VProfLiteReportItem) GetUsecP99All() uint32 { return 0 } +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxAvgActive() uint32 { + if x != nil && x.Usec_1SecmaxAvgActive != nil { + return *x.Usec_1SecmaxAvgActive + } + return 0 +} + +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxP50Active() uint32 { + if x != nil && x.Usec_1SecmaxP50Active != nil { + return *x.Usec_1SecmaxP50Active + } + return 0 +} + +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxP95Active() uint32 { + if x != nil && x.Usec_1SecmaxP95Active != nil { + return *x.Usec_1SecmaxP95Active + } + return 0 +} + +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxP99Active() uint32 { + if x != nil && x.Usec_1SecmaxP99Active != nil { + return *x.Usec_1SecmaxP99Active + } + return 0 +} + +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxAvgAll() uint32 { + if x != nil && x.Usec_1SecmaxAvgAll != nil { + return *x.Usec_1SecmaxAvgAll + } + return 0 +} + +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxP50All() uint32 { + if x != nil && x.Usec_1SecmaxP50All != nil { + return *x.Usec_1SecmaxP50All + } + return 0 +} + +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxP95All() uint32 { + if x != nil && x.Usec_1SecmaxP95All != nil { + return *x.Usec_1SecmaxP95All + } + return 0 +} + +func (x *CMsgSource2VProfLiteReportItem) GetUsec_1SecmaxP99All() uint32 { + if x != nil && x.Usec_1SecmaxP99All != nil { + return *x.Usec_1SecmaxP99All + } + return 0 +} + type CMsgSource2VProfLiteReport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2048,6 +2179,277 @@ func (x *CMsgSource2VProfLiteReport) GetDiscardedFrames() uint32 { return 0 } +type CMsgSource2NetworkFlowQuality struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Duration *uint32 `protobuf:"varint,1,opt,name=duration" json:"duration,omitempty"` + BytesTotal *uint64 `protobuf:"varint,5,opt,name=bytes_total,json=bytesTotal" json:"bytes_total,omitempty"` + BytesTotalReliable *uint64 `protobuf:"varint,6,opt,name=bytes_total_reliable,json=bytesTotalReliable" json:"bytes_total_reliable,omitempty"` + BytesTotalVoice *uint64 `protobuf:"varint,7,opt,name=bytes_total_voice,json=bytesTotalVoice" json:"bytes_total_voice,omitempty"` + BytesSecP95 *uint32 `protobuf:"varint,10,opt,name=bytes_sec_p95,json=bytesSecP95" json:"bytes_sec_p95,omitempty"` + BytesSecP99 *uint32 `protobuf:"varint,11,opt,name=bytes_sec_p99,json=bytesSecP99" json:"bytes_sec_p99,omitempty"` + EnginemsgsTotal *uint32 `protobuf:"varint,20,opt,name=enginemsgs_total,json=enginemsgsTotal" json:"enginemsgs_total,omitempty"` + EnginemsgsSecP95 *uint32 `protobuf:"varint,21,opt,name=enginemsgs_sec_p95,json=enginemsgsSecP95" json:"enginemsgs_sec_p95,omitempty"` + EnginemsgsSecP99 *uint32 `protobuf:"varint,22,opt,name=enginemsgs_sec_p99,json=enginemsgsSecP99" json:"enginemsgs_sec_p99,omitempty"` + TicksTotal *uint32 `protobuf:"varint,40,opt,name=ticks_total,json=ticksTotal" json:"ticks_total,omitempty"` + TicksGood *uint32 `protobuf:"varint,41,opt,name=ticks_good,json=ticksGood" json:"ticks_good,omitempty"` + TicksGoodAlmostLate *uint32 `protobuf:"varint,42,opt,name=ticks_good_almost_late,json=ticksGoodAlmostLate" json:"ticks_good_almost_late,omitempty"` + TicksFixedDropped *uint32 `protobuf:"varint,43,opt,name=ticks_fixed_dropped,json=ticksFixedDropped" json:"ticks_fixed_dropped,omitempty"` + TicksFixedLate *uint32 `protobuf:"varint,44,opt,name=ticks_fixed_late,json=ticksFixedLate" json:"ticks_fixed_late,omitempty"` + TicksBadDropped *uint32 `protobuf:"varint,45,opt,name=ticks_bad_dropped,json=ticksBadDropped" json:"ticks_bad_dropped,omitempty"` + TicksBadLate *uint32 `protobuf:"varint,46,opt,name=ticks_bad_late,json=ticksBadLate" json:"ticks_bad_late,omitempty"` + TicksBadOther *uint32 `protobuf:"varint,47,opt,name=ticks_bad_other,json=ticksBadOther" json:"ticks_bad_other,omitempty"` + TickMissrateSamplesTotal *uint32 `protobuf:"varint,50,opt,name=tick_missrate_samples_total,json=tickMissrateSamplesTotal" json:"tick_missrate_samples_total,omitempty"` + TickMissrateSamplesPerfect *uint32 `protobuf:"varint,51,opt,name=tick_missrate_samples_perfect,json=tickMissrateSamplesPerfect" json:"tick_missrate_samples_perfect,omitempty"` + TickMissrateSamplesPerfectnet *uint32 `protobuf:"varint,52,opt,name=tick_missrate_samples_perfectnet,json=tickMissrateSamplesPerfectnet" json:"tick_missrate_samples_perfectnet,omitempty"` + TickMissratenetP75X10 *uint32 `protobuf:"varint,53,opt,name=tick_missratenet_p75_x10,json=tickMissratenetP75X10" json:"tick_missratenet_p75_x10,omitempty"` + TickMissratenetP95X10 *uint32 `protobuf:"varint,54,opt,name=tick_missratenet_p95_x10,json=tickMissratenetP95X10" json:"tick_missratenet_p95_x10,omitempty"` + TickMissratenetP99X10 *uint32 `protobuf:"varint,55,opt,name=tick_missratenet_p99_x10,json=tickMissratenetP99X10" json:"tick_missratenet_p99_x10,omitempty"` + RecvmarginP1 *int32 `protobuf:"zigzag32,61,opt,name=recvmargin_p1,json=recvmarginP1" json:"recvmargin_p1,omitempty"` + RecvmarginP5 *int32 `protobuf:"zigzag32,62,opt,name=recvmargin_p5,json=recvmarginP5" json:"recvmargin_p5,omitempty"` + RecvmarginP25 *int32 `protobuf:"zigzag32,63,opt,name=recvmargin_p25,json=recvmarginP25" json:"recvmargin_p25,omitempty"` + RecvmarginP50 *int32 `protobuf:"zigzag32,64,opt,name=recvmargin_p50,json=recvmarginP50" json:"recvmargin_p50,omitempty"` + RecvmarginP75 *int32 `protobuf:"zigzag32,65,opt,name=recvmargin_p75,json=recvmarginP75" json:"recvmargin_p75,omitempty"` + RecvmarginP95 *int32 `protobuf:"zigzag32,66,opt,name=recvmargin_p95,json=recvmarginP95" json:"recvmargin_p95,omitempty"` +} + +func (x *CMsgSource2NetworkFlowQuality) Reset() { + *x = CMsgSource2NetworkFlowQuality{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSource2NetworkFlowQuality) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSource2NetworkFlowQuality) ProtoMessage() {} + +func (x *CMsgSource2NetworkFlowQuality) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSource2NetworkFlowQuality.ProtoReflect.Descriptor instead. +func (*CMsgSource2NetworkFlowQuality) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{18} +} + +func (x *CMsgSource2NetworkFlowQuality) GetDuration() uint32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetBytesTotal() uint64 { + if x != nil && x.BytesTotal != nil { + return *x.BytesTotal + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetBytesTotalReliable() uint64 { + if x != nil && x.BytesTotalReliable != nil { + return *x.BytesTotalReliable + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetBytesTotalVoice() uint64 { + if x != nil && x.BytesTotalVoice != nil { + return *x.BytesTotalVoice + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetBytesSecP95() uint32 { + if x != nil && x.BytesSecP95 != nil { + return *x.BytesSecP95 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetBytesSecP99() uint32 { + if x != nil && x.BytesSecP99 != nil { + return *x.BytesSecP99 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetEnginemsgsTotal() uint32 { + if x != nil && x.EnginemsgsTotal != nil { + return *x.EnginemsgsTotal + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetEnginemsgsSecP95() uint32 { + if x != nil && x.EnginemsgsSecP95 != nil { + return *x.EnginemsgsSecP95 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetEnginemsgsSecP99() uint32 { + if x != nil && x.EnginemsgsSecP99 != nil { + return *x.EnginemsgsSecP99 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksTotal() uint32 { + if x != nil && x.TicksTotal != nil { + return *x.TicksTotal + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksGood() uint32 { + if x != nil && x.TicksGood != nil { + return *x.TicksGood + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksGoodAlmostLate() uint32 { + if x != nil && x.TicksGoodAlmostLate != nil { + return *x.TicksGoodAlmostLate + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksFixedDropped() uint32 { + if x != nil && x.TicksFixedDropped != nil { + return *x.TicksFixedDropped + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksFixedLate() uint32 { + if x != nil && x.TicksFixedLate != nil { + return *x.TicksFixedLate + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksBadDropped() uint32 { + if x != nil && x.TicksBadDropped != nil { + return *x.TicksBadDropped + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksBadLate() uint32 { + if x != nil && x.TicksBadLate != nil { + return *x.TicksBadLate + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTicksBadOther() uint32 { + if x != nil && x.TicksBadOther != nil { + return *x.TicksBadOther + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTickMissrateSamplesTotal() uint32 { + if x != nil && x.TickMissrateSamplesTotal != nil { + return *x.TickMissrateSamplesTotal + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTickMissrateSamplesPerfect() uint32 { + if x != nil && x.TickMissrateSamplesPerfect != nil { + return *x.TickMissrateSamplesPerfect + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTickMissrateSamplesPerfectnet() uint32 { + if x != nil && x.TickMissrateSamplesPerfectnet != nil { + return *x.TickMissrateSamplesPerfectnet + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTickMissratenetP75X10() uint32 { + if x != nil && x.TickMissratenetP75X10 != nil { + return *x.TickMissratenetP75X10 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTickMissratenetP95X10() uint32 { + if x != nil && x.TickMissratenetP95X10 != nil { + return *x.TickMissratenetP95X10 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetTickMissratenetP99X10() uint32 { + if x != nil && x.TickMissratenetP99X10 != nil { + return *x.TickMissratenetP99X10 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetRecvmarginP1() int32 { + if x != nil && x.RecvmarginP1 != nil { + return *x.RecvmarginP1 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetRecvmarginP5() int32 { + if x != nil && x.RecvmarginP5 != nil { + return *x.RecvmarginP5 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetRecvmarginP25() int32 { + if x != nil && x.RecvmarginP25 != nil { + return *x.RecvmarginP25 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetRecvmarginP50() int32 { + if x != nil && x.RecvmarginP50 != nil { + return *x.RecvmarginP50 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetRecvmarginP75() int32 { + if x != nil && x.RecvmarginP75 != nil { + return *x.RecvmarginP75 + } + return 0 +} + +func (x *CMsgSource2NetworkFlowQuality) GetRecvmarginP95() int32 { + if x != nil && x.RecvmarginP95 != nil { + return *x.RecvmarginP95 + } + return 0 +} + type CCLCMsg_Diagnostic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2060,7 +2462,7 @@ type CCLCMsg_Diagnostic struct { func (x *CCLCMsg_Diagnostic) Reset() { *x = CCLCMsg_Diagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[18] + mi := &file_netmessages_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2073,7 +2475,7 @@ func (x *CCLCMsg_Diagnostic) String() string { func (*CCLCMsg_Diagnostic) ProtoMessage() {} func (x *CCLCMsg_Diagnostic) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[18] + mi := &file_netmessages_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2086,7 +2488,7 @@ func (x *CCLCMsg_Diagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use CCLCMsg_Diagnostic.ProtoReflect.Descriptor instead. func (*CCLCMsg_Diagnostic) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{18} + return file_netmessages_proto_rawDescGZIP(), []int{19} } func (x *CCLCMsg_Diagnostic) GetSystemSpecs() *CMsgSource2SystemSpecs { @@ -2119,7 +2521,7 @@ type CSource2Metrics_MatchPerfSummary_Notification struct { func (x *CSource2Metrics_MatchPerfSummary_Notification) Reset() { *x = CSource2Metrics_MatchPerfSummary_Notification{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[19] + mi := &file_netmessages_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2132,7 +2534,7 @@ func (x *CSource2Metrics_MatchPerfSummary_Notification) String() string { func (*CSource2Metrics_MatchPerfSummary_Notification) ProtoMessage() {} func (x *CSource2Metrics_MatchPerfSummary_Notification) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[19] + mi := &file_netmessages_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2145,7 +2547,7 @@ func (x *CSource2Metrics_MatchPerfSummary_Notification) ProtoReflect() protorefl // Deprecated: Use CSource2Metrics_MatchPerfSummary_Notification.ProtoReflect.Descriptor instead. func (*CSource2Metrics_MatchPerfSummary_Notification) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{19} + return file_netmessages_proto_rawDescGZIP(), []int{20} } func (x *CSource2Metrics_MatchPerfSummary_Notification) GetAppid() uint32 { @@ -2216,7 +2618,7 @@ type CSVCMsg_ServerInfo struct { func (x *CSVCMsg_ServerInfo) Reset() { *x = CSVCMsg_ServerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[20] + mi := &file_netmessages_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2229,7 +2631,7 @@ func (x *CSVCMsg_ServerInfo) String() string { func (*CSVCMsg_ServerInfo) ProtoMessage() {} func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[20] + mi := &file_netmessages_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2242,7 +2644,7 @@ func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_ServerInfo.ProtoReflect.Descriptor instead. func (*CSVCMsg_ServerInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{20} + return file_netmessages_proto_rawDescGZIP(), []int{21} } func (x *CSVCMsg_ServerInfo) GetProtocol() int32 { @@ -2369,7 +2771,7 @@ type CSVCMsg_ClassInfo struct { func (x *CSVCMsg_ClassInfo) Reset() { *x = CSVCMsg_ClassInfo{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[21] + mi := &file_netmessages_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2382,7 +2784,7 @@ func (x *CSVCMsg_ClassInfo) String() string { func (*CSVCMsg_ClassInfo) ProtoMessage() {} func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[21] + mi := &file_netmessages_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2395,7 +2797,7 @@ func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_ClassInfo.ProtoReflect.Descriptor instead. func (*CSVCMsg_ClassInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{21} + return file_netmessages_proto_rawDescGZIP(), []int{22} } func (x *CSVCMsg_ClassInfo) GetCreateOnClient() bool { @@ -2423,7 +2825,7 @@ type CSVCMsg_SetPause struct { func (x *CSVCMsg_SetPause) Reset() { *x = CSVCMsg_SetPause{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[22] + mi := &file_netmessages_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2436,7 +2838,7 @@ func (x *CSVCMsg_SetPause) String() string { func (*CSVCMsg_SetPause) ProtoMessage() {} func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[22] + mi := &file_netmessages_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2449,7 +2851,7 @@ func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SetPause.ProtoReflect.Descriptor instead. func (*CSVCMsg_SetPause) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{22} + return file_netmessages_proto_rawDescGZIP(), []int{23} } func (x *CSVCMsg_SetPause) GetPaused() bool { @@ -2472,7 +2874,7 @@ type CSVCMsg_VoiceInit struct { func (x *CSVCMsg_VoiceInit) Reset() { *x = CSVCMsg_VoiceInit{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[23] + mi := &file_netmessages_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2485,7 +2887,7 @@ func (x *CSVCMsg_VoiceInit) String() string { func (*CSVCMsg_VoiceInit) ProtoMessage() {} func (x *CSVCMsg_VoiceInit) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[23] + mi := &file_netmessages_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2498,7 +2900,7 @@ func (x *CSVCMsg_VoiceInit) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_VoiceInit.ProtoReflect.Descriptor instead. func (*CSVCMsg_VoiceInit) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{23} + return file_netmessages_proto_rawDescGZIP(), []int{24} } func (x *CSVCMsg_VoiceInit) GetQuality() int32 { @@ -2533,7 +2935,7 @@ type CSVCMsg_Print struct { func (x *CSVCMsg_Print) Reset() { *x = CSVCMsg_Print{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[24] + mi := &file_netmessages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2546,7 +2948,7 @@ func (x *CSVCMsg_Print) String() string { func (*CSVCMsg_Print) ProtoMessage() {} func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[24] + mi := &file_netmessages_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2559,7 +2961,7 @@ func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_Print.ProtoReflect.Descriptor instead. func (*CSVCMsg_Print) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{24} + return file_netmessages_proto_rawDescGZIP(), []int{25} } func (x *CSVCMsg_Print) GetText() string { @@ -2581,7 +2983,7 @@ type CSVCMsg_Sounds struct { func (x *CSVCMsg_Sounds) Reset() { *x = CSVCMsg_Sounds{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[25] + mi := &file_netmessages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2594,7 +2996,7 @@ func (x *CSVCMsg_Sounds) String() string { func (*CSVCMsg_Sounds) ProtoMessage() {} func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[25] + mi := &file_netmessages_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2607,7 +3009,7 @@ func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_Sounds.ProtoReflect.Descriptor instead. func (*CSVCMsg_Sounds) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{25} + return file_netmessages_proto_rawDescGZIP(), []int{26} } func (x *CSVCMsg_Sounds) GetReliableSound() bool { @@ -2636,7 +3038,7 @@ type CSVCMsg_Prefetch struct { func (x *CSVCMsg_Prefetch) Reset() { *x = CSVCMsg_Prefetch{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[26] + mi := &file_netmessages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2649,7 +3051,7 @@ func (x *CSVCMsg_Prefetch) String() string { func (*CSVCMsg_Prefetch) ProtoMessage() {} func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[26] + mi := &file_netmessages_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2662,7 +3064,7 @@ func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_Prefetch.ProtoReflect.Descriptor instead. func (*CSVCMsg_Prefetch) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{26} + return file_netmessages_proto_rawDescGZIP(), []int{27} } func (x *CSVCMsg_Prefetch) GetSoundIndex() int32 { @@ -2691,7 +3093,7 @@ type CSVCMsg_SetView struct { func (x *CSVCMsg_SetView) Reset() { *x = CSVCMsg_SetView{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[27] + mi := &file_netmessages_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2704,7 +3106,7 @@ func (x *CSVCMsg_SetView) String() string { func (*CSVCMsg_SetView) ProtoMessage() {} func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[27] + mi := &file_netmessages_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2717,7 +3119,7 @@ func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SetView.ProtoReflect.Descriptor instead. func (*CSVCMsg_SetView) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{27} + return file_netmessages_proto_rawDescGZIP(), []int{28} } func (x *CSVCMsg_SetView) GetEntityIndex() int32 { @@ -2746,7 +3148,7 @@ type CSVCMsg_FixAngle struct { func (x *CSVCMsg_FixAngle) Reset() { *x = CSVCMsg_FixAngle{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[28] + mi := &file_netmessages_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2759,7 +3161,7 @@ func (x *CSVCMsg_FixAngle) String() string { func (*CSVCMsg_FixAngle) ProtoMessage() {} func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[28] + mi := &file_netmessages_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2772,7 +3174,7 @@ func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_FixAngle.ProtoReflect.Descriptor instead. func (*CSVCMsg_FixAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{28} + return file_netmessages_proto_rawDescGZIP(), []int{29} } func (x *CSVCMsg_FixAngle) GetRelative() bool { @@ -2800,7 +3202,7 @@ type CSVCMsg_CrosshairAngle struct { func (x *CSVCMsg_CrosshairAngle) Reset() { *x = CSVCMsg_CrosshairAngle{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[29] + mi := &file_netmessages_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2813,7 +3215,7 @@ func (x *CSVCMsg_CrosshairAngle) String() string { func (*CSVCMsg_CrosshairAngle) ProtoMessage() {} func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[29] + mi := &file_netmessages_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2826,7 +3228,7 @@ func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_CrosshairAngle.ProtoReflect.Descriptor instead. func (*CSVCMsg_CrosshairAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{29} + return file_netmessages_proto_rawDescGZIP(), []int{30} } func (x *CSVCMsg_CrosshairAngle) GetAngle() *CMsgQAngle { @@ -2851,7 +3253,7 @@ type CSVCMsg_BSPDecal struct { func (x *CSVCMsg_BSPDecal) Reset() { *x = CSVCMsg_BSPDecal{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[30] + mi := &file_netmessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2864,7 +3266,7 @@ func (x *CSVCMsg_BSPDecal) String() string { func (*CSVCMsg_BSPDecal) ProtoMessage() {} func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[30] + mi := &file_netmessages_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2877,7 +3279,7 @@ func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_BSPDecal.ProtoReflect.Descriptor instead. func (*CSVCMsg_BSPDecal) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{30} + return file_netmessages_proto_rawDescGZIP(), []int{31} } func (x *CSVCMsg_BSPDecal) GetPos() *CMsgVector { @@ -2928,7 +3330,7 @@ type CSVCMsg_SplitScreen struct { func (x *CSVCMsg_SplitScreen) Reset() { *x = CSVCMsg_SplitScreen{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[31] + mi := &file_netmessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2941,7 +3343,7 @@ func (x *CSVCMsg_SplitScreen) String() string { func (*CSVCMsg_SplitScreen) ProtoMessage() {} func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[31] + mi := &file_netmessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2954,7 +3356,7 @@ func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SplitScreen.ProtoReflect.Descriptor instead. func (*CSVCMsg_SplitScreen) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{31} + return file_netmessages_proto_rawDescGZIP(), []int{32} } func (x *CSVCMsg_SplitScreen) GetType() ESplitScreenMessageType { @@ -2990,7 +3392,7 @@ type CSVCMsg_GetCvarValue struct { func (x *CSVCMsg_GetCvarValue) Reset() { *x = CSVCMsg_GetCvarValue{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[32] + mi := &file_netmessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3003,7 +3405,7 @@ func (x *CSVCMsg_GetCvarValue) String() string { func (*CSVCMsg_GetCvarValue) ProtoMessage() {} func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[32] + mi := &file_netmessages_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3016,7 +3418,7 @@ func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_GetCvarValue.ProtoReflect.Descriptor instead. func (*CSVCMsg_GetCvarValue) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{32} + return file_netmessages_proto_rawDescGZIP(), []int{33} } func (x *CSVCMsg_GetCvarValue) GetCookie() int32 { @@ -3045,7 +3447,7 @@ type CSVCMsg_Menu struct { func (x *CSVCMsg_Menu) Reset() { *x = CSVCMsg_Menu{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[33] + mi := &file_netmessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3058,7 +3460,7 @@ func (x *CSVCMsg_Menu) String() string { func (*CSVCMsg_Menu) ProtoMessage() {} func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[33] + mi := &file_netmessages_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3071,7 +3473,7 @@ func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_Menu.ProtoReflect.Descriptor instead. func (*CSVCMsg_Menu) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{33} + return file_netmessages_proto_rawDescGZIP(), []int{34} } func (x *CSVCMsg_Menu) GetDialogType() int32 { @@ -3101,7 +3503,7 @@ type CSVCMsg_UserMessage struct { func (x *CSVCMsg_UserMessage) Reset() { *x = CSVCMsg_UserMessage{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[34] + mi := &file_netmessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3114,7 +3516,7 @@ func (x *CSVCMsg_UserMessage) String() string { func (*CSVCMsg_UserMessage) ProtoMessage() {} func (x *CSVCMsg_UserMessage) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[34] + mi := &file_netmessages_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3127,7 +3529,7 @@ func (x *CSVCMsg_UserMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_UserMessage.ProtoReflect.Descriptor instead. func (*CSVCMsg_UserMessage) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{34} + return file_netmessages_proto_rawDescGZIP(), []int{35} } func (x *CSVCMsg_UserMessage) GetMsgType() int32 { @@ -3165,7 +3567,7 @@ type CSVCMsg_SendTable struct { func (x *CSVCMsg_SendTable) Reset() { *x = CSVCMsg_SendTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[35] + mi := &file_netmessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3178,7 +3580,7 @@ func (x *CSVCMsg_SendTable) String() string { func (*CSVCMsg_SendTable) ProtoMessage() {} func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[35] + mi := &file_netmessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3191,7 +3593,7 @@ func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SendTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{35} + return file_netmessages_proto_rawDescGZIP(), []int{36} } func (x *CSVCMsg_SendTable) GetIsEnd() bool { @@ -3233,7 +3635,7 @@ type CSVCMsg_GameEventList struct { func (x *CSVCMsg_GameEventList) Reset() { *x = CSVCMsg_GameEventList{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[36] + mi := &file_netmessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3246,7 +3648,7 @@ func (x *CSVCMsg_GameEventList) String() string { func (*CSVCMsg_GameEventList) ProtoMessage() {} func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[36] + mi := &file_netmessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3259,7 +3661,7 @@ func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_GameEventList.ProtoReflect.Descriptor instead. func (*CSVCMsg_GameEventList) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{36} + return file_netmessages_proto_rawDescGZIP(), []int{37} } func (x *CSVCMsg_GameEventList) GetDescriptors() []*CSVCMsg_GameEventListDescriptorT { @@ -3289,7 +3691,7 @@ type CSVCMsg_PacketEntities struct { ServerTick *uint32 `protobuf:"varint,12,opt,name=server_tick,json=serverTick" json:"server_tick,omitempty"` SerializedEntities []byte `protobuf:"bytes,13,opt,name=serialized_entities,json=serializedEntities" json:"serialized_entities,omitempty"` AlternateBaselines []*CSVCMsg_PacketEntitiesAlternateBaselineT `protobuf:"bytes,15,rep,name=alternate_baselines,json=alternateBaselines" json:"alternate_baselines,omitempty"` - HasPvsVisBits *uint32 `protobuf:"varint,16,opt,name=has_pvs_vis_bits,json=hasPvsVisBits" json:"has_pvs_vis_bits,omitempty"` + HasPvsVisBitsDeprecated *uint32 `protobuf:"varint,16,opt,name=has_pvs_vis_bits_deprecated,json=hasPvsVisBitsDeprecated" json:"has_pvs_vis_bits_deprecated,omitempty"` CmdRecvStatus []int32 `protobuf:"zigzag32,22,rep,name=cmd_recv_status,json=cmdRecvStatus" json:"cmd_recv_status,omitempty"` NonTransmittedEntities *CSVCMsg_PacketEntitiesNonTransmittedEntitiesT `protobuf:"bytes,19,opt,name=non_transmitted_entities,json=nonTransmittedEntities" json:"non_transmitted_entities,omitempty"` CqStarvedCommandTicks *uint32 `protobuf:"varint,20,opt,name=cq_starved_command_ticks,json=cqStarvedCommandTicks" json:"cq_starved_command_ticks,omitempty"` @@ -3300,7 +3702,7 @@ type CSVCMsg_PacketEntities struct { func (x *CSVCMsg_PacketEntities) Reset() { *x = CSVCMsg_PacketEntities{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[37] + mi := &file_netmessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3313,7 +3715,7 @@ func (x *CSVCMsg_PacketEntities) String() string { func (*CSVCMsg_PacketEntities) ProtoMessage() {} func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[37] + mi := &file_netmessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3326,7 +3728,7 @@ func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_PacketEntities.ProtoReflect.Descriptor instead. func (*CSVCMsg_PacketEntities) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{37} + return file_netmessages_proto_rawDescGZIP(), []int{38} } func (x *CSVCMsg_PacketEntities) GetMaxEntries() int32 { @@ -3434,9 +3836,9 @@ func (x *CSVCMsg_PacketEntities) GetAlternateBaselines() []*CSVCMsg_PacketEntiti return nil } -func (x *CSVCMsg_PacketEntities) GetHasPvsVisBits() uint32 { - if x != nil && x.HasPvsVisBits != nil { - return *x.HasPvsVisBits +func (x *CSVCMsg_PacketEntities) GetHasPvsVisBitsDeprecated() uint32 { + if x != nil && x.HasPvsVisBitsDeprecated != nil { + return *x.HasPvsVisBitsDeprecated } return 0 } @@ -3489,7 +3891,7 @@ type CSVCMsg_TempEntities struct { func (x *CSVCMsg_TempEntities) Reset() { *x = CSVCMsg_TempEntities{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[38] + mi := &file_netmessages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3502,7 +3904,7 @@ func (x *CSVCMsg_TempEntities) String() string { func (*CSVCMsg_TempEntities) ProtoMessage() {} func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[38] + mi := &file_netmessages_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3515,7 +3917,7 @@ func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_TempEntities.ProtoReflect.Descriptor instead. func (*CSVCMsg_TempEntities) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{38} + return file_netmessages_proto_rawDescGZIP(), []int{39} } func (x *CSVCMsg_TempEntities) GetReliable() bool { @@ -3559,7 +3961,7 @@ type CSVCMsg_CreateStringTable struct { func (x *CSVCMsg_CreateStringTable) Reset() { *x = CSVCMsg_CreateStringTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[39] + mi := &file_netmessages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3572,7 +3974,7 @@ func (x *CSVCMsg_CreateStringTable) String() string { func (*CSVCMsg_CreateStringTable) ProtoMessage() {} func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[39] + mi := &file_netmessages_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3585,7 +3987,7 @@ func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_CreateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_CreateStringTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{39} + return file_netmessages_proto_rawDescGZIP(), []int{40} } func (x *CSVCMsg_CreateStringTable) GetName() string { @@ -3671,7 +4073,7 @@ type CSVCMsg_UpdateStringTable struct { func (x *CSVCMsg_UpdateStringTable) Reset() { *x = CSVCMsg_UpdateStringTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[40] + mi := &file_netmessages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3684,7 +4086,7 @@ func (x *CSVCMsg_UpdateStringTable) String() string { func (*CSVCMsg_UpdateStringTable) ProtoMessage() {} func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[40] + mi := &file_netmessages_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3697,7 +4099,7 @@ func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_UpdateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_UpdateStringTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{40} + return file_netmessages_proto_rawDescGZIP(), []int{41} } func (x *CSVCMsg_UpdateStringTable) GetTableId() int32 { @@ -3738,7 +4140,7 @@ type CSVCMsg_VoiceData struct { func (x *CSVCMsg_VoiceData) Reset() { *x = CSVCMsg_VoiceData{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[41] + mi := &file_netmessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3751,7 +4153,7 @@ func (x *CSVCMsg_VoiceData) String() string { func (*CSVCMsg_VoiceData) ProtoMessage() {} func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[41] + mi := &file_netmessages_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3764,7 +4166,7 @@ func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_VoiceData.ProtoReflect.Descriptor instead. func (*CSVCMsg_VoiceData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{41} + return file_netmessages_proto_rawDescGZIP(), []int{42} } func (x *CSVCMsg_VoiceData) GetAudio() *CMsgVoiceAudio { @@ -3829,7 +4231,7 @@ type CSVCMsg_PacketReliable struct { func (x *CSVCMsg_PacketReliable) Reset() { *x = CSVCMsg_PacketReliable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[42] + mi := &file_netmessages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3842,7 +4244,7 @@ func (x *CSVCMsg_PacketReliable) String() string { func (*CSVCMsg_PacketReliable) ProtoMessage() {} func (x *CSVCMsg_PacketReliable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[42] + mi := &file_netmessages_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3855,7 +4257,7 @@ func (x *CSVCMsg_PacketReliable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_PacketReliable.ProtoReflect.Descriptor instead. func (*CSVCMsg_PacketReliable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{42} + return file_netmessages_proto_rawDescGZIP(), []int{43} } func (x *CSVCMsg_PacketReliable) GetTick() int32 { @@ -3893,7 +4295,7 @@ type CSVCMsg_FullFrameSplit struct { func (x *CSVCMsg_FullFrameSplit) Reset() { *x = CSVCMsg_FullFrameSplit{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[43] + mi := &file_netmessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3906,7 +4308,7 @@ func (x *CSVCMsg_FullFrameSplit) String() string { func (*CSVCMsg_FullFrameSplit) ProtoMessage() {} func (x *CSVCMsg_FullFrameSplit) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[43] + mi := &file_netmessages_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3919,7 +4321,7 @@ func (x *CSVCMsg_FullFrameSplit) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_FullFrameSplit.ProtoReflect.Descriptor instead. func (*CSVCMsg_FullFrameSplit) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{43} + return file_netmessages_proto_rawDescGZIP(), []int{44} } func (x *CSVCMsg_FullFrameSplit) GetTick() int32 { @@ -3964,7 +4366,7 @@ type CSVCMsg_HLTVStatus struct { func (x *CSVCMsg_HLTVStatus) Reset() { *x = CSVCMsg_HLTVStatus{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[44] + mi := &file_netmessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3977,7 +4379,7 @@ func (x *CSVCMsg_HLTVStatus) String() string { func (*CSVCMsg_HLTVStatus) ProtoMessage() {} func (x *CSVCMsg_HLTVStatus) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[44] + mi := &file_netmessages_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3990,7 +4392,7 @@ func (x *CSVCMsg_HLTVStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_HLTVStatus.ProtoReflect.Descriptor instead. func (*CSVCMsg_HLTVStatus) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{44} + return file_netmessages_proto_rawDescGZIP(), []int{45} } func (x *CSVCMsg_HLTVStatus) GetMaster() string { @@ -4032,7 +4434,7 @@ type CSVCMsg_ServerSteamID struct { func (x *CSVCMsg_ServerSteamID) Reset() { *x = CSVCMsg_ServerSteamID{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[45] + mi := &file_netmessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4045,7 +4447,7 @@ func (x *CSVCMsg_ServerSteamID) String() string { func (*CSVCMsg_ServerSteamID) ProtoMessage() {} func (x *CSVCMsg_ServerSteamID) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[45] + mi := &file_netmessages_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4058,7 +4460,7 @@ func (x *CSVCMsg_ServerSteamID) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_ServerSteamID.ProtoReflect.Descriptor instead. func (*CSVCMsg_ServerSteamID) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{45} + return file_netmessages_proto_rawDescGZIP(), []int{46} } func (x *CSVCMsg_ServerSteamID) GetSteamId() uint64 { @@ -4079,7 +4481,7 @@ type CSVCMsg_CmdKeyValues struct { func (x *CSVCMsg_CmdKeyValues) Reset() { *x = CSVCMsg_CmdKeyValues{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[46] + mi := &file_netmessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4092,7 +4494,7 @@ func (x *CSVCMsg_CmdKeyValues) String() string { func (*CSVCMsg_CmdKeyValues) ProtoMessage() {} func (x *CSVCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[46] + mi := &file_netmessages_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4105,7 +4507,7 @@ func (x *CSVCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. func (*CSVCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{46} + return file_netmessages_proto_rawDescGZIP(), []int{47} } func (x *CSVCMsg_CmdKeyValues) GetData() []byte { @@ -4127,7 +4529,7 @@ type CSVCMsg_RconServerDetails struct { func (x *CSVCMsg_RconServerDetails) Reset() { *x = CSVCMsg_RconServerDetails{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[47] + mi := &file_netmessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4140,7 +4542,7 @@ func (x *CSVCMsg_RconServerDetails) String() string { func (*CSVCMsg_RconServerDetails) ProtoMessage() {} func (x *CSVCMsg_RconServerDetails) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[47] + mi := &file_netmessages_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4153,7 +4555,7 @@ func (x *CSVCMsg_RconServerDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_RconServerDetails.ProtoReflect.Descriptor instead. func (*CSVCMsg_RconServerDetails) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{47} + return file_netmessages_proto_rawDescGZIP(), []int{48} } func (x *CSVCMsg_RconServerDetails) GetToken() []byte { @@ -4182,7 +4584,7 @@ type CMsgIPCAddress struct { func (x *CMsgIPCAddress) Reset() { *x = CMsgIPCAddress{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[48] + mi := &file_netmessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4195,7 +4597,7 @@ func (x *CMsgIPCAddress) String() string { func (*CMsgIPCAddress) ProtoMessage() {} func (x *CMsgIPCAddress) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[48] + mi := &file_netmessages_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4208,7 +4610,7 @@ func (x *CMsgIPCAddress) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgIPCAddress.ProtoReflect.Descriptor instead. func (*CMsgIPCAddress) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{48} + return file_netmessages_proto_rawDescGZIP(), []int{49} } func (x *CMsgIPCAddress) GetComputerGuid() uint64 { @@ -4241,7 +4643,7 @@ type CMsgServerPeer struct { func (x *CMsgServerPeer) Reset() { *x = CMsgServerPeer{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[49] + mi := &file_netmessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4254,7 +4656,7 @@ func (x *CMsgServerPeer) String() string { func (*CMsgServerPeer) ProtoMessage() {} func (x *CMsgServerPeer) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[49] + mi := &file_netmessages_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4267,7 +4669,7 @@ func (x *CMsgServerPeer) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerPeer.ProtoReflect.Descriptor instead. func (*CMsgServerPeer) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{49} + return file_netmessages_proto_rawDescGZIP(), []int{50} } func (x *CMsgServerPeer) GetPlayerSlot() int32 { @@ -4323,7 +4725,7 @@ type CSVCMsg_PeerList struct { func (x *CSVCMsg_PeerList) Reset() { *x = CSVCMsg_PeerList{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[50] + mi := &file_netmessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4336,7 +4738,7 @@ func (x *CSVCMsg_PeerList) String() string { func (*CSVCMsg_PeerList) ProtoMessage() {} func (x *CSVCMsg_PeerList) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[50] + mi := &file_netmessages_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4349,7 +4751,7 @@ func (x *CSVCMsg_PeerList) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_PeerList.ProtoReflect.Descriptor instead. func (*CSVCMsg_PeerList) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{50} + return file_netmessages_proto_rawDescGZIP(), []int{51} } func (x *CSVCMsg_PeerList) GetPeer() []*CMsgServerPeer { @@ -4371,7 +4773,7 @@ type CSVCMsg_ClearAllStringTables struct { func (x *CSVCMsg_ClearAllStringTables) Reset() { *x = CSVCMsg_ClearAllStringTables{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[51] + mi := &file_netmessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4384,7 +4786,7 @@ func (x *CSVCMsg_ClearAllStringTables) String() string { func (*CSVCMsg_ClearAllStringTables) ProtoMessage() {} func (x *CSVCMsg_ClearAllStringTables) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[51] + mi := &file_netmessages_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4397,7 +4799,7 @@ func (x *CSVCMsg_ClearAllStringTables) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_ClearAllStringTables.ProtoReflect.Descriptor instead. func (*CSVCMsg_ClearAllStringTables) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{51} + return file_netmessages_proto_rawDescGZIP(), []int{52} } func (x *CSVCMsg_ClearAllStringTables) GetMapname() string { @@ -4436,7 +4838,7 @@ type ProtoFlattenedSerializerFieldT struct { func (x *ProtoFlattenedSerializerFieldT) Reset() { *x = ProtoFlattenedSerializerFieldT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[52] + mi := &file_netmessages_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4449,7 +4851,7 @@ func (x *ProtoFlattenedSerializerFieldT) String() string { func (*ProtoFlattenedSerializerFieldT) ProtoMessage() {} func (x *ProtoFlattenedSerializerFieldT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[52] + mi := &file_netmessages_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4462,7 +4864,7 @@ func (x *ProtoFlattenedSerializerFieldT) ProtoReflect() protoreflect.Message { // Deprecated: Use ProtoFlattenedSerializerFieldT.ProtoReflect.Descriptor instead. func (*ProtoFlattenedSerializerFieldT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{52} + return file_netmessages_proto_rawDescGZIP(), []int{53} } func (x *ProtoFlattenedSerializerFieldT) GetVarTypeSym() int32 { @@ -4562,7 +4964,7 @@ type ProtoFlattenedSerializerT struct { func (x *ProtoFlattenedSerializerT) Reset() { *x = ProtoFlattenedSerializerT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[53] + mi := &file_netmessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4575,7 +4977,7 @@ func (x *ProtoFlattenedSerializerT) String() string { func (*ProtoFlattenedSerializerT) ProtoMessage() {} func (x *ProtoFlattenedSerializerT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[53] + mi := &file_netmessages_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4588,7 +4990,7 @@ func (x *ProtoFlattenedSerializerT) ProtoReflect() protoreflect.Message { // Deprecated: Use ProtoFlattenedSerializerT.ProtoReflect.Descriptor instead. func (*ProtoFlattenedSerializerT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{53} + return file_netmessages_proto_rawDescGZIP(), []int{54} } func (x *ProtoFlattenedSerializerT) GetSerializerNameSym() int32 { @@ -4625,7 +5027,7 @@ type CSVCMsg_FlattenedSerializer struct { func (x *CSVCMsg_FlattenedSerializer) Reset() { *x = CSVCMsg_FlattenedSerializer{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[54] + mi := &file_netmessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4638,7 +5040,7 @@ func (x *CSVCMsg_FlattenedSerializer) String() string { func (*CSVCMsg_FlattenedSerializer) ProtoMessage() {} func (x *CSVCMsg_FlattenedSerializer) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[54] + mi := &file_netmessages_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4651,7 +5053,7 @@ func (x *CSVCMsg_FlattenedSerializer) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_FlattenedSerializer.ProtoReflect.Descriptor instead. func (*CSVCMsg_FlattenedSerializer) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{54} + return file_netmessages_proto_rawDescGZIP(), []int{55} } func (x *CSVCMsg_FlattenedSerializer) GetSerializers() []*ProtoFlattenedSerializerT { @@ -4686,7 +5088,7 @@ type CSVCMsg_StopSound struct { func (x *CSVCMsg_StopSound) Reset() { *x = CSVCMsg_StopSound{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[55] + mi := &file_netmessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4699,7 +5101,7 @@ func (x *CSVCMsg_StopSound) String() string { func (*CSVCMsg_StopSound) ProtoMessage() {} func (x *CSVCMsg_StopSound) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[55] + mi := &file_netmessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4712,7 +5114,7 @@ func (x *CSVCMsg_StopSound) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_StopSound.ProtoReflect.Descriptor instead. func (*CSVCMsg_StopSound) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{55} + return file_netmessages_proto_rawDescGZIP(), []int{56} } func (x *CSVCMsg_StopSound) GetGuid() uint32 { @@ -4736,7 +5138,7 @@ type CBidirMsg_RebroadcastGameEvent struct { func (x *CBidirMsg_RebroadcastGameEvent) Reset() { *x = CBidirMsg_RebroadcastGameEvent{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[56] + mi := &file_netmessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4749,7 +5151,7 @@ func (x *CBidirMsg_RebroadcastGameEvent) String() string { func (*CBidirMsg_RebroadcastGameEvent) ProtoMessage() {} func (x *CBidirMsg_RebroadcastGameEvent) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[56] + mi := &file_netmessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4762,7 +5164,7 @@ func (x *CBidirMsg_RebroadcastGameEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CBidirMsg_RebroadcastGameEvent.ProtoReflect.Descriptor instead. func (*CBidirMsg_RebroadcastGameEvent) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{56} + return file_netmessages_proto_rawDescGZIP(), []int{57} } func (x *CBidirMsg_RebroadcastGameEvent) GetPosttoserver() bool { @@ -4804,7 +5206,7 @@ type CBidirMsg_RebroadcastSource struct { func (x *CBidirMsg_RebroadcastSource) Reset() { *x = CBidirMsg_RebroadcastSource{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[57] + mi := &file_netmessages_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4816,8 +5218,58 @@ func (x *CBidirMsg_RebroadcastSource) String() string { func (*CBidirMsg_RebroadcastSource) ProtoMessage() {} -func (x *CBidirMsg_RebroadcastSource) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[57] +func (x *CBidirMsg_RebroadcastSource) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CBidirMsg_RebroadcastSource.ProtoReflect.Descriptor instead. +func (*CBidirMsg_RebroadcastSource) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{58} +} + +func (x *CBidirMsg_RebroadcastSource) GetEventsource() int32 { + if x != nil && x.Eventsource != nil { + return *x.Eventsource + } + return 0 +} + +type CBidirMsg_PredictionEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventId *uint32 `protobuf:"varint,1,req,name=event_id,json=eventId" json:"event_id,omitempty"` + EventData []byte `protobuf:"bytes,2,req,name=event_data,json=eventData" json:"event_data,omitempty"` + SyncType *uint32 `protobuf:"varint,3,opt,name=sync_type,json=syncType" json:"sync_type,omitempty"` + SyncValUint32 *uint32 `protobuf:"varint,4,opt,name=sync_val_uint32,json=syncValUint32" json:"sync_val_uint32,omitempty"` +} + +func (x *CBidirMsg_PredictionEvent) Reset() { + *x = CBidirMsg_PredictionEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CBidirMsg_PredictionEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CBidirMsg_PredictionEvent) ProtoMessage() {} + +func (x *CBidirMsg_PredictionEvent) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4828,14 +5280,35 @@ func (x *CBidirMsg_RebroadcastSource) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CBidirMsg_RebroadcastSource.ProtoReflect.Descriptor instead. -func (*CBidirMsg_RebroadcastSource) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{57} +// Deprecated: Use CBidirMsg_PredictionEvent.ProtoReflect.Descriptor instead. +func (*CBidirMsg_PredictionEvent) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{59} } -func (x *CBidirMsg_RebroadcastSource) GetEventsource() int32 { - if x != nil && x.Eventsource != nil { - return *x.Eventsource +func (x *CBidirMsg_PredictionEvent) GetEventId() uint32 { + if x != nil && x.EventId != nil { + return *x.EventId + } + return 0 +} + +func (x *CBidirMsg_PredictionEvent) GetEventData() []byte { + if x != nil { + return x.EventData + } + return nil +} + +func (x *CBidirMsg_PredictionEvent) GetSyncType() uint32 { + if x != nil && x.SyncType != nil { + return *x.SyncType + } + return 0 +} + +func (x *CBidirMsg_PredictionEvent) GetSyncValUint32() uint32 { + if x != nil && x.SyncValUint32 != nil { + return *x.SyncValUint32 } return 0 } @@ -4875,7 +5348,7 @@ type CMsgServerNetworkStats struct { func (x *CMsgServerNetworkStats) Reset() { *x = CMsgServerNetworkStats{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[58] + mi := &file_netmessages_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4888,7 +5361,7 @@ func (x *CMsgServerNetworkStats) String() string { func (*CMsgServerNetworkStats) ProtoMessage() {} func (x *CMsgServerNetworkStats) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[58] + mi := &file_netmessages_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4901,7 +5374,7 @@ func (x *CMsgServerNetworkStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerNetworkStats.ProtoReflect.Descriptor instead. func (*CMsgServerNetworkStats) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{58} + return file_netmessages_proto_rawDescGZIP(), []int{60} } func (x *CMsgServerNetworkStats) GetDedicated() bool { @@ -5097,7 +5570,7 @@ type CSVCMsg_HltvReplay struct { func (x *CSVCMsg_HltvReplay) Reset() { *x = CSVCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[59] + mi := &file_netmessages_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5110,7 +5583,7 @@ func (x *CSVCMsg_HltvReplay) String() string { func (*CSVCMsg_HltvReplay) ProtoMessage() {} func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[59] + mi := &file_netmessages_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5123,7 +5596,7 @@ func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CSVCMsg_HltvReplay) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{59} + return file_netmessages_proto_rawDescGZIP(), []int{61} } func (x *CSVCMsg_HltvReplay) GetDelay() int32 { @@ -5197,7 +5670,7 @@ type CCLCMsg_HltvReplay struct { func (x *CCLCMsg_HltvReplay) Reset() { *x = CCLCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[60] + mi := &file_netmessages_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5210,7 +5683,7 @@ func (x *CCLCMsg_HltvReplay) String() string { func (*CCLCMsg_HltvReplay) ProtoMessage() {} func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[60] + mi := &file_netmessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5223,7 +5696,7 @@ func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { // Deprecated: Use CCLCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CCLCMsg_HltvReplay) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{60} + return file_netmessages_proto_rawDescGZIP(), []int{62} } func (x *CCLCMsg_HltvReplay) GetRequest() int32 { @@ -5272,7 +5745,7 @@ type CSVCMsg_Broadcast_Command struct { func (x *CSVCMsg_Broadcast_Command) Reset() { *x = CSVCMsg_Broadcast_Command{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[61] + mi := &file_netmessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5285,7 +5758,7 @@ func (x *CSVCMsg_Broadcast_Command) String() string { func (*CSVCMsg_Broadcast_Command) ProtoMessage() {} func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[61] + mi := &file_netmessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5298,7 +5771,7 @@ func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_Broadcast_Command.ProtoReflect.Descriptor instead. func (*CSVCMsg_Broadcast_Command) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{61} + return file_netmessages_proto_rawDescGZIP(), []int{63} } func (x *CSVCMsg_Broadcast_Command) GetCmd() string { @@ -5326,7 +5799,7 @@ type CCLCMsg_HltvFixupOperatorTick struct { func (x *CCLCMsg_HltvFixupOperatorTick) Reset() { *x = CCLCMsg_HltvFixupOperatorTick{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[62] + mi := &file_netmessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5339,7 +5812,7 @@ func (x *CCLCMsg_HltvFixupOperatorTick) String() string { func (*CCLCMsg_HltvFixupOperatorTick) ProtoMessage() {} func (x *CCLCMsg_HltvFixupOperatorTick) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[62] + mi := &file_netmessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5352,7 +5825,7 @@ func (x *CCLCMsg_HltvFixupOperatorTick) ProtoReflect() protoreflect.Message { // Deprecated: Use CCLCMsg_HltvFixupOperatorTick.ProtoReflect.Descriptor instead. func (*CCLCMsg_HltvFixupOperatorTick) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{62} + return file_netmessages_proto_rawDescGZIP(), []int{64} } func (x *CCLCMsg_HltvFixupOperatorTick) GetTick() int32 { @@ -5423,7 +5896,7 @@ type CSVCMsg_HltvFixupOperatorStatus struct { func (x *CSVCMsg_HltvFixupOperatorStatus) Reset() { *x = CSVCMsg_HltvFixupOperatorStatus{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[63] + mi := &file_netmessages_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5436,7 +5909,7 @@ func (x *CSVCMsg_HltvFixupOperatorStatus) String() string { func (*CSVCMsg_HltvFixupOperatorStatus) ProtoMessage() {} func (x *CSVCMsg_HltvFixupOperatorStatus) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[63] + mi := &file_netmessages_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5449,7 +5922,7 @@ func (x *CSVCMsg_HltvFixupOperatorStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_HltvFixupOperatorStatus.ProtoReflect.Descriptor instead. func (*CSVCMsg_HltvFixupOperatorStatus) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{63} + return file_netmessages_proto_rawDescGZIP(), []int{65} } func (x *CSVCMsg_HltvFixupOperatorStatus) GetMode() uint32 { @@ -5481,7 +5954,7 @@ type CMsgServerUserCmd struct { func (x *CMsgServerUserCmd) Reset() { *x = CMsgServerUserCmd{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[64] + mi := &file_netmessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5494,7 +5967,7 @@ func (x *CMsgServerUserCmd) String() string { func (*CMsgServerUserCmd) ProtoMessage() {} func (x *CMsgServerUserCmd) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[64] + mi := &file_netmessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5507,7 +5980,7 @@ func (x *CMsgServerUserCmd) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerUserCmd.ProtoReflect.Descriptor instead. func (*CMsgServerUserCmd) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{64} + return file_netmessages_proto_rawDescGZIP(), []int{66} } func (x *CMsgServerUserCmd) GetData() []byte { @@ -5556,7 +6029,7 @@ type CSVCMsg_UserCommands struct { func (x *CSVCMsg_UserCommands) Reset() { *x = CSVCMsg_UserCommands{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[65] + mi := &file_netmessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5569,7 +6042,7 @@ func (x *CSVCMsg_UserCommands) String() string { func (*CSVCMsg_UserCommands) ProtoMessage() {} func (x *CSVCMsg_UserCommands) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[65] + mi := &file_netmessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5582,7 +6055,7 @@ func (x *CSVCMsg_UserCommands) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_UserCommands.ProtoReflect.Descriptor instead. func (*CSVCMsg_UserCommands) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{65} + return file_netmessages_proto_rawDescGZIP(), []int{67} } func (x *CSVCMsg_UserCommands) GetCommands() []*CMsgServerUserCmd { @@ -5606,7 +6079,7 @@ type CSource2Metrics_MatchPerfSummary_Notification_Client struct { func (x *CSource2Metrics_MatchPerfSummary_Notification_Client) Reset() { *x = CSource2Metrics_MatchPerfSummary_Notification_Client{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[66] + mi := &file_netmessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5619,7 +6092,7 @@ func (x *CSource2Metrics_MatchPerfSummary_Notification_Client) String() string { func (*CSource2Metrics_MatchPerfSummary_Notification_Client) ProtoMessage() {} func (x *CSource2Metrics_MatchPerfSummary_Notification_Client) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[66] + mi := &file_netmessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5632,7 +6105,7 @@ func (x *CSource2Metrics_MatchPerfSummary_Notification_Client) ProtoReflect() pr // Deprecated: Use CSource2Metrics_MatchPerfSummary_Notification_Client.ProtoReflect.Descriptor instead. func (*CSource2Metrics_MatchPerfSummary_Notification_Client) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{19, 0} + return file_netmessages_proto_rawDescGZIP(), []int{20, 0} } func (x *CSource2Metrics_MatchPerfSummary_Notification_Client) GetSystemSpecs() *CMsgSource2SystemSpecs { @@ -5675,7 +6148,7 @@ type CSVCMsg_ClassInfoClassT struct { func (x *CSVCMsg_ClassInfoClassT) Reset() { *x = CSVCMsg_ClassInfoClassT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[67] + mi := &file_netmessages_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5688,7 +6161,7 @@ func (x *CSVCMsg_ClassInfoClassT) String() string { func (*CSVCMsg_ClassInfoClassT) ProtoMessage() {} func (x *CSVCMsg_ClassInfoClassT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[67] + mi := &file_netmessages_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5701,7 +6174,7 @@ func (x *CSVCMsg_ClassInfoClassT) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_ClassInfoClassT.ProtoReflect.Descriptor instead. func (*CSVCMsg_ClassInfoClassT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{21, 0} + return file_netmessages_proto_rawDescGZIP(), []int{22, 0} } func (x *CSVCMsg_ClassInfoClassT) GetClassId() int32 { @@ -5747,7 +6220,7 @@ type CSVCMsg_SoundsSounddataT struct { func (x *CSVCMsg_SoundsSounddataT) Reset() { *x = CSVCMsg_SoundsSounddataT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[68] + mi := &file_netmessages_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5760,7 +6233,7 @@ func (x *CSVCMsg_SoundsSounddataT) String() string { func (*CSVCMsg_SoundsSounddataT) ProtoMessage() {} func (x *CSVCMsg_SoundsSounddataT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[68] + mi := &file_netmessages_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5773,7 +6246,7 @@ func (x *CSVCMsg_SoundsSounddataT) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SoundsSounddataT.ProtoReflect.Descriptor instead. func (*CSVCMsg_SoundsSounddataT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{25, 0} + return file_netmessages_proto_rawDescGZIP(), []int{26, 0} } func (x *CSVCMsg_SoundsSounddataT) GetOriginX() int32 { @@ -5928,7 +6401,7 @@ type CSVCMsg_SendTableSendpropT struct { func (x *CSVCMsg_SendTableSendpropT) Reset() { *x = CSVCMsg_SendTableSendpropT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[69] + mi := &file_netmessages_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5941,7 +6414,7 @@ func (x *CSVCMsg_SendTableSendpropT) String() string { func (*CSVCMsg_SendTableSendpropT) ProtoMessage() {} func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[69] + mi := &file_netmessages_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5954,7 +6427,7 @@ func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SendTableSendpropT.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTableSendpropT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{35, 0} + return file_netmessages_proto_rawDescGZIP(), []int{36, 0} } func (x *CSVCMsg_SendTableSendpropT) GetType() int32 { @@ -6032,7 +6505,7 @@ type CSVCMsg_GameEventListKeyT struct { func (x *CSVCMsg_GameEventListKeyT) Reset() { *x = CSVCMsg_GameEventListKeyT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[70] + mi := &file_netmessages_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6045,7 +6518,7 @@ func (x *CSVCMsg_GameEventListKeyT) String() string { func (*CSVCMsg_GameEventListKeyT) ProtoMessage() {} func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[70] + mi := &file_netmessages_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6058,7 +6531,7 @@ func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_GameEventListKeyT.ProtoReflect.Descriptor instead. func (*CSVCMsg_GameEventListKeyT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{36, 0} + return file_netmessages_proto_rawDescGZIP(), []int{37, 0} } func (x *CSVCMsg_GameEventListKeyT) GetType() int32 { @@ -6088,7 +6561,7 @@ type CSVCMsg_GameEventListDescriptorT struct { func (x *CSVCMsg_GameEventListDescriptorT) Reset() { *x = CSVCMsg_GameEventListDescriptorT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[71] + mi := &file_netmessages_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6101,7 +6574,7 @@ func (x *CSVCMsg_GameEventListDescriptorT) String() string { func (*CSVCMsg_GameEventListDescriptorT) ProtoMessage() {} func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[71] + mi := &file_netmessages_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6114,7 +6587,7 @@ func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_GameEventListDescriptorT.ProtoReflect.Descriptor instead. func (*CSVCMsg_GameEventListDescriptorT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{36, 1} + return file_netmessages_proto_rawDescGZIP(), []int{37, 1} } func (x *CSVCMsg_GameEventListDescriptorT) GetEventid() int32 { @@ -6150,7 +6623,7 @@ type CSVCMsg_PacketEntitiesAlternateBaselineT struct { func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) Reset() { *x = CSVCMsg_PacketEntitiesAlternateBaselineT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[72] + mi := &file_netmessages_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6163,7 +6636,7 @@ func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) String() string { func (*CSVCMsg_PacketEntitiesAlternateBaselineT) ProtoMessage() {} func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[72] + mi := &file_netmessages_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6176,7 +6649,7 @@ func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) ProtoReflect() protoreflect.M // Deprecated: Use CSVCMsg_PacketEntitiesAlternateBaselineT.ProtoReflect.Descriptor instead. func (*CSVCMsg_PacketEntitiesAlternateBaselineT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{37, 0} + return file_netmessages_proto_rawDescGZIP(), []int{38, 0} } func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) GetEntityIndex() int32 { @@ -6205,7 +6678,7 @@ type CSVCMsg_PacketEntitiesNonTransmittedEntitiesT struct { func (x *CSVCMsg_PacketEntitiesNonTransmittedEntitiesT) Reset() { *x = CSVCMsg_PacketEntitiesNonTransmittedEntitiesT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[73] + mi := &file_netmessages_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6218,7 +6691,7 @@ func (x *CSVCMsg_PacketEntitiesNonTransmittedEntitiesT) String() string { func (*CSVCMsg_PacketEntitiesNonTransmittedEntitiesT) ProtoMessage() {} func (x *CSVCMsg_PacketEntitiesNonTransmittedEntitiesT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[73] + mi := &file_netmessages_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6231,7 +6704,7 @@ func (x *CSVCMsg_PacketEntitiesNonTransmittedEntitiesT) ProtoReflect() protorefl // Deprecated: Use CSVCMsg_PacketEntitiesNonTransmittedEntitiesT.ProtoReflect.Descriptor instead. func (*CSVCMsg_PacketEntitiesNonTransmittedEntitiesT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{37, 1} + return file_netmessages_proto_rawDescGZIP(), []int{38, 1} } func (x *CSVCMsg_PacketEntitiesNonTransmittedEntitiesT) GetHeaderCount() int32 { @@ -6260,7 +6733,7 @@ type ProtoFlattenedSerializerFieldTPolymorphicFieldT struct { func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) Reset() { *x = ProtoFlattenedSerializerFieldTPolymorphicFieldT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[74] + mi := &file_netmessages_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6273,7 +6746,7 @@ func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) String() string { func (*ProtoFlattenedSerializerFieldTPolymorphicFieldT) ProtoMessage() {} func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[74] + mi := &file_netmessages_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6286,7 +6759,7 @@ func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) ProtoReflect() protore // Deprecated: Use ProtoFlattenedSerializerFieldTPolymorphicFieldT.ProtoReflect.Descriptor instead. func (*ProtoFlattenedSerializerFieldTPolymorphicFieldT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{52, 0} + return file_netmessages_proto_rawDescGZIP(), []int{53, 0} } func (x *ProtoFlattenedSerializerFieldTPolymorphicFieldT) GetPolymorphicFieldSerializerNameSym() int32 { @@ -6315,7 +6788,7 @@ type CMsgServerNetworkStats_Port struct { func (x *CMsgServerNetworkStats_Port) Reset() { *x = CMsgServerNetworkStats_Port{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[75] + mi := &file_netmessages_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6328,7 +6801,7 @@ func (x *CMsgServerNetworkStats_Port) String() string { func (*CMsgServerNetworkStats_Port) ProtoMessage() {} func (x *CMsgServerNetworkStats_Port) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[75] + mi := &file_netmessages_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6341,7 +6814,7 @@ func (x *CMsgServerNetworkStats_Port) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerNetworkStats_Port.ProtoReflect.Descriptor instead. func (*CMsgServerNetworkStats_Port) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{58, 0} + return file_netmessages_proto_rawDescGZIP(), []int{60, 0} } func (x *CMsgServerNetworkStats_Port) GetPort() int32 { @@ -6376,7 +6849,7 @@ type CMsgServerNetworkStats_Player struct { func (x *CMsgServerNetworkStats_Player) Reset() { *x = CMsgServerNetworkStats_Player{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[76] + mi := &file_netmessages_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6389,7 +6862,7 @@ func (x *CMsgServerNetworkStats_Player) String() string { func (*CMsgServerNetworkStats_Player) ProtoMessage() {} func (x *CMsgServerNetworkStats_Player) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[76] + mi := &file_netmessages_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6402,7 +6875,7 @@ func (x *CMsgServerNetworkStats_Player) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgServerNetworkStats_Player.ProtoReflect.Descriptor instead. func (*CMsgServerNetworkStats_Player) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{58, 1} + return file_netmessages_proto_rawDescGZIP(), []int{60, 1} } func (x *CMsgServerNetworkStats_Player) GetSteamid() uint64 { @@ -6602,864 +7075,991 @@ var file_netmessages_proto_rawDesc = []byte{ 0x0a, 0x1a, 0x67, 0x70, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6d, 0x62, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x67, 0x70, 0x75, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x4d, 0x62, 0x22, 0xd4, 0x02, 0x0a, 0x1e, 0x43, + 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x4d, 0x62, 0x22, 0xaa, 0x06, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x63, - 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x73, 0x65, 0x63, - 0x4d, 0x61, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x61, 0x76, 0x67, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x73, - 0x65, 0x63, 0x41, 0x76, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x75, - 0x73, 0x65, 0x63, 0x5f, 0x70, 0x35, 0x30, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x63, 0x50, 0x35, 0x30, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x39, 0x39, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x73, - 0x65, 0x63, 0x50, 0x39, 0x39, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x75, - 0x73, 0x65, 0x63, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x63, 0x41, 0x76, 0x67, 0x41, 0x6c, 0x6c, 0x12, 0x20, 0x0a, - 0x0c, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x35, 0x30, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x63, 0x50, 0x35, 0x30, 0x41, 0x6c, 0x6c, 0x12, - 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x39, 0x39, 0x5f, 0x61, 0x6c, 0x6c, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x63, 0x50, 0x39, 0x39, 0x41, 0x6c, - 0x6c, 0x22, 0xbf, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x3a, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, - 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x46, 0x72, 0x61, - 0x6d, 0x65, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x32, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0b, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x43, 0x0a, 0x0c, 0x76, - 0x70, 0x72, 0x6f, 0x66, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x76, 0x70, 0x72, 0x6f, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x22, 0xf8, 0x03, 0x0a, 0x2d, 0x43, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x66, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x47, 0x0a, - 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5f, 0x31, 0x73, 0x65, 0x63, 0x6d, + 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x12, 0x19, + 0x0a, 0x08, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x75, 0x73, 0x65, 0x63, 0x4d, 0x61, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, + 0x63, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x63, 0x41, 0x76, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x35, 0x30, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x63, + 0x50, 0x35, 0x30, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, + 0x63, 0x5f, 0x70, 0x39, 0x39, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x63, 0x50, 0x39, 0x39, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x6c, + 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x63, 0x41, 0x76, 0x67, + 0x41, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x35, 0x30, 0x5f, + 0x61, 0x6c, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x63, 0x50, + 0x35, 0x30, 0x41, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x39, + 0x39, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, + 0x63, 0x50, 0x39, 0x39, 0x41, 0x6c, 0x6c, 0x12, 0x35, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x63, 0x5f, + 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x75, 0x73, 0x65, 0x63, 0x31, 0x73, + 0x65, 0x63, 0x6d, 0x61, 0x78, 0x41, 0x76, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x35, + 0x0a, 0x17, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x70, + 0x35, 0x30, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x14, 0x75, 0x73, 0x65, 0x63, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x50, 0x35, 0x30, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x31, 0x73, + 0x65, 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x39, 0x35, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x75, 0x73, 0x65, 0x63, 0x31, 0x73, 0x65, 0x63, + 0x6d, 0x61, 0x78, 0x50, 0x39, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x35, 0x0a, 0x17, + 0x75, 0x73, 0x65, 0x63, 0x5f, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x39, 0x39, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x75, + 0x73, 0x65, 0x63, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x50, 0x39, 0x39, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x31, 0x73, 0x65, 0x63, + 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x29, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x11, 0x75, 0x73, 0x65, 0x63, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x41, 0x76, + 0x67, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x31, 0x73, 0x65, + 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x35, 0x30, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x2a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x11, 0x75, 0x73, 0x65, 0x63, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x50, + 0x35, 0x30, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x31, 0x73, + 0x65, 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x39, 0x35, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x2b, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x73, 0x65, 0x63, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, + 0x50, 0x39, 0x35, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x63, 0x5f, 0x31, + 0x73, 0x65, 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x39, 0x39, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x2c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x73, 0x65, 0x63, 0x31, 0x73, 0x65, 0x63, 0x6d, 0x61, + 0x78, 0x50, 0x39, 0x39, 0x41, 0x6c, 0x6c, 0x22, 0xbf, 0x01, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x66, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x61, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x1a, 0xba, - 0x01, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x32, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0b, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, - 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0xc3, 0x04, 0x0a, 0x12, - 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x44, 0x65, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, 0x6c, 0x74, 0x76, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6c, 0x74, 0x76, 0x12, 0x11, 0x0a, - 0x04, 0x63, 0x5f, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x4f, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, - 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, - 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x73, 0x6b, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x73, 0x6b, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x6f, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, - 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, - 0x15, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, - 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x67, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, - 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x39, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, - 0x67, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x43, 0x0a, 0x07, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, - 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x22, 0x5d, 0x0a, - 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, - 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, - 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x23, 0x0a, 0x0d, - 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, - 0x74, 0x22, 0xcd, 0x05, 0x0a, 0x0e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, - 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x73, - 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, - 0x73, 0x2e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x52, 0x06, 0x73, - 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x1a, 0xd9, 0x04, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, - 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x28, - 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, - 0x75, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61, - 0x6b, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x22, 0x6c, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, - 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, - 0x48, 0x0a, 0x0f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, - 0x65, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x56, 0x0a, 0x10, 0x43, 0x53, 0x56, - 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x22, 0x40, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x6f, - 0x73, 0x73, 0x68, 0x61, 0x69, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x61, - 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, - 0x67, 0x6c, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x13, - 0x64, 0x65, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x64, 0x65, 0x63, 0x61, 0x6c, - 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0x7f, 0x0a, 0x13, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, - 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4b, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, - 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x57, 0x0a, 0x0c, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x65, 0x6e, - 0x75, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6d, 0x65, 0x6e, - 0x75, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, - 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, - 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, 0xb2, 0x03, 0x0a, 0x11, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6e, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x72, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, - 0x6f, 0x70, 0x5f, 0x74, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x1a, 0x80, 0x02, 0x0a, 0x0a, - 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x42, 0x69, 0x74, 0x73, 0x22, 0x89, - 0x02, 0x0a, 0x15, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x2f, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x73, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x6b, - 0x65, 0x79, 0x5f, 0x74, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xfd, 0x09, 0x0a, 0x16, 0x43, - 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x49, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x66, 0x72, 0x61, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x61, 0x77, - 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6d, - 0x61, 0x78, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x18, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x29, + 0x0a, 0x10, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xae, 0x0a, 0x0a, 0x1d, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x46, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, + 0x73, 0x65, 0x63, 0x5f, 0x70, 0x39, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x63, 0x50, 0x39, 0x35, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x39, 0x39, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x63, 0x50, 0x39, 0x39, 0x12, 0x29, + 0x0a, 0x10, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x6d, 0x73, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x6d, 0x73, 0x67, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x6d, 0x73, 0x67, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x39, 0x35, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x6d, 0x73, 0x67, + 0x73, 0x53, 0x65, 0x63, 0x50, 0x39, 0x35, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x6d, 0x73, 0x67, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x5f, 0x70, 0x39, 0x39, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x6d, 0x73, 0x67, 0x73, 0x53, + 0x65, 0x63, 0x50, 0x39, 0x39, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, + 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, + 0x67, 0x6f, 0x6f, 0x64, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, + 0x73, 0x47, 0x6f, 0x6f, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x67, + 0x6f, 0x6f, 0x64, 0x5f, 0x61, 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x18, + 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x47, 0x6f, 0x6f, 0x64, + 0x41, 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, + 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x2c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x4c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x62, 0x61, + 0x64, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x42, 0x61, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, + 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x62, 0x61, 0x64, 0x5f, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x42, + 0x61, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, + 0x62, 0x61, 0x64, 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x42, 0x61, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x3d, + 0x0a, 0x1b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x32, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x18, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, + 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x41, 0x0a, + 0x1d, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x18, 0x33, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x69, 0x73, 0x73, 0x72, 0x61, + 0x74, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, + 0x12, 0x47, 0x0a, 0x20, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, + 0x74, 0x6e, 0x65, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x74, 0x69, 0x63, 0x6b, + 0x4d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x50, + 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, 0x65, 0x6e, 0x65, 0x74, 0x5f, 0x70, 0x37, + 0x35, 0x5f, 0x78, 0x31, 0x30, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x74, 0x69, 0x63, + 0x6b, 0x4d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, 0x65, 0x6e, 0x65, 0x74, 0x50, 0x37, 0x35, 0x58, + 0x31, 0x30, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x72, + 0x61, 0x74, 0x65, 0x6e, 0x65, 0x74, 0x5f, 0x70, 0x39, 0x35, 0x5f, 0x78, 0x31, 0x30, 0x18, 0x36, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x69, 0x73, 0x73, 0x72, 0x61, + 0x74, 0x65, 0x6e, 0x65, 0x74, 0x50, 0x39, 0x35, 0x58, 0x31, 0x30, 0x12, 0x37, 0x0a, 0x18, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, 0x65, 0x6e, 0x65, 0x74, 0x5f, + 0x70, 0x39, 0x39, 0x5f, 0x78, 0x31, 0x30, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x74, + 0x69, 0x63, 0x6b, 0x4d, 0x69, 0x73, 0x73, 0x72, 0x61, 0x74, 0x65, 0x6e, 0x65, 0x74, 0x50, 0x39, + 0x39, 0x58, 0x31, 0x30, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x5f, 0x70, 0x31, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x72, 0x65, 0x63, + 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x50, 0x31, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, + 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x70, 0x35, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x0c, 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x50, 0x35, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x70, 0x32, 0x35, + 0x18, 0x3f, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x50, 0x32, 0x35, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x5f, 0x70, 0x35, 0x30, 0x18, 0x40, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x72, + 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x50, 0x35, 0x30, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x70, 0x37, 0x35, 0x18, 0x41, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x50, 0x37, 0x35, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x5f, 0x70, 0x39, 0x35, 0x18, 0x42, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x72, 0x65, 0x63, + 0x76, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x50, 0x39, 0x35, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x43, + 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, + 0x63, 0x73, 0x12, 0x43, 0x0a, 0x0c, 0x76, 0x70, 0x72, 0x6f, 0x66, 0x5f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, + 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x76, 0x70, 0x72, 0x6f, + 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xf8, 0x03, 0x0a, 0x2d, 0x43, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x32, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x65, 0x72, 0x66, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, + 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0d, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x54, 0x0a, + 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x66, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x61, 0x70, 0x1a, 0xba, 0x01, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, + 0x70, 0x65, 0x63, 0x73, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, + 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x32, 0x56, 0x50, 0x72, 0x6f, 0x66, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x69, 0x64, 0x22, 0xc3, 0x04, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x64, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x73, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, + 0x73, 0x5f, 0x68, 0x6c, 0x74, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, + 0x48, 0x6c, 0x74, 0x76, 0x12, 0x11, 0x0a, 0x04, 0x63, 0x5f, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x63, 0x4f, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, + 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, + 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, + 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6b, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x13, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, + 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, + 0x66, 0x6f, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x1a, 0x43, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, + 0x75, 0x73, 0x65, 0x64, 0x22, 0x5d, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, + 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, + 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, + 0x72, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xcd, 0x05, 0x0a, 0x0e, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x2e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x1a, 0xd9, 0x04, 0x0a, + 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x16, 0x0a, + 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, + 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x6e, + 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, + 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, + 0x75, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x0e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, + 0x75, 0x6e, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, + 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, + 0x73, 0x53, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, + 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, + 0x73, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, + 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x6c, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x0a, + 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x48, 0x0a, 0x0f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x22, 0x56, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x78, 0x41, + 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x26, 0x0a, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, + 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0x40, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x68, 0x61, 0x69, 0x72, 0x41, 0x6e, 0x67, + 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, + 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x10, 0x43, + 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, + 0x22, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, + 0x70, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x11, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, + 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x7f, 0x0a, 0x13, 0x43, 0x53, + 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, + 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4b, 0x0a, 0x14, 0x43, + 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x0c, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x6c, + 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, + 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x6e, + 0x75, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0d, 0x6d, 0x65, 0x6e, 0x75, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x22, 0xb2, 0x03, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, + 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, + 0x0e, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x65, 0x64, + 0x73, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x70, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x52, 0x05, 0x70, 0x72, 0x6f, + 0x70, 0x73, 0x1a, 0x80, 0x02, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, + 0x75, 0x6d, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, + 0x69, 0x67, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x09, 0x68, 0x69, 0x67, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, + 0x6d, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, + 0x6d, 0x42, 0x69, 0x74, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x15, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, + 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x4a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x2f, 0x0a, 0x05, 0x6b, + 0x65, 0x79, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x73, 0x0a, 0x0c, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x52, 0x04, 0x6b, 0x65, 0x79, + 0x73, 0x22, 0x92, 0x0a, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x5f, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x49, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, + 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x72, + 0x6f, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, + 0x75, 0x6c, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, + 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x77, + 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x61, 0x77, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x1f, 0x6d, + 0x61, 0x78, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6d, 0x64, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6d, 0x64, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, - 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6d, - 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x64, 0x65, - 0x6c, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x11, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x43, - 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x63, 0x76, 0x44, 0x65, 0x6c, 0x74, - 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, - 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x61, - 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x5f, 0x74, 0x52, 0x12, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x70, - 0x76, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x50, 0x76, 0x73, 0x56, 0x69, 0x73, 0x42, 0x69, 0x74, 0x73, - 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6d, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0d, 0x63, 0x6d, 0x64, 0x52, 0x65, - 0x63, 0x76, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x18, 0x6e, 0x6f, 0x6e, 0x5f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x5f, 0x74, 0x52, 0x16, 0x6e, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x63, - 0x71, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, - 0x71, 0x53, 0x74, 0x61, 0x72, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x71, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, - 0x6b, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x71, 0x44, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, - 0x18, 0xe7, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x50, 0x61, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x1a, 0x60, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, - 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x53, 0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x5f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x74, 0x0a, 0x14, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, + 0x72, 0x65, 0x63, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x65, 0x63, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, + 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x52, 0x12, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x3c, + 0x0a, 0x1b, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x76, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x5f, 0x62, 0x69, + 0x74, 0x73, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x17, 0x68, 0x61, 0x73, 0x50, 0x76, 0x73, 0x56, 0x69, 0x73, 0x42, 0x69, + 0x74, 0x73, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, + 0x63, 0x6d, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x16, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0d, 0x63, 0x6d, 0x64, 0x52, 0x65, 0x63, 0x76, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x18, 0x6e, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, + 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x52, + 0x16, 0x6e, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x71, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x71, 0x53, 0x74, 0x61, + 0x72, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, + 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x71, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x71, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, + 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x76, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0xe7, 0x07, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x1a, + 0x60, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x61, + 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x1a, 0x53, 0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x74, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, + 0x67, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, + 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x99, 0x03, 0x0a, + 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x99, 0x03, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x75, 0x73, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x69, 0x74, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x6e, 0x63, - 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x76, 0x61, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, - 0x69, 0x6e, 0x74, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x87, 0x01, 0x0a, - 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, - 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, - 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x75, 0x64, 0x69, - 0x6f, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, - 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, - 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, - 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, 0x66, 0x0a, 0x16, 0x43, - 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x6c, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x22, 0x70, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, - 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, - 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x76, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, - 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, - 0x6f, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x22, 0x32, 0x0a, - 0x15, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6d, 0x64, - 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a, - 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x54, 0x0a, 0x0e, 0x43, 0x4d, - 0x73, 0x67, 0x49, 0x50, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x47, 0x75, 0x69, - 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, - 0x22, 0xed, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, - 0x65, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x26, - 0x0a, 0x03, 0x69, 0x70, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x50, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x03, 0x69, 0x70, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x79, 0x5f, 0x68, - 0x65, 0x61, 0x72, 0x5f, 0x79, 0x6f, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, - 0x68, 0x65, 0x79, 0x48, 0x65, 0x61, 0x72, 0x59, 0x6f, 0x75, 0x12, 0x22, 0x0a, 0x0d, 0x79, 0x6f, - 0x75, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x79, 0x6f, 0x75, 0x48, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x6d, 0x12, 0x30, - 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, - 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, - 0x22, 0x3c, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x65, 0x65, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x6c, - 0x0a, 0x1c, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, - 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x22, 0xf3, 0x05, 0x0a, - 0x1f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, - 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x79, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, - 0x79, 0x6d, 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, - 0x79, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x53, 0x79, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x39, 0x0a, 0x19, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x38, 0x0a, 0x18, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, - 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x72, - 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0d, 0x76, 0x61, 0x72, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x53, 0x79, - 0x6d, 0x12, 0x66, 0x0a, 0x11, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, - 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x5f, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x52, 0x10, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, - 0x70, 0x68, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x76, 0x61, 0x72, - 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x6d, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x76, 0x61, 0x72, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x72, 0x53, 0x79, 0x6d, 0x1a, 0xb8, 0x01, 0x0a, 0x13, 0x70, 0x6f, 0x6c, 0x79, - 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x12, - 0x50, 0x0a, 0x25, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, - 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, - 0x6d, 0x12, 0x4f, 0x0a, 0x24, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, - 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x21, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, - 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, - 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, - 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, - 0x6d, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0xba, 0x01, 0x0a, 0x1b, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, + 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, + 0x65, 0x42, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, + 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, + 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x14, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x6e, 0x74, 0x42, + 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, + 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, + 0x74, 0x61, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, + 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x05, 0x61, + 0x75, 0x64, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, + 0x6f, 0x75, 0x67, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, + 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, 0x66, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x70, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x46, + 0x72, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x76, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x4c, 0x54, + 0x56, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x6f, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x15, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x2a, 0x0a, + 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a, 0x19, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x54, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x50, + 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0xed, 0x01, 0x0a, + 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x12, + 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x69, 0x70, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x49, 0x50, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x03, 0x69, + 0x70, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x5f, + 0x79, 0x6f, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x68, 0x65, 0x79, 0x48, + 0x65, 0x61, 0x72, 0x59, 0x6f, 0x75, 0x12, 0x22, 0x0a, 0x0d, 0x79, 0x6f, 0x75, 0x5f, 0x68, 0x65, + 0x61, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x79, + 0x6f, 0x75, 0x48, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x6f, + 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x10, + 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x28, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x6c, 0x0a, 0x1c, 0x43, 0x53, + 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, + 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x22, 0xf3, 0x05, 0x0a, 0x1f, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x12, 0x20, 0x0a, 0x0c, + 0x76, 0x61, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x20, + 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, + 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, + 0x67, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x68, 0x69, 0x67, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x39, 0x0a, 0x19, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x38, 0x0a, 0x18, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, + 0x79, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x72, 0x5f, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x76, 0x61, 0x72, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x53, 0x79, 0x6d, 0x12, 0x66, 0x0a, + 0x11, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, - 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x22, 0x27, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x6f, 0x70, - 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1e, 0x43, 0x42, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x2e, + 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x74, 0x52, 0x10, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x76, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x10, 0x76, 0x61, 0x72, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, + 0x53, 0x79, 0x6d, 0x1a, 0xb8, 0x01, 0x0a, 0x13, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, + 0x68, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x12, 0x50, 0x0a, 0x25, 0x70, + 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x70, 0x6f, 0x6c, 0x79, + 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x4f, 0x0a, + 0x24, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x70, 0x6f, 0x6c, + 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9e, + 0x01, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, + 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, 0x12, 0x2e, 0x0a, + 0x13, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x2d, 0x0a, + 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, + 0xba, 0x01, 0x0a, 0x1b, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6c, 0x61, 0x74, + 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, + 0x42, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x3d, 0x0a, + 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, + 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x74, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x11, + 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x75, 0x6e, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x04, 0x67, 0x75, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1e, 0x43, 0x42, 0x69, 0x64, 0x69, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x47, + 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x74, + 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x70, 0x6f, 0x73, 0x74, 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x62, 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x62, + 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, + 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x1b, 0x43, 0x42, 0x69, 0x64, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, - 0x70, 0x6f, 0x73, 0x74, 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x62, 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3f, - 0x0a, 0x1b, 0x43, 0x42, 0x69, 0x64, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x62, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0xe5, 0x09, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, - 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, - 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, - 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x70, 0x75, - 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, - 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x65, 0x64, 0x4d, 0x62, 0x12, 0x24, 0x0a, 0x0e, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x6d, 0x62, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x65, 0x65, 0x4d, - 0x62, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x61, - 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x73, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, - 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, - 0x75, 0x6d, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, - 0x75, 0x6d, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x6e, 0x75, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x0a, - 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x54, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, - 0x66, 0x70, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x19, + 0x43, 0x42, 0x69, 0x64, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x56, + 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x22, 0x2b, 0x0a, 0x09, 0x45, 0x53, 0x79, 0x6e, + 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x5f, 0x54, 0x69, 0x63, 0x6b, + 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, + 0x4e, 0x75, 0x6d, 0x10, 0x01, 0x22, 0xe5, 0x09, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0b, - 0x61, 0x76, 0x67, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x33, 0x0a, 0x16, - 0x61, 0x76, 0x67, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x61, 0x76, - 0x67, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4f, 0x75, - 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x76, 0x67, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, - 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x76, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x4f, 0x75, - 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x69, 0x6e, - 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x49, - 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x75, - 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x76, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x44, 0x61, 0x74, - 0x61, 0x49, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, - 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x44, 0x61, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x1d, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x4f, 0x75, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x1e, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x1a, 0x2e, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x1a, 0x82, 0x02, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x69, 0x6e, 0x67, - 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, - 0x69, 0x6e, 0x67, 0x41, 0x76, 0x67, 0x4d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x63, 0x74, - 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x69, 0x73, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x6f, 0x73, 0x73, 0x5f, - 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x6c, 0x6f, 0x73, 0x73, 0x49, 0x6e, - 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x07, 0x6c, 0x6f, 0x73, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x61, - 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0xcd, 0x02, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, - 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, - 0x65, 0x6c, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x41, - 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x62, 0x65, 0x67, - 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, - 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x2e, 0x0a, - 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, - 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x30, 0x0a, - 0x14, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, - 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, - 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, - 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x19, - 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0xe1, 0x02, 0x0a, 0x1d, - 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, - 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, - 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x0a, 0x65, 0x79, - 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, - 0x52, 0x09, 0x65, 0x79, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x31, 0x0a, 0x14, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6f, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x0b, - 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, - 0x6b, 0x0a, 0x1f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, - 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xba, 0x01, 0x0a, - 0x11, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x43, - 0x6d, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x4b, 0x0a, 0x14, 0x43, 0x53, 0x56, - 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x52, 0x08, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2a, 0xe1, 0x02, 0x0a, 0x0c, 0x43, 0x4c, 0x43, 0x5f, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x14, 0x12, 0x0c, 0x0a, 0x08, 0x63, - 0x6c, 0x63, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x10, 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x6c, 0x63, - 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x16, 0x12, 0x13, 0x0a, 0x0f, - 0x63, 0x6c, 0x63, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x10, - 0x17, 0x12, 0x18, 0x0a, 0x14, 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x19, 0x12, 0x14, 0x0a, 0x10, 0x63, - 0x6c, 0x63, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x52, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x10, - 0x1a, 0x12, 0x17, 0x0a, 0x13, 0x63, 0x6c, 0x63, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x1b, 0x12, 0x1a, 0x0a, 0x16, 0x63, 0x6c, - 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x10, 0x1c, 0x12, 0x1d, 0x0a, 0x19, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x70, - 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x1f, 0x12, 0x14, 0x0a, 0x10, 0x63, - 0x6c, 0x63, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, - 0x21, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x22, 0x12, 0x19, 0x0a, 0x15, 0x63, 0x6c, 0x63, 0x5f, 0x52, - 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x10, 0x23, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, - 0x70, 0x6c, 0x61, 0x79, 0x10, 0x24, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x10, 0x25, 0x2a, 0x97, 0x05, 0x0a, 0x0c, 0x53, - 0x56, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x73, - 0x76, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x28, 0x12, - 0x1b, 0x0a, 0x17, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, - 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x10, 0x29, 0x12, 0x11, 0x0a, 0x0d, - 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x2a, 0x12, - 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, - 0x2b, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x2c, 0x12, 0x19, 0x0a, 0x15, - 0x73, 0x76, 0x63, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x2d, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x56, - 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x2e, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, - 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x2f, 0x12, 0x0d, 0x0a, - 0x09, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x10, 0x30, 0x12, 0x0e, 0x0a, 0x0a, - 0x73, 0x76, 0x63, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x10, 0x31, 0x12, 0x0f, 0x0a, 0x0b, - 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x10, 0x32, 0x12, 0x1c, 0x0a, - 0x18, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x33, 0x12, 0x14, 0x0a, 0x10, 0x73, - 0x76, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, - 0x34, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, - 0x6c, 0x10, 0x35, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, - 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x36, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x37, - 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, - 0x10, 0x38, 0x12, 0x0c, 0x0a, 0x08, 0x73, 0x76, 0x63, 0x5f, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x39, - 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x10, 0x3a, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x74, - 0x6f, 0x70, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x3b, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, - 0x5f, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x3c, 0x12, 0x16, 0x0a, 0x12, 0x73, - 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x10, 0x3d, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x3e, 0x12, 0x15, 0x0a, 0x11, 0x73, 0x76, 0x63, 0x5f, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x10, 0x3f, 0x12, 0x16, - 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, - 0x70, 0x6c, 0x69, 0x74, 0x10, 0x46, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x52, 0x63, - 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, - 0x47, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x10, 0x48, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, - 0x4a, 0x12, 0x1f, 0x0a, 0x1b, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, - 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x10, 0x4b, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, - 0x64, 0x73, 0x10, 0x4c, 0x2a, 0x67, 0x0a, 0x11, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x4f, 0x49, - 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x54, - 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, - 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, - 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4f, 0x50, 0x55, 0x53, 0x10, 0x02, 0x2a, 0x42, 0x0a, - 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x12, - 0x0c, 0x0a, 0x08, 0x52, 0x50, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x52, 0x50, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, - 0x0e, 0x52, 0x50, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, 0x45, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, - 0x02, 0x2a, 0x1d, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x46, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x00, - 0x2a, 0x56, 0x0a, 0x17, 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, - 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, - 0x44, 0x44, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x53, 0x47, 0x5f, - 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, - 0x56, 0x45, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x2a, 0xb3, 0x01, 0x0a, 0x15, 0x45, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x49, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x65, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x43, 0x76, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, - 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x41, 0x43, - 0x76, 0x61, 0x72, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, - 0x76, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x03, 0x2a, 0x68, - 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0e, 0x0a, - 0x0a, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x53, 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, - 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x10, 0x01, 0x12, 0x0f, - 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, - 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, - 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x53, 0x4b, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x04, 0x2a, 0x2b, 0x0a, 0x19, 0x53, 0x56, 0x43, 0x5f, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x4c, 0x6f, 0x77, 0x46, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x09, 0x73, 0x76, 0x63, 0x5f, 0x64, 0x75, 0x6d, - 0x6d, 0x79, 0x10, 0xd8, 0x04, 0x2a, 0x61, 0x0a, 0x16, 0x42, 0x69, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x1b, 0x0a, 0x17, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x10, 0x12, 0x18, 0x0a, 0x14, - 0x62, 0x69, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x10, 0x11, 0x12, 0x10, 0x0a, 0x0c, 0x62, 0x69, 0x5f, 0x47, 0x61, 0x6d, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x12, 0x2a, 0x4d, 0x0a, 0x23, 0x42, 0x69, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x5f, 0x4c, 0x6f, 0x77, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, - 0x11, 0x0a, 0x0c, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, - 0xbc, 0x05, 0x12, 0x13, 0x0a, 0x0e, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x10, 0xbd, 0x05, 0x2a, 0xa1, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x12, 0x17, 0x0a, - 0x13, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, - 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x18, - 0x0a, 0x14, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x47, - 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x50, 0x4c, - 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x55, 0x43, 0x4b, 0x5f, 0x4e, - 0x45, 0x45, 0x44, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, - 0x03, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x04, 0x42, 0x25, 0x5a, 0x23, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, - 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, - 0x74, 0x61, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x65, 0x64, 0x4d, + 0x62, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x66, 0x72, 0x65, 0x65, + 0x5f, 0x6d, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x46, 0x72, 0x65, 0x65, 0x4d, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x76, 0x5f, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x54, + 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x66, 0x70, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x50, 0x69, 0x6e, 0x67, + 0x4d, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x61, 0x76, 0x67, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x13, 0x61, 0x76, 0x67, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0d, 0x61, 0x76, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, + 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, + 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x6f, 0x73, + 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x76, 0x67, + 0x4c, 0x6f, 0x73, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x6c, + 0x6f, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, + 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, + 0x76, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x61, 0x76, 0x67, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x12, 0x28, 0x0a, + 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, + 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x12, 0x2a, 0x0a, + 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, + 0x75, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, + 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0x2e, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x82, 0x02, 0x0a, 0x06, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1e, + 0x0a, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x67, 0x4d, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x63, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, + 0x6f, 0x73, 0x73, 0x50, 0x63, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x0a, + 0x07, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, + 0x6c, 0x6f, 0x73, 0x73, 0x49, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6f, + 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x6f, 0x73, 0x73, 0x4f, 0x75, + 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0xcd, 0x02, + 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, + 0x70, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x70, + 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, + 0x79, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, + 0x32, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, + 0x77, 0x6e, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x42, 0x65, + 0x67, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, + 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, + 0x45, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, + 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, + 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xc2, 0x01, + 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, + 0x70, 0x6c, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, + 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, + 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x64, + 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, + 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, + 0x64, 0x22, 0xe1, 0x02, 0x0a, 0x1d, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, + 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, + 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x73, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x12, 0x2f, 0x0a, 0x0a, 0x65, 0x79, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x09, 0x65, 0x79, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, + 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x4f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x6b, 0x0a, 0x1f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, + 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x63, 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x14, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, + 0x4b, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x43, + 0x6d, 0x64, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2a, 0xe1, 0x02, 0x0a, + 0x0c, 0x43, 0x4c, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, + 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, + 0x14, 0x12, 0x0c, 0x0a, 0x08, 0x63, 0x6c, 0x63, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x10, 0x15, 0x12, + 0x11, 0x0a, 0x0d, 0x63, 0x6c, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x10, 0x16, 0x12, 0x13, 0x0a, 0x0f, 0x63, 0x6c, 0x63, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x10, 0x17, 0x12, 0x18, 0x0a, 0x14, 0x63, 0x6c, 0x63, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, + 0x19, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x52, 0x43, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x10, 0x1a, 0x12, 0x17, 0x0a, 0x13, 0x63, 0x6c, 0x63, 0x5f, 0x4c, + 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x1b, + 0x12, 0x1a, 0x0a, 0x16, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x1c, 0x12, 0x1d, 0x0a, 0x19, + 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, 0x63, + 0x6c, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, + 0x1f, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, 0x21, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x43, + 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x22, 0x12, 0x19, 0x0a, + 0x15, 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0x23, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, + 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x24, 0x12, 0x12, 0x0a, 0x0e, + 0x63, 0x6c, 0x63, 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x10, 0x25, + 0x2a, 0x97, 0x05, 0x0a, 0x0c, 0x53, 0x56, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x10, 0x28, 0x12, 0x1b, 0x0a, 0x17, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x6c, 0x61, + 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, + 0x10, 0x29, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, + 0x6e, 0x66, 0x6f, 0x10, 0x2a, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, + 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, 0x2b, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x10, 0x2c, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x2d, 0x12, 0x11, 0x0a, + 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x2e, + 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x10, 0x2f, 0x12, 0x0d, 0x0a, 0x09, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, + 0x10, 0x30, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x10, 0x31, 0x12, 0x0f, 0x0a, 0x0b, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, + 0x77, 0x10, 0x32, 0x12, 0x1c, 0x0a, 0x18, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, + 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, + 0x33, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x34, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x42, + 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x10, 0x35, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, + 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x36, 0x12, 0x16, + 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x10, 0x37, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, + 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x10, 0x38, 0x12, 0x0c, 0x0a, 0x08, 0x73, 0x76, 0x63, 0x5f, + 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x39, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x65, + 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x3a, 0x12, 0x11, 0x0a, 0x0d, + 0x73, 0x76, 0x63, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x3b, 0x12, + 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x10, + 0x3c, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x3d, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, + 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x3e, 0x12, 0x15, 0x0a, + 0x11, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x44, 0x10, 0x3f, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x75, 0x6c, 0x6c, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x10, 0x46, 0x12, 0x19, 0x0a, 0x15, + 0x73, 0x76, 0x63, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0x47, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x48, 0x12, 0x19, 0x0a, 0x15, + 0x73, 0x76, 0x63, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x4a, 0x12, 0x1f, 0x0a, 0x1b, 0x73, 0x76, 0x63, 0x5f, 0x48, + 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x4b, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x73, 0x10, 0x4c, 0x2a, 0x67, 0x0a, 0x11, 0x56, 0x6f, + 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x12, + 0x1a, 0x0a, 0x16, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x56, + 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, + 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x4f, 0x49, 0x43, + 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4f, 0x50, 0x55, + 0x53, 0x10, 0x02, 0x2a, 0x42, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x5f, 0x74, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x50, 0x5f, 0x50, 0x41, 0x55, 0x53, + 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x50, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, + 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x50, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, 0x45, + 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x02, 0x2a, 0x1d, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x65, + 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x46, 0x54, 0x5f, 0x53, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x00, 0x2a, 0x56, 0x0a, 0x17, 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, + 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, + 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x1e, + 0x0a, 0x1a, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, + 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x2a, 0xb3, + 0x01, 0x0a, 0x15, 0x45, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x65, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x10, 0x00, 0x12, + 0x26, 0x0a, 0x22, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x76, 0x61, 0x72, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x65, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x4e, 0x6f, 0x74, 0x41, 0x43, 0x76, 0x61, 0x72, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x76, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x10, 0x03, 0x2a, 0x68, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x53, + 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x45, + 0x4e, 0x55, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x54, + 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, + 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x41, 0x4c, 0x4f, + 0x47, 0x5f, 0x41, 0x53, 0x4b, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x04, 0x2a, 0x2b, + 0x0a, 0x19, 0x53, 0x56, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x4c, + 0x6f, 0x77, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x09, 0x73, + 0x76, 0x63, 0x5f, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x10, 0xd8, 0x04, 0x2a, 0x79, 0x0a, 0x16, 0x42, + 0x69, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x62, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x10, 0x10, 0x12, 0x18, 0x0a, 0x14, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, + 0x63, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x11, 0x12, 0x10, 0x0a, 0x0c, + 0x62, 0x69, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x12, 0x12, 0x16, + 0x0a, 0x12, 0x62, 0x69, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x10, 0x13, 0x2a, 0x4d, 0x0a, 0x23, 0x42, 0x69, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x5f, 0x4c, 0x6f, 0x77, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x11, 0x0a, + 0x0c, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbc, 0x05, + 0x12, 0x13, 0x0a, 0x0e, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x10, 0xbd, 0x05, 0x2a, 0xa1, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x52, + 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, + 0x45, 0x4c, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, + 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x45, 0x4e, + 0x45, 0x52, 0x49, 0x43, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x55, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x45, + 0x44, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, + 0x18, 0x0a, 0x14, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x04, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, + 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -7474,8 +8074,8 @@ func file_netmessages_proto_rawDescGZIP() []byte { return file_netmessages_proto_rawDescData } -var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 77) +var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 13) +var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 79) var file_netmessages_proto_goTypes = []interface{}{ (CLC_Messages)(0), // 0: dota.CLC_Messages (SVC_Messages)(0), // 1: dota.SVC_Messages @@ -7489,124 +8089,127 @@ var file_netmessages_proto_goTypes = []interface{}{ (Bidirectional_Messages)(0), // 9: dota.Bidirectional_Messages (Bidirectional_Messages_LowFrequency)(0), // 10: dota.Bidirectional_Messages_LowFrequency (ReplayEventTypeT)(0), // 11: dota.ReplayEventType_t - (*CCLCMsg_ClientInfo)(nil), // 12: dota.CCLCMsg_ClientInfo - (*CCLCMsg_Move)(nil), // 13: dota.CCLCMsg_Move - (*CMsgVoiceAudio)(nil), // 14: dota.CMsgVoiceAudio - (*CCLCMsg_VoiceData)(nil), // 15: dota.CCLCMsg_VoiceData - (*CCLCMsg_BaselineAck)(nil), // 16: dota.CCLCMsg_BaselineAck - (*CCLCMsg_ListenEvents)(nil), // 17: dota.CCLCMsg_ListenEvents - (*CCLCMsg_RespondCvarValue)(nil), // 18: dota.CCLCMsg_RespondCvarValue - (*CCLCMsg_FileCRCCheck)(nil), // 19: dota.CCLCMsg_FileCRCCheck - (*CCLCMsg_LoadingProgress)(nil), // 20: dota.CCLCMsg_LoadingProgress - (*CCLCMsg_SplitPlayerConnect)(nil), // 21: dota.CCLCMsg_SplitPlayerConnect - (*CCLCMsg_SplitPlayerDisconnect)(nil), // 22: dota.CCLCMsg_SplitPlayerDisconnect - (*CCLCMsg_ServerStatus)(nil), // 23: dota.CCLCMsg_ServerStatus - (*CCLCMsg_RequestPause)(nil), // 24: dota.CCLCMsg_RequestPause - (*CCLCMsg_CmdKeyValues)(nil), // 25: dota.CCLCMsg_CmdKeyValues - (*CCLCMsg_RconServerDetails)(nil), // 26: dota.CCLCMsg_RconServerDetails - (*CMsgSource2SystemSpecs)(nil), // 27: dota.CMsgSource2SystemSpecs - (*CMsgSource2VProfLiteReportItem)(nil), // 28: dota.CMsgSource2VProfLiteReportItem - (*CMsgSource2VProfLiteReport)(nil), // 29: dota.CMsgSource2VProfLiteReport - (*CCLCMsg_Diagnostic)(nil), // 30: dota.CCLCMsg_Diagnostic - (*CSource2Metrics_MatchPerfSummary_Notification)(nil), // 31: dota.CSource2Metrics_MatchPerfSummary_Notification - (*CSVCMsg_ServerInfo)(nil), // 32: dota.CSVCMsg_ServerInfo - (*CSVCMsg_ClassInfo)(nil), // 33: dota.CSVCMsg_ClassInfo - (*CSVCMsg_SetPause)(nil), // 34: dota.CSVCMsg_SetPause - (*CSVCMsg_VoiceInit)(nil), // 35: dota.CSVCMsg_VoiceInit - (*CSVCMsg_Print)(nil), // 36: dota.CSVCMsg_Print - (*CSVCMsg_Sounds)(nil), // 37: dota.CSVCMsg_Sounds - (*CSVCMsg_Prefetch)(nil), // 38: dota.CSVCMsg_Prefetch - (*CSVCMsg_SetView)(nil), // 39: dota.CSVCMsg_SetView - (*CSVCMsg_FixAngle)(nil), // 40: dota.CSVCMsg_FixAngle - (*CSVCMsg_CrosshairAngle)(nil), // 41: dota.CSVCMsg_CrosshairAngle - (*CSVCMsg_BSPDecal)(nil), // 42: dota.CSVCMsg_BSPDecal - (*CSVCMsg_SplitScreen)(nil), // 43: dota.CSVCMsg_SplitScreen - (*CSVCMsg_GetCvarValue)(nil), // 44: dota.CSVCMsg_GetCvarValue - (*CSVCMsg_Menu)(nil), // 45: dota.CSVCMsg_Menu - (*CSVCMsg_UserMessage)(nil), // 46: dota.CSVCMsg_UserMessage - (*CSVCMsg_SendTable)(nil), // 47: dota.CSVCMsg_SendTable - (*CSVCMsg_GameEventList)(nil), // 48: dota.CSVCMsg_GameEventList - (*CSVCMsg_PacketEntities)(nil), // 49: dota.CSVCMsg_PacketEntities - (*CSVCMsg_TempEntities)(nil), // 50: dota.CSVCMsg_TempEntities - (*CSVCMsg_CreateStringTable)(nil), // 51: dota.CSVCMsg_CreateStringTable - (*CSVCMsg_UpdateStringTable)(nil), // 52: dota.CSVCMsg_UpdateStringTable - (*CSVCMsg_VoiceData)(nil), // 53: dota.CSVCMsg_VoiceData - (*CSVCMsg_PacketReliable)(nil), // 54: dota.CSVCMsg_PacketReliable - (*CSVCMsg_FullFrameSplit)(nil), // 55: dota.CSVCMsg_FullFrameSplit - (*CSVCMsg_HLTVStatus)(nil), // 56: dota.CSVCMsg_HLTVStatus - (*CSVCMsg_ServerSteamID)(nil), // 57: dota.CSVCMsg_ServerSteamID - (*CSVCMsg_CmdKeyValues)(nil), // 58: dota.CSVCMsg_CmdKeyValues - (*CSVCMsg_RconServerDetails)(nil), // 59: dota.CSVCMsg_RconServerDetails - (*CMsgIPCAddress)(nil), // 60: dota.CMsgIPCAddress - (*CMsgServerPeer)(nil), // 61: dota.CMsgServerPeer - (*CSVCMsg_PeerList)(nil), // 62: dota.CSVCMsg_PeerList - (*CSVCMsg_ClearAllStringTables)(nil), // 63: dota.CSVCMsg_ClearAllStringTables - (*ProtoFlattenedSerializerFieldT)(nil), // 64: dota.ProtoFlattenedSerializerField_t - (*ProtoFlattenedSerializerT)(nil), // 65: dota.ProtoFlattenedSerializer_t - (*CSVCMsg_FlattenedSerializer)(nil), // 66: dota.CSVCMsg_FlattenedSerializer - (*CSVCMsg_StopSound)(nil), // 67: dota.CSVCMsg_StopSound - (*CBidirMsg_RebroadcastGameEvent)(nil), // 68: dota.CBidirMsg_RebroadcastGameEvent - (*CBidirMsg_RebroadcastSource)(nil), // 69: dota.CBidirMsg_RebroadcastSource - (*CMsgServerNetworkStats)(nil), // 70: dota.CMsgServerNetworkStats - (*CSVCMsg_HltvReplay)(nil), // 71: dota.CSVCMsg_HltvReplay - (*CCLCMsg_HltvReplay)(nil), // 72: dota.CCLCMsg_HltvReplay - (*CSVCMsg_Broadcast_Command)(nil), // 73: dota.CSVCMsg_Broadcast_Command - (*CCLCMsg_HltvFixupOperatorTick)(nil), // 74: dota.CCLCMsg_HltvFixupOperatorTick - (*CSVCMsg_HltvFixupOperatorStatus)(nil), // 75: dota.CSVCMsg_HltvFixupOperatorStatus - (*CMsgServerUserCmd)(nil), // 76: dota.CMsgServerUserCmd - (*CSVCMsg_UserCommands)(nil), // 77: dota.CSVCMsg_UserCommands - (*CSource2Metrics_MatchPerfSummary_Notification_Client)(nil), // 78: dota.CSource2Metrics_MatchPerfSummary_Notification.Client - (*CSVCMsg_ClassInfoClassT)(nil), // 79: dota.CSVCMsg_ClassInfo.class_t - (*CSVCMsg_SoundsSounddataT)(nil), // 80: dota.CSVCMsg_Sounds.sounddata_t - (*CSVCMsg_SendTableSendpropT)(nil), // 81: dota.CSVCMsg_SendTable.sendprop_t - (*CSVCMsg_GameEventListKeyT)(nil), // 82: dota.CSVCMsg_GameEventList.key_t - (*CSVCMsg_GameEventListDescriptorT)(nil), // 83: dota.CSVCMsg_GameEventList.descriptor_t - (*CSVCMsg_PacketEntitiesAlternateBaselineT)(nil), // 84: dota.CSVCMsg_PacketEntities.alternate_baseline_t - (*CSVCMsg_PacketEntitiesNonTransmittedEntitiesT)(nil), // 85: dota.CSVCMsg_PacketEntities.non_transmitted_entities_t - (*ProtoFlattenedSerializerFieldTPolymorphicFieldT)(nil), // 86: dota.ProtoFlattenedSerializerField_t.polymorphic_field_t - (*CMsgServerNetworkStats_Port)(nil), // 87: dota.CMsgServerNetworkStats.Port - (*CMsgServerNetworkStats_Player)(nil), // 88: dota.CMsgServerNetworkStats.Player - (*CSVCMsg_GameSessionConfiguration)(nil), // 89: dota.CSVCMsg_GameSessionConfiguration - (*CMsgQAngle)(nil), // 90: dota.CMsgQAngle - (*CMsgVector)(nil), // 91: dota.CMsgVector + (CBidirMsg_PredictionEvent_ESyncType)(0), // 12: dota.CBidirMsg_PredictionEvent.ESyncType + (*CCLCMsg_ClientInfo)(nil), // 13: dota.CCLCMsg_ClientInfo + (*CCLCMsg_Move)(nil), // 14: dota.CCLCMsg_Move + (*CMsgVoiceAudio)(nil), // 15: dota.CMsgVoiceAudio + (*CCLCMsg_VoiceData)(nil), // 16: dota.CCLCMsg_VoiceData + (*CCLCMsg_BaselineAck)(nil), // 17: dota.CCLCMsg_BaselineAck + (*CCLCMsg_ListenEvents)(nil), // 18: dota.CCLCMsg_ListenEvents + (*CCLCMsg_RespondCvarValue)(nil), // 19: dota.CCLCMsg_RespondCvarValue + (*CCLCMsg_FileCRCCheck)(nil), // 20: dota.CCLCMsg_FileCRCCheck + (*CCLCMsg_LoadingProgress)(nil), // 21: dota.CCLCMsg_LoadingProgress + (*CCLCMsg_SplitPlayerConnect)(nil), // 22: dota.CCLCMsg_SplitPlayerConnect + (*CCLCMsg_SplitPlayerDisconnect)(nil), // 23: dota.CCLCMsg_SplitPlayerDisconnect + (*CCLCMsg_ServerStatus)(nil), // 24: dota.CCLCMsg_ServerStatus + (*CCLCMsg_RequestPause)(nil), // 25: dota.CCLCMsg_RequestPause + (*CCLCMsg_CmdKeyValues)(nil), // 26: dota.CCLCMsg_CmdKeyValues + (*CCLCMsg_RconServerDetails)(nil), // 27: dota.CCLCMsg_RconServerDetails + (*CMsgSource2SystemSpecs)(nil), // 28: dota.CMsgSource2SystemSpecs + (*CMsgSource2VProfLiteReportItem)(nil), // 29: dota.CMsgSource2VProfLiteReportItem + (*CMsgSource2VProfLiteReport)(nil), // 30: dota.CMsgSource2VProfLiteReport + (*CMsgSource2NetworkFlowQuality)(nil), // 31: dota.CMsgSource2NetworkFlowQuality + (*CCLCMsg_Diagnostic)(nil), // 32: dota.CCLCMsg_Diagnostic + (*CSource2Metrics_MatchPerfSummary_Notification)(nil), // 33: dota.CSource2Metrics_MatchPerfSummary_Notification + (*CSVCMsg_ServerInfo)(nil), // 34: dota.CSVCMsg_ServerInfo + (*CSVCMsg_ClassInfo)(nil), // 35: dota.CSVCMsg_ClassInfo + (*CSVCMsg_SetPause)(nil), // 36: dota.CSVCMsg_SetPause + (*CSVCMsg_VoiceInit)(nil), // 37: dota.CSVCMsg_VoiceInit + (*CSVCMsg_Print)(nil), // 38: dota.CSVCMsg_Print + (*CSVCMsg_Sounds)(nil), // 39: dota.CSVCMsg_Sounds + (*CSVCMsg_Prefetch)(nil), // 40: dota.CSVCMsg_Prefetch + (*CSVCMsg_SetView)(nil), // 41: dota.CSVCMsg_SetView + (*CSVCMsg_FixAngle)(nil), // 42: dota.CSVCMsg_FixAngle + (*CSVCMsg_CrosshairAngle)(nil), // 43: dota.CSVCMsg_CrosshairAngle + (*CSVCMsg_BSPDecal)(nil), // 44: dota.CSVCMsg_BSPDecal + (*CSVCMsg_SplitScreen)(nil), // 45: dota.CSVCMsg_SplitScreen + (*CSVCMsg_GetCvarValue)(nil), // 46: dota.CSVCMsg_GetCvarValue + (*CSVCMsg_Menu)(nil), // 47: dota.CSVCMsg_Menu + (*CSVCMsg_UserMessage)(nil), // 48: dota.CSVCMsg_UserMessage + (*CSVCMsg_SendTable)(nil), // 49: dota.CSVCMsg_SendTable + (*CSVCMsg_GameEventList)(nil), // 50: dota.CSVCMsg_GameEventList + (*CSVCMsg_PacketEntities)(nil), // 51: dota.CSVCMsg_PacketEntities + (*CSVCMsg_TempEntities)(nil), // 52: dota.CSVCMsg_TempEntities + (*CSVCMsg_CreateStringTable)(nil), // 53: dota.CSVCMsg_CreateStringTable + (*CSVCMsg_UpdateStringTable)(nil), // 54: dota.CSVCMsg_UpdateStringTable + (*CSVCMsg_VoiceData)(nil), // 55: dota.CSVCMsg_VoiceData + (*CSVCMsg_PacketReliable)(nil), // 56: dota.CSVCMsg_PacketReliable + (*CSVCMsg_FullFrameSplit)(nil), // 57: dota.CSVCMsg_FullFrameSplit + (*CSVCMsg_HLTVStatus)(nil), // 58: dota.CSVCMsg_HLTVStatus + (*CSVCMsg_ServerSteamID)(nil), // 59: dota.CSVCMsg_ServerSteamID + (*CSVCMsg_CmdKeyValues)(nil), // 60: dota.CSVCMsg_CmdKeyValues + (*CSVCMsg_RconServerDetails)(nil), // 61: dota.CSVCMsg_RconServerDetails + (*CMsgIPCAddress)(nil), // 62: dota.CMsgIPCAddress + (*CMsgServerPeer)(nil), // 63: dota.CMsgServerPeer + (*CSVCMsg_PeerList)(nil), // 64: dota.CSVCMsg_PeerList + (*CSVCMsg_ClearAllStringTables)(nil), // 65: dota.CSVCMsg_ClearAllStringTables + (*ProtoFlattenedSerializerFieldT)(nil), // 66: dota.ProtoFlattenedSerializerField_t + (*ProtoFlattenedSerializerT)(nil), // 67: dota.ProtoFlattenedSerializer_t + (*CSVCMsg_FlattenedSerializer)(nil), // 68: dota.CSVCMsg_FlattenedSerializer + (*CSVCMsg_StopSound)(nil), // 69: dota.CSVCMsg_StopSound + (*CBidirMsg_RebroadcastGameEvent)(nil), // 70: dota.CBidirMsg_RebroadcastGameEvent + (*CBidirMsg_RebroadcastSource)(nil), // 71: dota.CBidirMsg_RebroadcastSource + (*CBidirMsg_PredictionEvent)(nil), // 72: dota.CBidirMsg_PredictionEvent + (*CMsgServerNetworkStats)(nil), // 73: dota.CMsgServerNetworkStats + (*CSVCMsg_HltvReplay)(nil), // 74: dota.CSVCMsg_HltvReplay + (*CCLCMsg_HltvReplay)(nil), // 75: dota.CCLCMsg_HltvReplay + (*CSVCMsg_Broadcast_Command)(nil), // 76: dota.CSVCMsg_Broadcast_Command + (*CCLCMsg_HltvFixupOperatorTick)(nil), // 77: dota.CCLCMsg_HltvFixupOperatorTick + (*CSVCMsg_HltvFixupOperatorStatus)(nil), // 78: dota.CSVCMsg_HltvFixupOperatorStatus + (*CMsgServerUserCmd)(nil), // 79: dota.CMsgServerUserCmd + (*CSVCMsg_UserCommands)(nil), // 80: dota.CSVCMsg_UserCommands + (*CSource2Metrics_MatchPerfSummary_Notification_Client)(nil), // 81: dota.CSource2Metrics_MatchPerfSummary_Notification.Client + (*CSVCMsg_ClassInfoClassT)(nil), // 82: dota.CSVCMsg_ClassInfo.class_t + (*CSVCMsg_SoundsSounddataT)(nil), // 83: dota.CSVCMsg_Sounds.sounddata_t + (*CSVCMsg_SendTableSendpropT)(nil), // 84: dota.CSVCMsg_SendTable.sendprop_t + (*CSVCMsg_GameEventListKeyT)(nil), // 85: dota.CSVCMsg_GameEventList.key_t + (*CSVCMsg_GameEventListDescriptorT)(nil), // 86: dota.CSVCMsg_GameEventList.descriptor_t + (*CSVCMsg_PacketEntitiesAlternateBaselineT)(nil), // 87: dota.CSVCMsg_PacketEntities.alternate_baseline_t + (*CSVCMsg_PacketEntitiesNonTransmittedEntitiesT)(nil), // 88: dota.CSVCMsg_PacketEntities.non_transmitted_entities_t + (*ProtoFlattenedSerializerFieldTPolymorphicFieldT)(nil), // 89: dota.ProtoFlattenedSerializerField_t.polymorphic_field_t + (*CMsgServerNetworkStats_Port)(nil), // 90: dota.CMsgServerNetworkStats.Port + (*CMsgServerNetworkStats_Player)(nil), // 91: dota.CMsgServerNetworkStats.Player + (*CSVCMsg_GameSessionConfiguration)(nil), // 92: dota.CSVCMsg_GameSessionConfiguration + (*CMsgQAngle)(nil), // 93: dota.CMsgQAngle + (*CMsgVector)(nil), // 94: dota.CMsgVector } var file_netmessages_proto_depIdxs = []int32{ 2, // 0: dota.CMsgVoiceAudio.format:type_name -> dota.VoiceDataFormat_t - 14, // 1: dota.CCLCMsg_VoiceData.audio:type_name -> dota.CMsgVoiceAudio + 15, // 1: dota.CCLCMsg_VoiceData.audio:type_name -> dota.CMsgVoiceAudio 3, // 2: dota.CCLCMsg_RequestPause.pause_type:type_name -> dota.RequestPause_t - 28, // 3: dota.CMsgSource2VProfLiteReport.total:type_name -> dota.CMsgSource2VProfLiteReportItem - 28, // 4: dota.CMsgSource2VProfLiteReport.items:type_name -> dota.CMsgSource2VProfLiteReportItem - 27, // 5: dota.CCLCMsg_Diagnostic.system_specs:type_name -> dota.CMsgSource2SystemSpecs - 29, // 6: dota.CCLCMsg_Diagnostic.vprof_report:type_name -> dota.CMsgSource2VProfLiteReport - 29, // 7: dota.CSource2Metrics_MatchPerfSummary_Notification.server_profile:type_name -> dota.CMsgSource2VProfLiteReport - 78, // 8: dota.CSource2Metrics_MatchPerfSummary_Notification.clients:type_name -> dota.CSource2Metrics_MatchPerfSummary_Notification.Client - 89, // 9: dota.CSVCMsg_ServerInfo.game_session_config:type_name -> dota.CSVCMsg_GameSessionConfiguration - 79, // 10: dota.CSVCMsg_ClassInfo.classes:type_name -> dota.CSVCMsg_ClassInfo.class_t - 80, // 11: dota.CSVCMsg_Sounds.sounds:type_name -> dota.CSVCMsg_Sounds.sounddata_t + 29, // 3: dota.CMsgSource2VProfLiteReport.total:type_name -> dota.CMsgSource2VProfLiteReportItem + 29, // 4: dota.CMsgSource2VProfLiteReport.items:type_name -> dota.CMsgSource2VProfLiteReportItem + 28, // 5: dota.CCLCMsg_Diagnostic.system_specs:type_name -> dota.CMsgSource2SystemSpecs + 30, // 6: dota.CCLCMsg_Diagnostic.vprof_report:type_name -> dota.CMsgSource2VProfLiteReport + 30, // 7: dota.CSource2Metrics_MatchPerfSummary_Notification.server_profile:type_name -> dota.CMsgSource2VProfLiteReport + 81, // 8: dota.CSource2Metrics_MatchPerfSummary_Notification.clients:type_name -> dota.CSource2Metrics_MatchPerfSummary_Notification.Client + 92, // 9: dota.CSVCMsg_ServerInfo.game_session_config:type_name -> dota.CSVCMsg_GameSessionConfiguration + 82, // 10: dota.CSVCMsg_ClassInfo.classes:type_name -> dota.CSVCMsg_ClassInfo.class_t + 83, // 11: dota.CSVCMsg_Sounds.sounds:type_name -> dota.CSVCMsg_Sounds.sounddata_t 4, // 12: dota.CSVCMsg_Prefetch.resource_type:type_name -> dota.PrefetchType - 90, // 13: dota.CSVCMsg_FixAngle.angle:type_name -> dota.CMsgQAngle - 90, // 14: dota.CSVCMsg_CrosshairAngle.angle:type_name -> dota.CMsgQAngle - 91, // 15: dota.CSVCMsg_BSPDecal.pos:type_name -> dota.CMsgVector + 93, // 13: dota.CSVCMsg_FixAngle.angle:type_name -> dota.CMsgQAngle + 93, // 14: dota.CSVCMsg_CrosshairAngle.angle:type_name -> dota.CMsgQAngle + 94, // 15: dota.CSVCMsg_BSPDecal.pos:type_name -> dota.CMsgVector 5, // 16: dota.CSVCMsg_SplitScreen.type:type_name -> dota.ESplitScreenMessageType - 81, // 17: dota.CSVCMsg_SendTable.props:type_name -> dota.CSVCMsg_SendTable.sendprop_t - 83, // 18: dota.CSVCMsg_GameEventList.descriptors:type_name -> dota.CSVCMsg_GameEventList.descriptor_t - 84, // 19: dota.CSVCMsg_PacketEntities.alternate_baselines:type_name -> dota.CSVCMsg_PacketEntities.alternate_baseline_t - 85, // 20: dota.CSVCMsg_PacketEntities.non_transmitted_entities:type_name -> dota.CSVCMsg_PacketEntities.non_transmitted_entities_t - 14, // 21: dota.CSVCMsg_VoiceData.audio:type_name -> dota.CMsgVoiceAudio - 60, // 22: dota.CMsgServerPeer.ipc:type_name -> dota.CMsgIPCAddress - 61, // 23: dota.CSVCMsg_PeerList.peer:type_name -> dota.CMsgServerPeer - 86, // 24: dota.ProtoFlattenedSerializerField_t.polymorphic_types:type_name -> dota.ProtoFlattenedSerializerField_t.polymorphic_field_t - 65, // 25: dota.CSVCMsg_FlattenedSerializer.serializers:type_name -> dota.ProtoFlattenedSerializer_t - 64, // 26: dota.CSVCMsg_FlattenedSerializer.fields:type_name -> dota.ProtoFlattenedSerializerField_t - 87, // 27: dota.CMsgServerNetworkStats.ports:type_name -> dota.CMsgServerNetworkStats.Port - 88, // 28: dota.CMsgServerNetworkStats.players:type_name -> dota.CMsgServerNetworkStats.Player - 91, // 29: dota.CCLCMsg_HltvFixupOperatorTick.origin:type_name -> dota.CMsgVector - 90, // 30: dota.CCLCMsg_HltvFixupOperatorTick.eye_angles:type_name -> dota.CMsgQAngle - 91, // 31: dota.CCLCMsg_HltvFixupOperatorTick.view_offset:type_name -> dota.CMsgVector - 76, // 32: dota.CSVCMsg_UserCommands.commands:type_name -> dota.CMsgServerUserCmd - 27, // 33: dota.CSource2Metrics_MatchPerfSummary_Notification.Client.system_specs:type_name -> dota.CMsgSource2SystemSpecs - 29, // 34: dota.CSource2Metrics_MatchPerfSummary_Notification.Client.profile:type_name -> dota.CMsgSource2VProfLiteReport - 82, // 35: dota.CSVCMsg_GameEventList.descriptor_t.keys:type_name -> dota.CSVCMsg_GameEventList.key_t + 84, // 17: dota.CSVCMsg_SendTable.props:type_name -> dota.CSVCMsg_SendTable.sendprop_t + 86, // 18: dota.CSVCMsg_GameEventList.descriptors:type_name -> dota.CSVCMsg_GameEventList.descriptor_t + 87, // 19: dota.CSVCMsg_PacketEntities.alternate_baselines:type_name -> dota.CSVCMsg_PacketEntities.alternate_baseline_t + 88, // 20: dota.CSVCMsg_PacketEntities.non_transmitted_entities:type_name -> dota.CSVCMsg_PacketEntities.non_transmitted_entities_t + 15, // 21: dota.CSVCMsg_VoiceData.audio:type_name -> dota.CMsgVoiceAudio + 62, // 22: dota.CMsgServerPeer.ipc:type_name -> dota.CMsgIPCAddress + 63, // 23: dota.CSVCMsg_PeerList.peer:type_name -> dota.CMsgServerPeer + 89, // 24: dota.ProtoFlattenedSerializerField_t.polymorphic_types:type_name -> dota.ProtoFlattenedSerializerField_t.polymorphic_field_t + 67, // 25: dota.CSVCMsg_FlattenedSerializer.serializers:type_name -> dota.ProtoFlattenedSerializer_t + 66, // 26: dota.CSVCMsg_FlattenedSerializer.fields:type_name -> dota.ProtoFlattenedSerializerField_t + 90, // 27: dota.CMsgServerNetworkStats.ports:type_name -> dota.CMsgServerNetworkStats.Port + 91, // 28: dota.CMsgServerNetworkStats.players:type_name -> dota.CMsgServerNetworkStats.Player + 94, // 29: dota.CCLCMsg_HltvFixupOperatorTick.origin:type_name -> dota.CMsgVector + 93, // 30: dota.CCLCMsg_HltvFixupOperatorTick.eye_angles:type_name -> dota.CMsgQAngle + 94, // 31: dota.CCLCMsg_HltvFixupOperatorTick.view_offset:type_name -> dota.CMsgVector + 79, // 32: dota.CSVCMsg_UserCommands.commands:type_name -> dota.CMsgServerUserCmd + 28, // 33: dota.CSource2Metrics_MatchPerfSummary_Notification.Client.system_specs:type_name -> dota.CMsgSource2SystemSpecs + 30, // 34: dota.CSource2Metrics_MatchPerfSummary_Notification.Client.profile:type_name -> dota.CMsgSource2VProfLiteReport + 85, // 35: dota.CSVCMsg_GameEventList.descriptor_t.keys:type_name -> dota.CSVCMsg_GameEventList.key_t 36, // [36:36] is the sub-list for method output_type 36, // [36:36] is the sub-list for method input_type 36, // [36:36] is the sub-list for extension type_name @@ -7838,7 +8441,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_Diagnostic); i { + switch v := v.(*CMsgSource2NetworkFlowQuality); i { case 0: return &v.state case 1: @@ -7850,7 +8453,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSource2Metrics_MatchPerfSummary_Notification); i { + switch v := v.(*CCLCMsg_Diagnostic); i { case 0: return &v.state case 1: @@ -7862,7 +8465,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ServerInfo); i { + switch v := v.(*CSource2Metrics_MatchPerfSummary_Notification); i { case 0: return &v.state case 1: @@ -7874,7 +8477,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ClassInfo); i { + switch v := v.(*CSVCMsg_ServerInfo); i { case 0: return &v.state case 1: @@ -7886,7 +8489,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SetPause); i { + switch v := v.(*CSVCMsg_ClassInfo); i { case 0: return &v.state case 1: @@ -7898,7 +8501,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_VoiceInit); i { + switch v := v.(*CSVCMsg_SetPause); i { case 0: return &v.state case 1: @@ -7910,7 +8513,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Print); i { + switch v := v.(*CSVCMsg_VoiceInit); i { case 0: return &v.state case 1: @@ -7922,7 +8525,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Sounds); i { + switch v := v.(*CSVCMsg_Print); i { case 0: return &v.state case 1: @@ -7934,7 +8537,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Prefetch); i { + switch v := v.(*CSVCMsg_Sounds); i { case 0: return &v.state case 1: @@ -7946,7 +8549,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SetView); i { + switch v := v.(*CSVCMsg_Prefetch); i { case 0: return &v.state case 1: @@ -7958,7 +8561,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_FixAngle); i { + switch v := v.(*CSVCMsg_SetView); i { case 0: return &v.state case 1: @@ -7970,7 +8573,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CrosshairAngle); i { + switch v := v.(*CSVCMsg_FixAngle); i { case 0: return &v.state case 1: @@ -7982,7 +8585,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_BSPDecal); i { + switch v := v.(*CSVCMsg_CrosshairAngle); i { case 0: return &v.state case 1: @@ -7994,7 +8597,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SplitScreen); i { + switch v := v.(*CSVCMsg_BSPDecal); i { case 0: return &v.state case 1: @@ -8006,7 +8609,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GetCvarValue); i { + switch v := v.(*CSVCMsg_SplitScreen); i { case 0: return &v.state case 1: @@ -8018,7 +8621,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Menu); i { + switch v := v.(*CSVCMsg_GetCvarValue); i { case 0: return &v.state case 1: @@ -8030,7 +8633,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_UserMessage); i { + switch v := v.(*CSVCMsg_Menu); i { case 0: return &v.state case 1: @@ -8042,7 +8645,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SendTable); i { + switch v := v.(*CSVCMsg_UserMessage); i { case 0: return &v.state case 1: @@ -8054,7 +8657,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventList); i { + switch v := v.(*CSVCMsg_SendTable); i { case 0: return &v.state case 1: @@ -8066,7 +8669,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PacketEntities); i { + switch v := v.(*CSVCMsg_GameEventList); i { case 0: return &v.state case 1: @@ -8078,7 +8681,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_TempEntities); i { + switch v := v.(*CSVCMsg_PacketEntities); i { case 0: return &v.state case 1: @@ -8090,7 +8693,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CreateStringTable); i { + switch v := v.(*CSVCMsg_TempEntities); i { case 0: return &v.state case 1: @@ -8102,7 +8705,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_UpdateStringTable); i { + switch v := v.(*CSVCMsg_CreateStringTable); i { case 0: return &v.state case 1: @@ -8114,7 +8717,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_VoiceData); i { + switch v := v.(*CSVCMsg_UpdateStringTable); i { case 0: return &v.state case 1: @@ -8126,7 +8729,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PacketReliable); i { + switch v := v.(*CSVCMsg_VoiceData); i { case 0: return &v.state case 1: @@ -8138,7 +8741,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_FullFrameSplit); i { + switch v := v.(*CSVCMsg_PacketReliable); i { case 0: return &v.state case 1: @@ -8150,7 +8753,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_HLTVStatus); i { + switch v := v.(*CSVCMsg_FullFrameSplit); i { case 0: return &v.state case 1: @@ -8162,7 +8765,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ServerSteamID); i { + switch v := v.(*CSVCMsg_HLTVStatus); i { case 0: return &v.state case 1: @@ -8174,7 +8777,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CmdKeyValues); i { + switch v := v.(*CSVCMsg_ServerSteamID); i { case 0: return &v.state case 1: @@ -8186,7 +8789,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_RconServerDetails); i { + switch v := v.(*CSVCMsg_CmdKeyValues); i { case 0: return &v.state case 1: @@ -8198,7 +8801,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgIPCAddress); i { + switch v := v.(*CSVCMsg_RconServerDetails); i { case 0: return &v.state case 1: @@ -8210,7 +8813,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerPeer); i { + switch v := v.(*CMsgIPCAddress); i { case 0: return &v.state case 1: @@ -8222,7 +8825,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PeerList); i { + switch v := v.(*CMsgServerPeer); i { case 0: return &v.state case 1: @@ -8234,7 +8837,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ClearAllStringTables); i { + switch v := v.(*CSVCMsg_PeerList); i { case 0: return &v.state case 1: @@ -8246,7 +8849,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProtoFlattenedSerializerFieldT); i { + switch v := v.(*CSVCMsg_ClearAllStringTables); i { case 0: return &v.state case 1: @@ -8258,7 +8861,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProtoFlattenedSerializerT); i { + switch v := v.(*ProtoFlattenedSerializerFieldT); i { case 0: return &v.state case 1: @@ -8270,7 +8873,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_FlattenedSerializer); i { + switch v := v.(*ProtoFlattenedSerializerT); i { case 0: return &v.state case 1: @@ -8282,7 +8885,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_StopSound); i { + switch v := v.(*CSVCMsg_FlattenedSerializer); i { case 0: return &v.state case 1: @@ -8294,7 +8897,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CBidirMsg_RebroadcastGameEvent); i { + switch v := v.(*CSVCMsg_StopSound); i { case 0: return &v.state case 1: @@ -8306,7 +8909,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CBidirMsg_RebroadcastSource); i { + switch v := v.(*CBidirMsg_RebroadcastGameEvent); i { case 0: return &v.state case 1: @@ -8318,7 +8921,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerNetworkStats); i { + switch v := v.(*CBidirMsg_RebroadcastSource); i { case 0: return &v.state case 1: @@ -8330,7 +8933,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_HltvReplay); i { + switch v := v.(*CBidirMsg_PredictionEvent); i { case 0: return &v.state case 1: @@ -8342,7 +8945,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_HltvReplay); i { + switch v := v.(*CMsgServerNetworkStats); i { case 0: return &v.state case 1: @@ -8354,7 +8957,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Broadcast_Command); i { + switch v := v.(*CSVCMsg_HltvReplay); i { case 0: return &v.state case 1: @@ -8366,7 +8969,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_HltvFixupOperatorTick); i { + switch v := v.(*CCLCMsg_HltvReplay); i { case 0: return &v.state case 1: @@ -8378,7 +8981,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_HltvFixupOperatorStatus); i { + switch v := v.(*CSVCMsg_Broadcast_Command); i { case 0: return &v.state case 1: @@ -8390,7 +8993,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerUserCmd); i { + switch v := v.(*CCLCMsg_HltvFixupOperatorTick); i { case 0: return &v.state case 1: @@ -8402,7 +9005,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_UserCommands); i { + switch v := v.(*CSVCMsg_HltvFixupOperatorStatus); i { case 0: return &v.state case 1: @@ -8414,7 +9017,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSource2Metrics_MatchPerfSummary_Notification_Client); i { + switch v := v.(*CMsgServerUserCmd); i { case 0: return &v.state case 1: @@ -8426,7 +9029,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ClassInfoClassT); i { + switch v := v.(*CSVCMsg_UserCommands); i { case 0: return &v.state case 1: @@ -8438,7 +9041,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SoundsSounddataT); i { + switch v := v.(*CSource2Metrics_MatchPerfSummary_Notification_Client); i { case 0: return &v.state case 1: @@ -8450,7 +9053,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SendTableSendpropT); i { + switch v := v.(*CSVCMsg_ClassInfoClassT); i { case 0: return &v.state case 1: @@ -8462,7 +9065,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventListKeyT); i { + switch v := v.(*CSVCMsg_SoundsSounddataT); i { case 0: return &v.state case 1: @@ -8474,7 +9077,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventListDescriptorT); i { + switch v := v.(*CSVCMsg_SendTableSendpropT); i { case 0: return &v.state case 1: @@ -8486,7 +9089,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PacketEntitiesAlternateBaselineT); i { + switch v := v.(*CSVCMsg_GameEventListKeyT); i { case 0: return &v.state case 1: @@ -8498,7 +9101,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PacketEntitiesNonTransmittedEntitiesT); i { + switch v := v.(*CSVCMsg_GameEventListDescriptorT); i { case 0: return &v.state case 1: @@ -8510,7 +9113,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProtoFlattenedSerializerFieldTPolymorphicFieldT); i { + switch v := v.(*CSVCMsg_PacketEntitiesAlternateBaselineT); i { case 0: return &v.state case 1: @@ -8522,7 +9125,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgServerNetworkStats_Port); i { + switch v := v.(*CSVCMsg_PacketEntitiesNonTransmittedEntitiesT); i { case 0: return &v.state case 1: @@ -8534,6 +9137,30 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProtoFlattenedSerializerFieldTPolymorphicFieldT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgServerNetworkStats_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgServerNetworkStats_Player); i { case 0: return &v.state @@ -8551,8 +9178,8 @@ func file_netmessages_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_netmessages_proto_rawDesc, - NumEnums: 12, - NumMessages: 77, + NumEnums: 13, + NumMessages: 79, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/netmessages.proto b/dota/netmessages.proto index 2824d592..2b5ec4f4 100644 --- a/dota/netmessages.proto +++ b/dota/netmessages.proto @@ -100,6 +100,7 @@ enum Bidirectional_Messages { bi_RebroadcastGameEvent = 16; bi_RebroadcastSource = 17; bi_GameEvent = 18; + bi_PredictionEvent = 19; } enum Bidirectional_Messages_LowFrequency { @@ -217,6 +218,7 @@ message CMsgSource2SystemSpecs { message CMsgSource2VProfLiteReportItem { optional string name = 1; optional uint32 active_samples = 2; + optional uint32 active_samples_1secmax = 4; optional uint32 usec_max = 3; optional uint32 usec_avg_active = 11; optional uint32 usec_p50_active = 12; @@ -224,6 +226,14 @@ message CMsgSource2VProfLiteReportItem { optional uint32 usec_avg_all = 21; optional uint32 usec_p50_all = 22; optional uint32 usec_p99_all = 23; + optional uint32 usec_1secmax_avg_active = 31; + optional uint32 usec_1secmax_p50_active = 32; + optional uint32 usec_1secmax_p95_active = 33; + optional uint32 usec_1secmax_p99_active = 34; + optional uint32 usec_1secmax_avg_all = 41; + optional uint32 usec_1secmax_p50_all = 42; + optional uint32 usec_1secmax_p95_all = 43; + optional uint32 usec_1secmax_p99_all = 44; } message CMsgSource2VProfLiteReport { @@ -232,6 +242,38 @@ message CMsgSource2VProfLiteReport { optional uint32 discarded_frames = 3; } +message CMsgSource2NetworkFlowQuality { + optional uint32 duration = 1; + optional uint64 bytes_total = 5; + optional uint64 bytes_total_reliable = 6; + optional uint64 bytes_total_voice = 7; + optional uint32 bytes_sec_p95 = 10; + optional uint32 bytes_sec_p99 = 11; + optional uint32 enginemsgs_total = 20; + optional uint32 enginemsgs_sec_p95 = 21; + optional uint32 enginemsgs_sec_p99 = 22; + optional uint32 ticks_total = 40; + optional uint32 ticks_good = 41; + optional uint32 ticks_good_almost_late = 42; + optional uint32 ticks_fixed_dropped = 43; + optional uint32 ticks_fixed_late = 44; + optional uint32 ticks_bad_dropped = 45; + optional uint32 ticks_bad_late = 46; + optional uint32 ticks_bad_other = 47; + optional uint32 tick_missrate_samples_total = 50; + optional uint32 tick_missrate_samples_perfect = 51; + optional uint32 tick_missrate_samples_perfectnet = 52; + optional uint32 tick_missratenet_p75_x10 = 53; + optional uint32 tick_missratenet_p95_x10 = 54; + optional uint32 tick_missratenet_p99_x10 = 55; + optional sint32 recvmargin_p1 = 61; + optional sint32 recvmargin_p5 = 62; + optional sint32 recvmargin_p25 = 63; + optional sint32 recvmargin_p50 = 64; + optional sint32 recvmargin_p75 = 65; + optional sint32 recvmargin_p95 = 66; +} + message CCLCMsg_Diagnostic { optional CMsgSource2SystemSpecs system_specs = 1; optional CMsgSource2VProfLiteReport vprof_report = 2; @@ -432,7 +474,7 @@ message CSVCMsg_PacketEntities { optional uint32 server_tick = 12; optional bytes serialized_entities = 13; repeated CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15; - optional uint32 has_pvs_vis_bits = 16; + optional uint32 has_pvs_vis_bits_deprecated = 16; repeated sint32 cmd_recv_status = 22; optional CSVCMsg_PacketEntities.non_transmitted_entities_t non_transmitted_entities = 19; optional uint32 cq_starved_command_ticks = 20; @@ -578,6 +620,18 @@ message CBidirMsg_RebroadcastSource { optional int32 eventsource = 1; } +message CBidirMsg_PredictionEvent { + enum ESyncType { + ST_Tick = 0; + ST_UserCmdNum = 1; + } + + required uint32 event_id = 1; + required bytes event_data = 2; + optional uint32 sync_type = 3; + optional uint32 sync_val_uint32 = 4; +} + message CMsgServerNetworkStats { message Port { optional int32 port = 1; diff --git a/dota/network_connection.pb.go b/dota/network_connection.pb.go index 2f61670d..41114160 100644 --- a/dota/network_connection.pb.go +++ b/dota/network_connection.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: network_connection.proto package dota @@ -142,6 +142,9 @@ const ( ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_SUICIDE ENetworkDisconnectionReason = 159 ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN ENetworkDisconnectionReason = 160 ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET ENetworkDisconnectionReason = 161 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION ENetworkDisconnectionReason = 162 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_VACNETABNORMALBEHAVIOR ENetworkDisconnectionReason = 163 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_INSECURECLIENT ENetworkDisconnectionReason = 164 ) // Enum value maps for ENetworkDisconnectionReason. @@ -265,6 +268,9 @@ var ( 159: "NETWORK_DISCONNECT_KICKED_SUICIDE", 160: "NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN", 161: "NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET", + 162: "NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION", + 163: "NETWORK_DISCONNECT_KICKED_VACNETABNORMALBEHAVIOR", + 164: "NETWORK_DISCONNECT_KICKED_INSECURECLIENT", } ENetworkDisconnectionReason_value = map[string]int32{ "NETWORK_DISCONNECT_INVALID": 0, @@ -385,6 +391,9 @@ var ( "NETWORK_DISCONNECT_KICKED_SUICIDE": 159, "NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN": 160, "NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET": 161, + "NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION": 162, + "NETWORK_DISCONNECT_KICKED_VACNETABNORMALBEHAVIOR": 163, + "NETWORK_DISCONNECT_KICKED_INSECURECLIENT": 164, } ) @@ -434,12 +443,22 @@ var file_network_connection_proto_extTypes = []protoimpl.ExtensionInfo{ Tag: "bytes,50500,opt,name=network_connection_token", Filename: "network_connection.proto", }, + { + ExtendedType: (*descriptorpb.EnumValueOptions)(nil), + ExtensionType: (*string)(nil), + Field: 50501, + Name: "dota.network_connection_detail_token", + Tag: "bytes,50501,opt,name=network_connection_detail_token", + Filename: "network_connection.proto", + }, } // Extension fields to descriptorpb.EnumValueOptions. var ( // optional string network_connection_token = 50500; E_NetworkConnectionToken = &file_network_connection_proto_extTypes[0] + // optional string network_connection_detail_token = 50501; + E_NetworkConnectionDetailToken = &file_network_connection_proto_extTypes[1] ) var File_network_connection_proto protoreflect.FileDescriptor @@ -449,7 +468,7 @@ var file_network_connection_proto_rawDesc = []byte{ 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2a, 0xd0, 0x27, 0x0a, 0x1b, 0x45, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, + 0x74, 0x6f, 0x2a, 0xe6, 0x28, 0x0a, 0x1b, 0x45, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, @@ -766,15 +785,31 @@ var file_network_connection_proto_rawDesc = []byte{ 0x4f, 0x47, 0x49, 0x4e, 0x10, 0xa0, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x54, 0x49, 0x43, 0x4b, - 0x45, 0x54, 0x10, 0xa1, 0x01, 0x3a, 0x5d, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc4, 0x8a, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, - 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x45, 0x54, 0x10, 0xa1, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, + 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0xa2, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, + 0x45, 0x44, 0x5f, 0x56, 0x41, 0x43, 0x4e, 0x45, 0x54, 0x41, 0x42, 0x4e, 0x4f, 0x52, 0x4d, 0x41, + 0x4c, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x10, 0xa3, 0x01, 0x12, 0x2d, 0x0a, 0x28, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x43, 0x55, + 0x52, 0x45, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0xa4, 0x01, 0x3a, 0x5d, 0x0a, 0x18, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc4, 0x8a, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x6a, 0x0a, 0x1f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0xc5, 0x8a, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, + 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -796,10 +831,11 @@ var file_network_connection_proto_goTypes = []interface{}{ } var file_network_connection_proto_depIdxs = []int32{ 1, // 0: dota.network_connection_token:extendee -> google.protobuf.EnumValueOptions - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 0, // [0:1] is the sub-list for extension extendee + 1, // 1: dota.network_connection_detail_token:extendee -> google.protobuf.EnumValueOptions + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 0, // [0:2] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } @@ -815,7 +851,7 @@ func file_network_connection_proto_init() { RawDescriptor: file_network_connection_proto_rawDesc, NumEnums: 1, NumMessages: 0, - NumExtensions: 1, + NumExtensions: 2, NumServices: 0, }, GoTypes: file_network_connection_proto_goTypes, diff --git a/dota/network_connection.proto b/dota/network_connection.proto index 1b54531c..14e0e90b 100644 --- a/dota/network_connection.proto +++ b/dota/network_connection.proto @@ -7,6 +7,7 @@ import "google/protobuf/descriptor.proto"; extend google.protobuf.EnumValueOptions { optional string network_connection_token = 50500; + optional string network_connection_detail_token = 50501; } enum ENetworkDisconnectionReason { @@ -128,4 +129,7 @@ enum ENetworkDisconnectionReason { NETWORK_DISCONNECT_KICKED_SUICIDE = 159; NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN = 160; NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161; + NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION = 162; + NETWORK_DISCONNECT_KICKED_VACNETABNORMALBEHAVIOR = 163; + NETWORK_DISCONNECT_KICKED_INSECURECLIENT = 164; } diff --git a/dota/networkbasetypes.pb.go b/dota/networkbasetypes.pb.go index 22bec9c5..f77ab64d 100644 --- a/dota/networkbasetypes.pb.go +++ b/dota/networkbasetypes.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: networkbasetypes.proto package dota @@ -923,16 +923,15 @@ type CNETMsg_Tick struct { unknownFields protoimpl.UnknownFields Tick *uint32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` - HostFrametime *uint32 `protobuf:"varint,2,opt,name=host_frametime,json=hostFrametime" json:"host_frametime,omitempty"` - HostFrametimeStdDeviation *uint32 `protobuf:"varint,3,opt,name=host_frametime_std_deviation,json=hostFrametimeStdDeviation" json:"host_frametime_std_deviation,omitempty"` HostComputationtime *uint32 `protobuf:"varint,4,opt,name=host_computationtime,json=hostComputationtime" json:"host_computationtime,omitempty"` HostComputationtimeStdDeviation *uint32 `protobuf:"varint,5,opt,name=host_computationtime_std_deviation,json=hostComputationtimeStdDeviation" json:"host_computationtime_std_deviation,omitempty"` - HostFramestarttimeStdDeviation *uint32 `protobuf:"varint,6,opt,name=host_framestarttime_std_deviation,json=hostFramestarttimeStdDeviation" json:"host_framestarttime_std_deviation,omitempty"` - HostLoss *uint32 `protobuf:"varint,7,opt,name=host_loss,json=hostLoss" json:"host_loss,omitempty"` + LegacyHostLoss *uint32 `protobuf:"varint,7,opt,name=legacy_host_loss,json=legacyHostLoss" json:"legacy_host_loss,omitempty"` HostUnfilteredFrametime *uint32 `protobuf:"varint,8,opt,name=host_unfiltered_frametime,json=hostUnfilteredFrametime" json:"host_unfiltered_frametime,omitempty"` HltvReplayFlags *uint32 `protobuf:"varint,9,opt,name=hltv_replay_flags,json=hltvReplayFlags" json:"hltv_replay_flags,omitempty"` ExpectedLongTick *uint32 `protobuf:"varint,10,opt,name=expected_long_tick,json=expectedLongTick" json:"expected_long_tick,omitempty"` ExpectedLongTickReason *string `protobuf:"bytes,11,opt,name=expected_long_tick_reason,json=expectedLongTickReason" json:"expected_long_tick_reason,omitempty"` + HostFrameDroppedPctX10 *uint32 `protobuf:"varint,12,opt,name=host_frame_dropped_pct_x10,json=hostFrameDroppedPctX10" json:"host_frame_dropped_pct_x10,omitempty"` + HostFrameIrregularArrivalPctX10 *uint32 `protobuf:"varint,13,opt,name=host_frame_irregular_arrival_pct_x10,json=hostFrameIrregularArrivalPctX10" json:"host_frame_irregular_arrival_pct_x10,omitempty"` } func (x *CNETMsg_Tick) Reset() { @@ -974,20 +973,6 @@ func (x *CNETMsg_Tick) GetTick() uint32 { return 0 } -func (x *CNETMsg_Tick) GetHostFrametime() uint32 { - if x != nil && x.HostFrametime != nil { - return *x.HostFrametime - } - return 0 -} - -func (x *CNETMsg_Tick) GetHostFrametimeStdDeviation() uint32 { - if x != nil && x.HostFrametimeStdDeviation != nil { - return *x.HostFrametimeStdDeviation - } - return 0 -} - func (x *CNETMsg_Tick) GetHostComputationtime() uint32 { if x != nil && x.HostComputationtime != nil { return *x.HostComputationtime @@ -1002,16 +987,9 @@ func (x *CNETMsg_Tick) GetHostComputationtimeStdDeviation() uint32 { return 0 } -func (x *CNETMsg_Tick) GetHostFramestarttimeStdDeviation() uint32 { - if x != nil && x.HostFramestarttimeStdDeviation != nil { - return *x.HostFramestarttimeStdDeviation - } - return 0 -} - -func (x *CNETMsg_Tick) GetHostLoss() uint32 { - if x != nil && x.HostLoss != nil { - return *x.HostLoss +func (x *CNETMsg_Tick) GetLegacyHostLoss() uint32 { + if x != nil && x.LegacyHostLoss != nil { + return *x.LegacyHostLoss } return 0 } @@ -1044,6 +1022,20 @@ func (x *CNETMsg_Tick) GetExpectedLongTickReason() string { return "" } +func (x *CNETMsg_Tick) GetHostFrameDroppedPctX10() uint32 { + if x != nil && x.HostFrameDroppedPctX10 != nil { + return *x.HostFrameDroppedPctX10 + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostFrameIrregularArrivalPctX10() uint32 { + if x != nil && x.HostFrameIrregularArrivalPctX10 != nil { + return *x.HostFrameIrregularArrivalPctX10 + } + return 0 +} + type CNETMsg_StringCmd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2344,311 +2336,309 @@ var file_networkbasetypes_proto_rawDesc = []byte{ 0x4f, 0x50, 0x22, 0x2d, 0x0a, 0x17, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x22, 0xc3, 0x04, 0x0a, 0x0c, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x69, + 0x74, 0x22, 0xa8, 0x04, 0x0a, 0x0c, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x68, 0x6f, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, - 0x1c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x19, 0x68, 0x6f, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, - 0x0a, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x68, 0x6f, - 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x4b, 0x0a, 0x22, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x68, - 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, - 0x0a, 0x21, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x68, 0x6f, 0x73, 0x74, 0x46, - 0x72, 0x61, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x64, - 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, - 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, - 0x73, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, - 0x6e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x68, 0x6f, 0x73, 0x74, 0x55, - 0x6e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, - 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x6c, 0x74, 0x76, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x68, - 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2c, - 0x0a, 0x12, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, - 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x39, 0x0a, 0x19, - 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x16, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x69, 0x63, - 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x11, 0x43, 0x4e, 0x45, 0x54, 0x4d, - 0x73, 0x67, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x22, - 0x3f, 0x0a, 0x11, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x56, 0x61, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x73, - 0x22, 0xfe, 0x01, 0x0a, 0x13, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x69, 0x67, - 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, - 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, - 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, - 0x2d, 0x0a, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x64, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x64, 0x64, - 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x64, 0x64, 0x6f, 0x6e, - 0x73, 0x22, 0xe6, 0x02, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x52, 0x04, 0x6b, - 0x65, 0x79, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x76, 0x61, 0x6c, 0x4c, 0x6f, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x5f, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x61, 0x6c, - 0x53, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x76, - 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x76, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x22, 0xa4, 0x01, 0x0a, 0x16, 0x43, - 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, - 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0x4c, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, - 0x63, 0x6b, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x89, 0x07, 0x0a, 0x17, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, - 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x6c, 0x75, 0x6d, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x6c, 0x75, 0x6d, 0x70, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, - 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, 0x70, 0x61, 0x77, - 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x3a, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x3e, 0x0a, - 0x12, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x6e, - 0x67, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x10, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x2e, 0x0a, - 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, - 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6d, - 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, - 0x78, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, - 0x78, 0x75, 0x70, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x6c, - 0x6f, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x14, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x61, 0x76, 0x65, 0x67, - 0x61, 0x6d, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x77, - 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xaf, 0x01, - 0x0a, 0x21, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, - 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, - 0x2e, 0x0a, 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, - 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x70, 0x61, - 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, - 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6d, 0x61, 0x6e, - 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, - 0x9a, 0x01, 0x0a, 0x22, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, - 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x31, 0x0a, 0x14, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x22, 0x68, 0x6f, 0x73, + 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x73, 0x73, + 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x17, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x6e, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, + 0x68, 0x6c, 0x74, 0x76, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x66, 0x6c, 0x61, 0x67, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x68, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x6f, + 0x6e, 0x67, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x65, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x3a, 0x0a, 0x1a, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, + 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x63, 0x74, 0x5f, 0x78, 0x31, 0x30, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x68, 0x6f, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, + 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x50, 0x63, 0x74, 0x58, 0x31, 0x30, 0x12, 0x4d, 0x0a, + 0x24, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x72, 0x72, 0x65, + 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x5f, 0x70, 0x63, + 0x74, 0x5f, 0x78, 0x31, 0x30, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x68, 0x6f, 0x73, + 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x72, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, + 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x50, 0x63, 0x74, 0x58, 0x31, 0x30, 0x22, 0x56, 0x0a, 0x11, + 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6d, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x79, 0x6e, 0x63, 0x22, 0x3f, 0x0a, 0x11, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, + 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x52, 0x07, 0x63, 0x6f, + 0x6e, 0x76, 0x61, 0x72, 0x73, 0x22, 0xfe, 0x01, 0x0a, 0x13, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, + 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x70, 0x61, 0x77, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x22, 0xe6, 0x02, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, + 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, + 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x6b, 0x65, 0x79, + 0x5f, 0x74, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x05, 0x6b, 0x65, 0x79, + 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x4c, 0x6f, 0x6e, 0x67, 0x12, 0x1b, 0x0a, + 0x09, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x76, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, + 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x61, + 0x6c, 0x42, 0x79, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, + 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, + 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x22, + 0xa4, 0x01, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x5f, + 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x4c, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, + 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x89, 0x07, 0x0a, 0x17, 0x43, 0x4e, 0x45, 0x54, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, + 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x6c, 0x75, 0x6d, 0x70, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x6c, 0x75, 0x6d, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x12, 0x34, 0x0a, 0x15, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x15, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x50, + 0x6f, 0x73, 0x12, 0x3e, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, + 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x67, + 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, + 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, + 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6e, + 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x12, 0x28, + 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, + 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, + 0x6c, 0x6f, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x7b, 0x0a, 0x19, - 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, - 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x20, 0x43, 0x4e, 0x45, - 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, - 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0xce, 0x05, 0x0a, 0x20, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, - 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x69, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x2a, - 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, - 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x42, 0x61, 0x63, - 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, - 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x69, 0x73, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x31, 0x5f, 0x6d, 0x61, 0x70, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x31, 0x4d, 0x61, 0x70, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, - 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x6f, - 0x6e, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, - 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, - 0x72, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, - 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x14, 0x43, - 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x76, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x76, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x12, 0x1e, 0x0a, - 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x02, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x08, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x75, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2a, 0xd4, 0x01, - 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x12, - 0x14, 0x0a, 0x10, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, - 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x01, - 0x12, 0x19, 0x0a, 0x15, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, - 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x10, 0x03, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x50, 0x52, 0x45, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, - 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x10, - 0x05, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x49, 0x47, 0x4e, 0x4f, - 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4c, 0x45, 0x56, - 0x45, 0x4c, 0x10, 0x07, 0x2a, 0xcb, 0x02, 0x0a, 0x0c, 0x4e, 0x45, 0x54, 0x5f, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x5f, 0x4e, 0x4f, 0x50, - 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x55, 0x73, 0x65, 0x72, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x5f, 0x54, 0x69, - 0x63, 0x6b, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x43, 0x6d, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x5f, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x6e, 0x65, - 0x74, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x07, 0x12, - 0x17, 0x0a, 0x13, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x6e, 0x65, 0x74, 0x5f, - 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4d, 0x61, 0x6e, 0x69, 0x66, - 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x09, 0x12, 0x22, 0x0a, 0x1e, 0x6e, - 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x53, 0x65, - 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x10, 0x0b, 0x12, - 0x19, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x10, 0x0c, 0x12, 0x20, 0x0a, 0x1c, 0x6e, 0x65, - 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, 0x61, - 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, - 0x6e, 0x65, 0x74, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, - 0x10, 0x0f, 0x2a, 0xcc, 0x02, 0x0a, 0x11, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x74, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x50, 0x41, 0x57, - 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x4e, 0x54, - 0x49, 0x54, 0x49, 0x45, 0x53, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x10, - 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x5f, 0x44, 0x4f, 0x4e, 0x54, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, - 0x54, 0x49, 0x45, 0x53, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, 0x4f, 0x55, - 0x53, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x10, 0x04, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x50, 0x41, - 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x53, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, - 0x08, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4f, - 0x4e, 0x4c, 0x59, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x49, 0x45, 0x53, 0x10, 0x10, 0x12, 0x22, - 0x0a, 0x1e, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, - 0x10, 0x40, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x80, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x53, 0x50, 0x41, 0x57, - 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4e, - 0x45, 0x57, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x80, - 0x02, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, - 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, + 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, + 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x73, 0x70, 0x61, 0x77, + 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x21, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, + 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x22, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x10, 0x73, + 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0x7b, 0x0a, 0x19, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, + 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2a, + 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4e, + 0x0a, 0x20, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, + 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0xce, + 0x05, 0x0a, 0x20, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, + 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x73, 0x61, 0x76, 0x65, 0x67, + 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x61, 0x70, 0x12, + 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, + 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x74, 0x69, + 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, + 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, + 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, + 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x61, + 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x31, + 0x5f, 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x31, 0x4d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, + 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, + 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4c, + 0x6f, 0x63, 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x5f, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6c, + 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x80, 0x02, 0x0a, 0x14, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x02, 0x52, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x6c, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x07, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x73, 0x2a, 0xd4, 0x01, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x49, + 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, + 0x4e, 0x47, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, + 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4e, 0x45, 0x57, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x10, 0x04, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, + 0x50, 0x41, 0x57, 0x4e, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, + 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, + 0x47, 0x45, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x07, 0x2a, 0xcb, 0x02, 0x0a, 0x0c, 0x4e, 0x45, + 0x54, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x6e, 0x65, + 0x74, 0x5f, 0x4e, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x5f, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x6e, + 0x65, 0x74, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6e, 0x65, 0x74, + 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6d, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, + 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x10, 0x06, 0x12, + 0x13, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, + 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x10, 0x08, 0x12, 0x21, 0x0a, + 0x1d, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x09, + 0x12, 0x22, 0x0a, 0x1e, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x63, 0x6b, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, + 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x10, 0x0c, 0x12, + 0x20, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, + 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x76, + 0x65, 0x72, 0x6c, 0x61, 0x79, 0x10, 0x0f, 0x2a, 0xcc, 0x02, 0x0a, 0x11, 0x53, 0x70, 0x61, 0x77, + 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x74, 0x12, 0x27, 0x0a, + 0x23, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x4f, 0x41, + 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x49, 0x45, 0x53, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, + 0x53, 0x41, 0x56, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, 0x4f, 0x4e, 0x54, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, + 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x49, 0x45, 0x53, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x53, + 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x48, + 0x52, 0x4f, 0x4e, 0x4f, 0x55, 0x53, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x10, 0x04, 0x12, 0x26, + 0x0a, 0x22, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x53, + 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x10, 0x08, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x49, + 0x45, 0x4e, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x49, 0x45, + 0x53, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x5f, 0x4c, + 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x40, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x50, 0x41, 0x57, 0x4e, + 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, + 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x80, 0x01, 0x12, 0x27, 0x0a, + 0x22, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x57, 0x4f, + 0x52, 0x4c, 0x44, 0x10, 0x80, 0x02, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, + 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/networkbasetypes.proto b/dota/networkbasetypes.proto index 370d040d..27bf91f6 100644 --- a/dota/networkbasetypes.proto +++ b/dota/networkbasetypes.proto @@ -112,16 +112,15 @@ message CNETMsg_SplitScreenUser { message CNETMsg_Tick { optional uint32 tick = 1; - optional uint32 host_frametime = 2; - optional uint32 host_frametime_std_deviation = 3; optional uint32 host_computationtime = 4; optional uint32 host_computationtime_std_deviation = 5; - optional uint32 host_framestarttime_std_deviation = 6; - optional uint32 host_loss = 7; + optional uint32 legacy_host_loss = 7; optional uint32 host_unfiltered_frametime = 8; optional uint32 hltv_replay_flags = 9; optional uint32 expected_long_tick = 10; optional string expected_long_tick_reason = 11; + optional uint32 host_frame_dropped_pct_x10 = 12; + optional uint32 host_frame_irregular_arrival_pct_x10 = 13; } message CNETMsg_StringCmd { diff --git a/dota/networksystem_protomessages.pb.go b/dota/networksystem_protomessages.pb.go index 90f443bf..12dea9c6 100644 --- a/dota/networksystem_protomessages.pb.go +++ b/dota/networksystem_protomessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: networksystem_protomessages.proto package dota @@ -72,7 +72,8 @@ type NetMessageConnectionClosed struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Reason *uint32 `protobuf:"varint,1,opt,name=reason" json:"reason,omitempty"` + Reason *uint32 `protobuf:"varint,1,opt,name=reason" json:"reason,omitempty"` + Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` } func (x *NetMessageConnectionClosed) Reset() { @@ -114,12 +115,20 @@ func (x *NetMessageConnectionClosed) GetReason() uint32 { return 0 } +func (x *NetMessageConnectionClosed) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + type NetMessageConnectionCrashed struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Reason *uint32 `protobuf:"varint,1,opt,name=reason" json:"reason,omitempty"` + Reason *uint32 `protobuf:"varint,1,opt,name=reason" json:"reason,omitempty"` + Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` } func (x *NetMessageConnectionCrashed) Reset() { @@ -161,6 +170,13 @@ func (x *NetMessageConnectionCrashed) GetReason() uint32 { return 0 } +func (x *NetMessageConnectionCrashed) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + type NetMessagePacketStart struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -246,19 +262,22 @@ var file_networksystem_protomessages_proto_rawDesc = []byte{ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x22, 0x34, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, + 0x74, 0x22, 0x4e, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x72, 0x61, 0x73, 0x68, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x17, - 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x42, 0x25, - 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, - 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, - 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x4f, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x61, 0x73, 0x68, 0x65, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x4e, + 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, + 0x6e, 0x64, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, + 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/networksystem_protomessages.proto b/dota/networksystem_protomessages.proto index a3e3e69d..e7c29a20 100644 --- a/dota/networksystem_protomessages.proto +++ b/dota/networksystem_protomessages.proto @@ -9,10 +9,12 @@ message NetMessageSplitscreenUserChanged { message NetMessageConnectionClosed { optional uint32 reason = 1; + optional string message = 2; } message NetMessageConnectionCrashed { optional uint32 reason = 1; + optional string message = 2; } message NetMessagePacketStart { diff --git a/dota/prediction_events.pb.go b/dota/prediction_events.pb.go new file mode 100644 index 00000000..0d65e953 --- /dev/null +++ b/dota/prediction_events.pb.go @@ -0,0 +1,400 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v3.21.12 +// source: prediction_events.proto + +package dota + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EBasePredictionEvents int32 + +const ( + EBasePredictionEvents_BPE_StringCommand EBasePredictionEvents = 128 + EBasePredictionEvents_BPE_Teleport EBasePredictionEvents = 130 + EBasePredictionEvents_BPE_Diagnostic EBasePredictionEvents = 16384 +) + +// Enum value maps for EBasePredictionEvents. +var ( + EBasePredictionEvents_name = map[int32]string{ + 128: "BPE_StringCommand", + 130: "BPE_Teleport", + 16384: "BPE_Diagnostic", + } + EBasePredictionEvents_value = map[string]int32{ + "BPE_StringCommand": 128, + "BPE_Teleport": 130, + "BPE_Diagnostic": 16384, + } +) + +func (x EBasePredictionEvents) Enum() *EBasePredictionEvents { + p := new(EBasePredictionEvents) + *p = x + return p +} + +func (x EBasePredictionEvents) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EBasePredictionEvents) Descriptor() protoreflect.EnumDescriptor { + return file_prediction_events_proto_enumTypes[0].Descriptor() +} + +func (EBasePredictionEvents) Type() protoreflect.EnumType { + return &file_prediction_events_proto_enumTypes[0] +} + +func (x EBasePredictionEvents) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EBasePredictionEvents) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EBasePredictionEvents(num) + return nil +} + +// Deprecated: Use EBasePredictionEvents.Descriptor instead. +func (EBasePredictionEvents) EnumDescriptor() ([]byte, []int) { + return file_prediction_events_proto_rawDescGZIP(), []int{0} +} + +type CPredictionEvent_Teleport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Origin *CMsgVector `protobuf:"bytes,1,opt,name=origin" json:"origin,omitempty"` + Angles *CMsgQAngle `protobuf:"bytes,2,opt,name=angles" json:"angles,omitempty"` + DropToGroundRange *float32 `protobuf:"fixed32,3,opt,name=drop_to_ground_range,json=dropToGroundRange" json:"drop_to_ground_range,omitempty"` +} + +func (x *CPredictionEvent_Teleport) Reset() { + *x = CPredictionEvent_Teleport{} + if protoimpl.UnsafeEnabled { + mi := &file_prediction_events_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPredictionEvent_Teleport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPredictionEvent_Teleport) ProtoMessage() {} + +func (x *CPredictionEvent_Teleport) ProtoReflect() protoreflect.Message { + mi := &file_prediction_events_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CPredictionEvent_Teleport.ProtoReflect.Descriptor instead. +func (*CPredictionEvent_Teleport) Descriptor() ([]byte, []int) { + return file_prediction_events_proto_rawDescGZIP(), []int{0} +} + +func (x *CPredictionEvent_Teleport) GetOrigin() *CMsgVector { + if x != nil { + return x.Origin + } + return nil +} + +func (x *CPredictionEvent_Teleport) GetAngles() *CMsgQAngle { + if x != nil { + return x.Angles + } + return nil +} + +func (x *CPredictionEvent_Teleport) GetDropToGroundRange() float32 { + if x != nil && x.DropToGroundRange != nil { + return *x.DropToGroundRange + } + return 0 +} + +type CPredictionEvent_StringCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command *string `protobuf:"bytes,1,opt,name=command" json:"command,omitempty"` +} + +func (x *CPredictionEvent_StringCommand) Reset() { + *x = CPredictionEvent_StringCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_prediction_events_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPredictionEvent_StringCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPredictionEvent_StringCommand) ProtoMessage() {} + +func (x *CPredictionEvent_StringCommand) ProtoReflect() protoreflect.Message { + mi := &file_prediction_events_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CPredictionEvent_StringCommand.ProtoReflect.Descriptor instead. +func (*CPredictionEvent_StringCommand) Descriptor() ([]byte, []int) { + return file_prediction_events_proto_rawDescGZIP(), []int{1} +} + +func (x *CPredictionEvent_StringCommand) GetCommand() string { + if x != nil && x.Command != nil { + return *x.Command + } + return "" +} + +type CPredictionEvent_Diagnostic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` + RequestedSync *uint32 `protobuf:"varint,2,opt,name=requested_sync,json=requestedSync" json:"requested_sync,omitempty"` + RequestedPlayerIndex *uint32 `protobuf:"varint,3,opt,name=requested_player_index,json=requestedPlayerIndex" json:"requested_player_index,omitempty"` + ExecutionSync []uint32 `protobuf:"varint,4,rep,name=execution_sync,json=executionSync" json:"execution_sync,omitempty"` +} + +func (x *CPredictionEvent_Diagnostic) Reset() { + *x = CPredictionEvent_Diagnostic{} + if protoimpl.UnsafeEnabled { + mi := &file_prediction_events_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPredictionEvent_Diagnostic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPredictionEvent_Diagnostic) ProtoMessage() {} + +func (x *CPredictionEvent_Diagnostic) ProtoReflect() protoreflect.Message { + mi := &file_prediction_events_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CPredictionEvent_Diagnostic.ProtoReflect.Descriptor instead. +func (*CPredictionEvent_Diagnostic) Descriptor() ([]byte, []int) { + return file_prediction_events_proto_rawDescGZIP(), []int{2} +} + +func (x *CPredictionEvent_Diagnostic) GetId() uint32 { + if x != nil && x.Id != nil { + return *x.Id + } + return 0 +} + +func (x *CPredictionEvent_Diagnostic) GetRequestedSync() uint32 { + if x != nil && x.RequestedSync != nil { + return *x.RequestedSync + } + return 0 +} + +func (x *CPredictionEvent_Diagnostic) GetRequestedPlayerIndex() uint32 { + if x != nil && x.RequestedPlayerIndex != nil { + return *x.RequestedPlayerIndex + } + return 0 +} + +func (x *CPredictionEvent_Diagnostic) GetExecutionSync() []uint32 { + if x != nil { + return x.ExecutionSync + } + return nil +} + +var File_prediction_events_proto protoreflect.FileDescriptor + +var file_prediction_events_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, + 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x19, 0x43, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, + 0x28, 0x0a, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, + 0x65, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x72, 0x6f, + 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x6f, 0x47, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x3a, 0x0a, 0x1e, 0x43, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x1b, 0x43, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x44, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x34, 0x0a, + 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x2a, 0x58, 0x0a, 0x15, 0x45, 0x42, + 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x11, 0x42, 0x50, 0x45, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x80, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x42, + 0x50, 0x45, 0x5f, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x82, 0x01, 0x12, 0x14, + 0x0a, 0x0e, 0x42, 0x50, 0x45, 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x10, 0x80, 0x80, 0x01, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, + 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, +} + +var ( + file_prediction_events_proto_rawDescOnce sync.Once + file_prediction_events_proto_rawDescData = file_prediction_events_proto_rawDesc +) + +func file_prediction_events_proto_rawDescGZIP() []byte { + file_prediction_events_proto_rawDescOnce.Do(func() { + file_prediction_events_proto_rawDescData = protoimpl.X.CompressGZIP(file_prediction_events_proto_rawDescData) + }) + return file_prediction_events_proto_rawDescData +} + +var file_prediction_events_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_prediction_events_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_prediction_events_proto_goTypes = []interface{}{ + (EBasePredictionEvents)(0), // 0: dota.EBasePredictionEvents + (*CPredictionEvent_Teleport)(nil), // 1: dota.CPredictionEvent_Teleport + (*CPredictionEvent_StringCommand)(nil), // 2: dota.CPredictionEvent_StringCommand + (*CPredictionEvent_Diagnostic)(nil), // 3: dota.CPredictionEvent_Diagnostic + (*CMsgVector)(nil), // 4: dota.CMsgVector + (*CMsgQAngle)(nil), // 5: dota.CMsgQAngle +} +var file_prediction_events_proto_depIdxs = []int32{ + 4, // 0: dota.CPredictionEvent_Teleport.origin:type_name -> dota.CMsgVector + 5, // 1: dota.CPredictionEvent_Teleport.angles:type_name -> dota.CMsgQAngle + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_prediction_events_proto_init() } +func file_prediction_events_proto_init() { + if File_prediction_events_proto != nil { + return + } + file_networkbasetypes_proto_init() + if !protoimpl.UnsafeEnabled { + file_prediction_events_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CPredictionEvent_Teleport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_prediction_events_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CPredictionEvent_StringCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_prediction_events_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CPredictionEvent_Diagnostic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_prediction_events_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_prediction_events_proto_goTypes, + DependencyIndexes: file_prediction_events_proto_depIdxs, + EnumInfos: file_prediction_events_proto_enumTypes, + MessageInfos: file_prediction_events_proto_msgTypes, + }.Build() + File_prediction_events_proto = out.File + file_prediction_events_proto_rawDesc = nil + file_prediction_events_proto_goTypes = nil + file_prediction_events_proto_depIdxs = nil +} diff --git a/dota/prediction_events.proto b/dota/prediction_events.proto new file mode 100644 index 00000000..d29ffd9c --- /dev/null +++ b/dota/prediction_events.proto @@ -0,0 +1,29 @@ +syntax = "proto2"; + +package dota; +option go_package = "github.com/dotabuff/manta/dota;dota"; + +import "networkbasetypes.proto"; + +enum EBasePredictionEvents { + BPE_StringCommand = 128; + BPE_Teleport = 130; + BPE_Diagnostic = 16384; +} + +message CPredictionEvent_Teleport { + optional CMsgVector origin = 1; + optional CMsgQAngle angles = 2; + optional float drop_to_ground_range = 3; +} + +message CPredictionEvent_StringCommand { + optional string command = 1; +} + +message CPredictionEvent_Diagnostic { + optional uint32 id = 1; + optional uint32 requested_sync = 2; + optional uint32 requested_player_index = 3; + repeated uint32 execution_sync = 4; +} diff --git a/dota/steamdatagram_messages_auth.pb.go b/dota/steamdatagram_messages_auth.pb.go index 3d2b9a12..acf7ce4b 100644 --- a/dota/steamdatagram_messages_auth.pb.go +++ b/dota/steamdatagram_messages_auth.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steamdatagram_messages_auth.proto package dota diff --git a/dota/steamdatagram_messages_sdr.pb.go b/dota/steamdatagram_messages_sdr.pb.go index 638d7d90..a72b5fc3 100644 --- a/dota/steamdatagram_messages_sdr.pb.go +++ b/dota/steamdatagram_messages_sdr.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steamdatagram_messages_sdr.proto package dota @@ -232,18 +232,15 @@ type CMsgSteamDatagramRouterPingReply_AltAddress_Protocol int32 const ( CMsgSteamDatagramRouterPingReply_AltAddress_DefaultProtocol CMsgSteamDatagramRouterPingReply_AltAddress_Protocol = 0 - CMsgSteamDatagramRouterPingReply_AltAddress_NetworkNext CMsgSteamDatagramRouterPingReply_AltAddress_Protocol = 1 ) // Enum value maps for CMsgSteamDatagramRouterPingReply_AltAddress_Protocol. var ( CMsgSteamDatagramRouterPingReply_AltAddress_Protocol_name = map[int32]string{ 0: "DefaultProtocol", - 1: "NetworkNext", } CMsgSteamDatagramRouterPingReply_AltAddress_Protocol_value = map[string]int32{ "DefaultProtocol": 0, - "NetworkNext": 1, } ) @@ -340,7 +337,7 @@ func (x *CMsgSteamDatagramConnectionClosed_ERelayMode) UnmarshalJSON(b []byte) e // Deprecated: Use CMsgSteamDatagramConnectionClosed_ERelayMode.Descriptor instead. func (CMsgSteamDatagramConnectionClosed_ERelayMode) EnumDescriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{15, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{16, 0} } type CMsgSteamDatagramConnectionStatsClientToRouter_Flags int32 @@ -405,7 +402,7 @@ func (x *CMsgSteamDatagramConnectionStatsClientToRouter_Flags) UnmarshalJSON(b [ // Deprecated: Use CMsgSteamDatagramConnectionStatsClientToRouter_Flags.Descriptor instead. func (CMsgSteamDatagramConnectionStatsClientToRouter_Flags) EnumDescriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{19, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{20, 0} } type CMsgSteamDatagramConnectionStatsRouterToClient_Flags int32 @@ -464,7 +461,7 @@ func (x *CMsgSteamDatagramConnectionStatsRouterToClient_Flags) UnmarshalJSON(b [ // Deprecated: Use CMsgSteamDatagramConnectionStatsRouterToClient_Flags.Descriptor instead. func (CMsgSteamDatagramConnectionStatsRouterToClient_Flags) EnumDescriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{20, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{21, 0} } type CMsgSteamDatagramConnectionStatsRouterToServer_Flags int32 @@ -523,7 +520,7 @@ func (x *CMsgSteamDatagramConnectionStatsRouterToServer_Flags) UnmarshalJSON(b [ // Deprecated: Use CMsgSteamDatagramConnectionStatsRouterToServer_Flags.Descriptor instead. func (CMsgSteamDatagramConnectionStatsRouterToServer_Flags) EnumDescriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{21, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{22, 0} } type CMsgSteamDatagramConnectionStatsServerToRouter_Flags int32 @@ -582,7 +579,7 @@ func (x *CMsgSteamDatagramConnectionStatsServerToRouter_Flags) UnmarshalJSON(b [ // Deprecated: Use CMsgSteamDatagramConnectionStatsServerToRouter_Flags.Descriptor instead. func (CMsgSteamDatagramConnectionStatsServerToRouter_Flags) EnumDescriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{22, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{23, 0} } type CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags int32 @@ -650,7 +647,7 @@ func (x *CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags) UnmarshalJSON( // Deprecated: Use CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags.Descriptor instead. func (CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags) EnumDescriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{26, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{27, 0} } type CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags int32 @@ -712,7 +709,7 @@ func (x *CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags) UnmarshalJSON( // Deprecated: Use CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags.Descriptor instead. func (CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags) EnumDescriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{27, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{28, 0} } type CMsgSteamNetworkingIPAddress struct { @@ -857,11 +854,16 @@ type CMsgSteamDatagramRouterPingReply struct { Challenge *uint64 `protobuf:"fixed64,6,opt,name=challenge" json:"challenge,omitempty"` SecondsUntilShutdown *uint32 `protobuf:"varint,7,opt,name=seconds_until_shutdown,json=secondsUntilShutdown" json:"seconds_until_shutdown,omitempty"` ClientCookie *uint32 `protobuf:"fixed32,8,opt,name=client_cookie,json=clientCookie" json:"client_cookie,omitempty"` + RecvTos *uint32 `protobuf:"varint,16,opt,name=recv_tos,json=recvTos" json:"recv_tos,omitempty"` + EchoSentTos *uint32 `protobuf:"varint,17,opt,name=echo_sent_tos,json=echoSentTos" json:"echo_sent_tos,omitempty"` + SentTos *uint32 `protobuf:"varint,18,opt,name=sent_tos,json=sentTos" json:"sent_tos,omitempty"` + EchoRequestReplyTos *uint32 `protobuf:"varint,19,opt,name=echo_request_reply_tos,json=echoRequestReplyTos" json:"echo_request_reply_tos,omitempty"` ScoringPenaltyRelayCluster *uint32 `protobuf:"varint,9,opt,name=scoring_penalty_relay_cluster,json=scoringPenaltyRelayCluster" json:"scoring_penalty_relay_cluster,omitempty"` Flags *uint32 `protobuf:"varint,12,opt,name=flags" json:"flags,omitempty"` RouteExceptions []*CMsgSteamDatagramRouterPingReply_RouteException `protobuf:"bytes,10,rep,name=route_exceptions,json=routeExceptions" json:"route_exceptions,omitempty"` AltAddresses []*CMsgSteamDatagramRouterPingReply_AltAddress `protobuf:"bytes,13,rep,name=alt_addresses,json=altAddresses" json:"alt_addresses,omitempty"` DummyPad []byte `protobuf:"bytes,99,opt,name=dummy_pad,json=dummyPad" json:"dummy_pad,omitempty"` + DummyVarint *uint64 `protobuf:"varint,100,opt,name=dummy_varint,json=dummyVarint" json:"dummy_varint,omitempty"` } func (x *CMsgSteamDatagramRouterPingReply) Reset() { @@ -973,6 +975,34 @@ func (x *CMsgSteamDatagramRouterPingReply) GetClientCookie() uint32 { return 0 } +func (x *CMsgSteamDatagramRouterPingReply) GetRecvTos() uint32 { + if x != nil && x.RecvTos != nil { + return *x.RecvTos + } + return 0 +} + +func (x *CMsgSteamDatagramRouterPingReply) GetEchoSentTos() uint32 { + if x != nil && x.EchoSentTos != nil { + return *x.EchoSentTos + } + return 0 +} + +func (x *CMsgSteamDatagramRouterPingReply) GetSentTos() uint32 { + if x != nil && x.SentTos != nil { + return *x.SentTos + } + return 0 +} + +func (x *CMsgSteamDatagramRouterPingReply) GetEchoRequestReplyTos() uint32 { + if x != nil && x.EchoRequestReplyTos != nil { + return *x.EchoRequestReplyTos + } + return 0 +} + func (x *CMsgSteamDatagramRouterPingReply) GetScoringPenaltyRelayCluster() uint32 { if x != nil && x.ScoringPenaltyRelayCluster != nil { return *x.ScoringPenaltyRelayCluster @@ -1008,6 +1038,13 @@ func (x *CMsgSteamDatagramRouterPingReply) GetDummyPad() []byte { return nil } +func (x *CMsgSteamDatagramRouterPingReply) GetDummyVarint() uint64 { + if x != nil && x.DummyVarint != nil { + return *x.DummyVarint + } + return 0 +} + type CMsgSteamDatagramGameserverPingRequestBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1499,6 +1536,69 @@ func (x *CMsgSteamDatagramNoSessionRelayToPeer) GetKludgePad() uint64 { return 0 } +type CMsgTOSTreatment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + L4SDetect *string `protobuf:"bytes,1,opt,name=l4s_detect,json=l4sDetect" json:"l4s_detect,omitempty"` + UpEcn1 *string `protobuf:"bytes,2,opt,name=up_ecn1,json=upEcn1" json:"up_ecn1,omitempty"` + DownDscp45 *string `protobuf:"bytes,3,opt,name=down_dscp45,json=downDscp45" json:"down_dscp45,omitempty"` +} + +func (x *CMsgTOSTreatment) Reset() { + *x = CMsgTOSTreatment{} + if protoimpl.UnsafeEnabled { + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgTOSTreatment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgTOSTreatment) ProtoMessage() {} + +func (x *CMsgTOSTreatment) ProtoReflect() protoreflect.Message { + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgTOSTreatment.ProtoReflect.Descriptor instead. +func (*CMsgTOSTreatment) Descriptor() ([]byte, []int) { + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{8} +} + +func (x *CMsgTOSTreatment) GetL4SDetect() string { + if x != nil && x.L4SDetect != nil { + return *x.L4SDetect + } + return "" +} + +func (x *CMsgTOSTreatment) GetUpEcn1() string { + if x != nil && x.UpEcn1 != nil { + return *x.UpEcn1 + } + return "" +} + +func (x *CMsgTOSTreatment) GetDownDscp45() string { + if x != nil && x.DownDscp45 != nil { + return *x.DownDscp45 + } + return "" +} + type CMsgSteamDatagramClientPingSampleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1510,7 +1610,7 @@ type CMsgSteamDatagramClientPingSampleRequest struct { func (x *CMsgSteamDatagramClientPingSampleRequest) Reset() { *x = CMsgSteamDatagramClientPingSampleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[8] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1523,7 +1623,7 @@ func (x *CMsgSteamDatagramClientPingSampleRequest) String() string { func (*CMsgSteamDatagramClientPingSampleRequest) ProtoMessage() {} func (x *CMsgSteamDatagramClientPingSampleRequest) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[8] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1536,7 +1636,7 @@ func (x *CMsgSteamDatagramClientPingSampleRequest) ProtoReflect() protoreflect.M // Deprecated: Use CMsgSteamDatagramClientPingSampleRequest.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramClientPingSampleRequest) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{8} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{9} } func (x *CMsgSteamDatagramClientPingSampleRequest) GetConnectionId() uint32 { @@ -1553,6 +1653,7 @@ type CMsgSteamDatagramClientPingSampleReply struct { ConnectionId *uint32 `protobuf:"fixed32,1,opt,name=connection_id,json=connectionId" json:"connection_id,omitempty"` RelayOverrideActive *bool `protobuf:"varint,5,opt,name=relay_override_active,json=relayOverrideActive" json:"relay_override_active,omitempty"` + Tos *CMsgTOSTreatment `protobuf:"bytes,6,opt,name=tos" json:"tos,omitempty"` Pops []*CMsgSteamDatagramClientPingSampleReply_POP `protobuf:"bytes,2,rep,name=pops" json:"pops,omitempty"` LegacyDataCenters []*CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter `protobuf:"bytes,3,rep,name=legacy_data_centers,json=legacyDataCenters" json:"legacy_data_centers,omitempty"` } @@ -1560,7 +1661,7 @@ type CMsgSteamDatagramClientPingSampleReply struct { func (x *CMsgSteamDatagramClientPingSampleReply) Reset() { *x = CMsgSteamDatagramClientPingSampleReply{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[9] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1573,7 +1674,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply) String() string { func (*CMsgSteamDatagramClientPingSampleReply) ProtoMessage() {} func (x *CMsgSteamDatagramClientPingSampleReply) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[9] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1586,7 +1687,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgSteamDatagramClientPingSampleReply.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramClientPingSampleReply) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{9} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{10} } func (x *CMsgSteamDatagramClientPingSampleReply) GetConnectionId() uint32 { @@ -1603,6 +1704,13 @@ func (x *CMsgSteamDatagramClientPingSampleReply) GetRelayOverrideActive() bool { return false } +func (x *CMsgSteamDatagramClientPingSampleReply) GetTos() *CMsgTOSTreatment { + if x != nil { + return x.Tos + } + return nil +} + func (x *CMsgSteamDatagramClientPingSampleReply) GetPops() []*CMsgSteamDatagramClientPingSampleReply_POP { if x != nil { return x.Pops @@ -1639,7 +1747,7 @@ type CMsgSteamDatagramClientSwitchedPrimary struct { func (x *CMsgSteamDatagramClientSwitchedPrimary) Reset() { *x = CMsgSteamDatagramClientSwitchedPrimary{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[10] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1652,7 +1760,7 @@ func (x *CMsgSteamDatagramClientSwitchedPrimary) String() string { func (*CMsgSteamDatagramClientSwitchedPrimary) ProtoMessage() {} func (x *CMsgSteamDatagramClientSwitchedPrimary) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[10] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1665,7 +1773,7 @@ func (x *CMsgSteamDatagramClientSwitchedPrimary) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgSteamDatagramClientSwitchedPrimary.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramClientSwitchedPrimary) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{10} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{11} } func (x *CMsgSteamDatagramClientSwitchedPrimary) GetConnectionId() uint32 { @@ -1771,7 +1879,7 @@ type CMsgSteamDatagramConnectRequest struct { func (x *CMsgSteamDatagramConnectRequest) Reset() { *x = CMsgSteamDatagramConnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[11] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1784,7 +1892,7 @@ func (x *CMsgSteamDatagramConnectRequest) String() string { func (*CMsgSteamDatagramConnectRequest) ProtoMessage() {} func (x *CMsgSteamDatagramConnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[11] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1797,7 +1905,7 @@ func (x *CMsgSteamDatagramConnectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamDatagramConnectRequest.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectRequest) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{11} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{12} } func (x *CMsgSteamDatagramConnectRequest) GetConnectionId() uint32 { @@ -1880,7 +1988,7 @@ type CMsgSteamDatagramConnectOK struct { func (x *CMsgSteamDatagramConnectOK) Reset() { *x = CMsgSteamDatagramConnectOK{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[12] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1893,7 +2001,7 @@ func (x *CMsgSteamDatagramConnectOK) String() string { func (*CMsgSteamDatagramConnectOK) ProtoMessage() {} func (x *CMsgSteamDatagramConnectOK) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[12] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1906,7 +2014,7 @@ func (x *CMsgSteamDatagramConnectOK) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamDatagramConnectOK.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectOK) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{12} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{13} } func (x *CMsgSteamDatagramConnectOK) GetClientConnectionId() uint32 { @@ -1983,7 +2091,7 @@ type CMsgSteamNetworkingP2PSDRRoutingSummary struct { func (x *CMsgSteamNetworkingP2PSDRRoutingSummary) Reset() { *x = CMsgSteamNetworkingP2PSDRRoutingSummary{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[13] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1996,7 +2104,7 @@ func (x *CMsgSteamNetworkingP2PSDRRoutingSummary) String() string { func (*CMsgSteamNetworkingP2PSDRRoutingSummary) ProtoMessage() {} func (x *CMsgSteamNetworkingP2PSDRRoutingSummary) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[13] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2009,7 +2117,7 @@ func (x *CMsgSteamNetworkingP2PSDRRoutingSummary) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgSteamNetworkingP2PSDRRoutingSummary.ProtoReflect.Descriptor instead. func (*CMsgSteamNetworkingP2PSDRRoutingSummary) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{13} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{14} } func (x *CMsgSteamNetworkingP2PSDRRoutingSummary) GetInitialPing() uint32 { @@ -2129,7 +2237,7 @@ type CMsgSteamDatagramP2PRoutingSummary struct { func (x *CMsgSteamDatagramP2PRoutingSummary) Reset() { *x = CMsgSteamDatagramP2PRoutingSummary{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[14] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2142,7 +2250,7 @@ func (x *CMsgSteamDatagramP2PRoutingSummary) String() string { func (*CMsgSteamDatagramP2PRoutingSummary) ProtoMessage() {} func (x *CMsgSteamDatagramP2PRoutingSummary) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[14] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2155,7 +2263,7 @@ func (x *CMsgSteamDatagramP2PRoutingSummary) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgSteamDatagramP2PRoutingSummary.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PRoutingSummary) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{14} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{15} } func (x *CMsgSteamDatagramP2PRoutingSummary) GetIce() *CMsgSteamNetworkingICESessionSummary { @@ -2202,7 +2310,7 @@ type CMsgSteamDatagramConnectionClosed struct { func (x *CMsgSteamDatagramConnectionClosed) Reset() { *x = CMsgSteamDatagramConnectionClosed{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[15] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2215,7 +2323,7 @@ func (x *CMsgSteamDatagramConnectionClosed) String() string { func (*CMsgSteamDatagramConnectionClosed) ProtoMessage() {} func (x *CMsgSteamDatagramConnectionClosed) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[15] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2228,7 +2336,7 @@ func (x *CMsgSteamDatagramConnectionClosed) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgSteamDatagramConnectionClosed.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectionClosed) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{15} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{16} } func (x *CMsgSteamDatagramConnectionClosed) GetToConnectionId() uint32 { @@ -2397,7 +2505,7 @@ type CMsgSteamDatagramNoConnection struct { func (x *CMsgSteamDatagramNoConnection) Reset() { *x = CMsgSteamDatagramNoConnection{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[16] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2410,7 +2518,7 @@ func (x *CMsgSteamDatagramNoConnection) String() string { func (*CMsgSteamDatagramNoConnection) ProtoMessage() {} func (x *CMsgSteamDatagramNoConnection) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[16] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2423,7 +2531,7 @@ func (x *CMsgSteamDatagramNoConnection) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamDatagramNoConnection.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramNoConnection) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{16} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{17} } func (x *CMsgSteamDatagramNoConnection) GetToConnectionId() uint32 { @@ -2559,7 +2667,7 @@ type CMsgSteamDatagramGameserverSessionRequest struct { func (x *CMsgSteamDatagramGameserverSessionRequest) Reset() { *x = CMsgSteamDatagramGameserverSessionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[17] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2572,7 +2680,7 @@ func (x *CMsgSteamDatagramGameserverSessionRequest) String() string { func (*CMsgSteamDatagramGameserverSessionRequest) ProtoMessage() {} func (x *CMsgSteamDatagramGameserverSessionRequest) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[17] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2585,7 +2693,7 @@ func (x *CMsgSteamDatagramGameserverSessionRequest) ProtoReflect() protoreflect. // Deprecated: Use CMsgSteamDatagramGameserverSessionRequest.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramGameserverSessionRequest) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{17} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{18} } func (x *CMsgSteamDatagramGameserverSessionRequest) GetTicket() []byte { @@ -2681,7 +2789,7 @@ type CMsgSteamDatagramGameserverSessionEstablished struct { func (x *CMsgSteamDatagramGameserverSessionEstablished) Reset() { *x = CMsgSteamDatagramGameserverSessionEstablished{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[18] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2694,7 +2802,7 @@ func (x *CMsgSteamDatagramGameserverSessionEstablished) String() string { func (*CMsgSteamDatagramGameserverSessionEstablished) ProtoMessage() {} func (x *CMsgSteamDatagramGameserverSessionEstablished) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[18] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2707,7 +2815,7 @@ func (x *CMsgSteamDatagramGameserverSessionEstablished) ProtoReflect() protorefl // Deprecated: Use CMsgSteamDatagramGameserverSessionEstablished.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramGameserverSessionEstablished) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{18} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{19} } func (x *CMsgSteamDatagramGameserverSessionEstablished) GetConnectionId() uint32 { @@ -2770,7 +2878,7 @@ type CMsgSteamDatagramConnectionStatsClientToRouter struct { func (x *CMsgSteamDatagramConnectionStatsClientToRouter) Reset() { *x = CMsgSteamDatagramConnectionStatsClientToRouter{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[19] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2783,7 +2891,7 @@ func (x *CMsgSteamDatagramConnectionStatsClientToRouter) String() string { func (*CMsgSteamDatagramConnectionStatsClientToRouter) ProtoMessage() {} func (x *CMsgSteamDatagramConnectionStatsClientToRouter) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[19] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2796,7 +2904,7 @@ func (x *CMsgSteamDatagramConnectionStatsClientToRouter) ProtoReflect() protoref // Deprecated: Use CMsgSteamDatagramConnectionStatsClientToRouter.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectionStatsClientToRouter) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{19} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{20} } func (x *CMsgSteamDatagramConnectionStatsClientToRouter) GetQualityRelay() *CMsgSteamDatagramConnectionQuality { @@ -2877,7 +2985,7 @@ type CMsgSteamDatagramConnectionStatsRouterToClient struct { func (x *CMsgSteamDatagramConnectionStatsRouterToClient) Reset() { *x = CMsgSteamDatagramConnectionStatsRouterToClient{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[20] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2890,7 +2998,7 @@ func (x *CMsgSteamDatagramConnectionStatsRouterToClient) String() string { func (*CMsgSteamDatagramConnectionStatsRouterToClient) ProtoMessage() {} func (x *CMsgSteamDatagramConnectionStatsRouterToClient) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[20] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2903,7 +3011,7 @@ func (x *CMsgSteamDatagramConnectionStatsRouterToClient) ProtoReflect() protoref // Deprecated: Use CMsgSteamDatagramConnectionStatsRouterToClient.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectionStatsRouterToClient) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{20} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{21} } func (x *CMsgSteamDatagramConnectionStatsRouterToClient) GetQualityRelay() *CMsgSteamDatagramConnectionQuality { @@ -3013,7 +3121,7 @@ type CMsgSteamDatagramConnectionStatsRouterToServer struct { func (x *CMsgSteamDatagramConnectionStatsRouterToServer) Reset() { *x = CMsgSteamDatagramConnectionStatsRouterToServer{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[21] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3026,7 +3134,7 @@ func (x *CMsgSteamDatagramConnectionStatsRouterToServer) String() string { func (*CMsgSteamDatagramConnectionStatsRouterToServer) ProtoMessage() {} func (x *CMsgSteamDatagramConnectionStatsRouterToServer) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[21] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3039,7 +3147,7 @@ func (x *CMsgSteamDatagramConnectionStatsRouterToServer) ProtoReflect() protoref // Deprecated: Use CMsgSteamDatagramConnectionStatsRouterToServer.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectionStatsRouterToServer) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{21} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{22} } func (x *CMsgSteamDatagramConnectionStatsRouterToServer) GetQualityRelay() *CMsgSteamDatagramConnectionQuality { @@ -3153,7 +3261,7 @@ type CMsgSteamDatagramConnectionStatsServerToRouter struct { func (x *CMsgSteamDatagramConnectionStatsServerToRouter) Reset() { *x = CMsgSteamDatagramConnectionStatsServerToRouter{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[22] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3166,7 +3274,7 @@ func (x *CMsgSteamDatagramConnectionStatsServerToRouter) String() string { func (*CMsgSteamDatagramConnectionStatsServerToRouter) ProtoMessage() {} func (x *CMsgSteamDatagramConnectionStatsServerToRouter) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[22] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3179,7 +3287,7 @@ func (x *CMsgSteamDatagramConnectionStatsServerToRouter) ProtoReflect() protoref // Deprecated: Use CMsgSteamDatagramConnectionStatsServerToRouter.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectionStatsServerToRouter) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{22} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{23} } func (x *CMsgSteamDatagramConnectionStatsServerToRouter) GetQualityRelay() *CMsgSteamDatagramConnectionQuality { @@ -3275,7 +3383,7 @@ type CMsgSteamDatagramP2PSessionRequestBody struct { func (x *CMsgSteamDatagramP2PSessionRequestBody) Reset() { *x = CMsgSteamDatagramP2PSessionRequestBody{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[23] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3288,7 +3396,7 @@ func (x *CMsgSteamDatagramP2PSessionRequestBody) String() string { func (*CMsgSteamDatagramP2PSessionRequestBody) ProtoMessage() {} func (x *CMsgSteamDatagramP2PSessionRequestBody) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[23] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3301,7 +3409,7 @@ func (x *CMsgSteamDatagramP2PSessionRequestBody) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgSteamDatagramP2PSessionRequestBody.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PSessionRequestBody) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{23} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{24} } func (x *CMsgSteamDatagramP2PSessionRequestBody) GetChallengeTime() uint32 { @@ -3408,7 +3516,7 @@ type CMsgSteamDatagramP2PSessionRequest struct { func (x *CMsgSteamDatagramP2PSessionRequest) Reset() { *x = CMsgSteamDatagramP2PSessionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[24] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3421,7 +3529,7 @@ func (x *CMsgSteamDatagramP2PSessionRequest) String() string { func (*CMsgSteamDatagramP2PSessionRequest) ProtoMessage() {} func (x *CMsgSteamDatagramP2PSessionRequest) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[24] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3434,7 +3542,7 @@ func (x *CMsgSteamDatagramP2PSessionRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgSteamDatagramP2PSessionRequest.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PSessionRequest) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{24} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{25} } func (x *CMsgSteamDatagramP2PSessionRequest) GetCert() *CMsgSteamDatagramCertificateSigned { @@ -3472,7 +3580,7 @@ type CMsgSteamDatagramP2PSessionEstablished struct { func (x *CMsgSteamDatagramP2PSessionEstablished) Reset() { *x = CMsgSteamDatagramP2PSessionEstablished{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[25] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3485,7 +3593,7 @@ func (x *CMsgSteamDatagramP2PSessionEstablished) String() string { func (*CMsgSteamDatagramP2PSessionEstablished) ProtoMessage() {} func (x *CMsgSteamDatagramP2PSessionEstablished) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[25] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3498,7 +3606,7 @@ func (x *CMsgSteamDatagramP2PSessionEstablished) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgSteamDatagramP2PSessionEstablished.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PSessionEstablished) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{25} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{26} } func (x *CMsgSteamDatagramP2PSessionEstablished) GetConnectionId() uint32 { @@ -3552,7 +3660,7 @@ type CMsgSteamDatagramConnectionStatsP2PClientToRouter struct { func (x *CMsgSteamDatagramConnectionStatsP2PClientToRouter) Reset() { *x = CMsgSteamDatagramConnectionStatsP2PClientToRouter{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[26] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3565,7 +3673,7 @@ func (x *CMsgSteamDatagramConnectionStatsP2PClientToRouter) String() string { func (*CMsgSteamDatagramConnectionStatsP2PClientToRouter) ProtoMessage() {} func (x *CMsgSteamDatagramConnectionStatsP2PClientToRouter) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[26] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3578,7 +3686,7 @@ func (x *CMsgSteamDatagramConnectionStatsP2PClientToRouter) ProtoReflect() proto // Deprecated: Use CMsgSteamDatagramConnectionStatsP2PClientToRouter.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectionStatsP2PClientToRouter) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{26} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{27} } func (x *CMsgSteamDatagramConnectionStatsP2PClientToRouter) GetQualityRelay() *CMsgSteamDatagramConnectionQuality { @@ -3697,7 +3805,7 @@ type CMsgSteamDatagramConnectionStatsP2PRouterToClient struct { func (x *CMsgSteamDatagramConnectionStatsP2PRouterToClient) Reset() { *x = CMsgSteamDatagramConnectionStatsP2PRouterToClient{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[27] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3710,7 +3818,7 @@ func (x *CMsgSteamDatagramConnectionStatsP2PRouterToClient) String() string { func (*CMsgSteamDatagramConnectionStatsP2PRouterToClient) ProtoMessage() {} func (x *CMsgSteamDatagramConnectionStatsP2PRouterToClient) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[27] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3723,7 +3831,7 @@ func (x *CMsgSteamDatagramConnectionStatsP2PRouterToClient) ProtoReflect() proto // Deprecated: Use CMsgSteamDatagramConnectionStatsP2PRouterToClient.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramConnectionStatsP2PRouterToClient) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{27} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{28} } func (x *CMsgSteamDatagramConnectionStatsP2PRouterToClient) GetQualityRelay() *CMsgSteamDatagramConnectionQuality { @@ -3845,7 +3953,7 @@ type CMsgSteamDatagramP2PBadRouteRouterToClient struct { func (x *CMsgSteamDatagramP2PBadRouteRouterToClient) Reset() { *x = CMsgSteamDatagramP2PBadRouteRouterToClient{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[28] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3858,7 +3966,7 @@ func (x *CMsgSteamDatagramP2PBadRouteRouterToClient) String() string { func (*CMsgSteamDatagramP2PBadRouteRouterToClient) ProtoMessage() {} func (x *CMsgSteamDatagramP2PBadRouteRouterToClient) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[28] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3871,7 +3979,7 @@ func (x *CMsgSteamDatagramP2PBadRouteRouterToClient) ProtoReflect() protoreflect // Deprecated: Use CMsgSteamDatagramP2PBadRouteRouterToClient.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PBadRouteRouterToClient) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{28} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{29} } func (x *CMsgSteamDatagramP2PBadRouteRouterToClient) GetConnectionId() uint32 { @@ -3915,7 +4023,7 @@ type CMsgSteamDatagramP2PRoutes struct { func (x *CMsgSteamDatagramP2PRoutes) Reset() { *x = CMsgSteamDatagramP2PRoutes{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[29] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3928,7 +4036,7 @@ func (x *CMsgSteamDatagramP2PRoutes) String() string { func (*CMsgSteamDatagramP2PRoutes) ProtoMessage() {} func (x *CMsgSteamDatagramP2PRoutes) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[29] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3941,7 +4049,7 @@ func (x *CMsgSteamDatagramP2PRoutes) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamDatagramP2PRoutes.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PRoutes) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{29} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{30} } func (x *CMsgSteamDatagramP2PRoutes) GetRelayClusters() []*CMsgSteamDatagramP2PRoutes_RelayCluster { @@ -3981,7 +4089,7 @@ type CMsgSteamDatagramSetSecondaryAddressRequest struct { func (x *CMsgSteamDatagramSetSecondaryAddressRequest) Reset() { *x = CMsgSteamDatagramSetSecondaryAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[30] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3994,7 +4102,7 @@ func (x *CMsgSteamDatagramSetSecondaryAddressRequest) String() string { func (*CMsgSteamDatagramSetSecondaryAddressRequest) ProtoMessage() {} func (x *CMsgSteamDatagramSetSecondaryAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[30] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4007,7 +4115,7 @@ func (x *CMsgSteamDatagramSetSecondaryAddressRequest) ProtoReflect() protoreflec // Deprecated: Use CMsgSteamDatagramSetSecondaryAddressRequest.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramSetSecondaryAddressRequest) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{30} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{31} } func (x *CMsgSteamDatagramSetSecondaryAddressRequest) GetClientMainIp() uint32 { @@ -4064,7 +4172,7 @@ type CMsgSteamDatagramSetSecondaryAddressResult struct { func (x *CMsgSteamDatagramSetSecondaryAddressResult) Reset() { *x = CMsgSteamDatagramSetSecondaryAddressResult{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[31] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4077,7 +4185,7 @@ func (x *CMsgSteamDatagramSetSecondaryAddressResult) String() string { func (*CMsgSteamDatagramSetSecondaryAddressResult) ProtoMessage() {} func (x *CMsgSteamDatagramSetSecondaryAddressResult) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[31] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4090,7 +4198,7 @@ func (x *CMsgSteamDatagramSetSecondaryAddressResult) ProtoReflect() protoreflect // Deprecated: Use CMsgSteamDatagramSetSecondaryAddressResult.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramSetSecondaryAddressResult) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{31} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{32} } func (x *CMsgSteamDatagramSetSecondaryAddressResult) GetSuccess() bool { @@ -4120,7 +4228,7 @@ type CMsgSteamDatagramRouterPingReply_RouteException struct { func (x *CMsgSteamDatagramRouterPingReply_RouteException) Reset() { *x = CMsgSteamDatagramRouterPingReply_RouteException{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[32] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4133,7 +4241,7 @@ func (x *CMsgSteamDatagramRouterPingReply_RouteException) String() string { func (*CMsgSteamDatagramRouterPingReply_RouteException) ProtoMessage() {} func (x *CMsgSteamDatagramRouterPingReply_RouteException) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[32] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4185,7 +4293,7 @@ type CMsgSteamDatagramRouterPingReply_AltAddress struct { func (x *CMsgSteamDatagramRouterPingReply_AltAddress) Reset() { *x = CMsgSteamDatagramRouterPingReply_AltAddress{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[33] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4198,7 +4306,7 @@ func (x *CMsgSteamDatagramRouterPingReply_AltAddress) String() string { func (*CMsgSteamDatagramRouterPingReply_AltAddress) ProtoMessage() {} func (x *CMsgSteamDatagramRouterPingReply_AltAddress) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[33] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4275,7 +4383,7 @@ type CMsgSteamDatagramClientPingSampleReply_POP struct { func (x *CMsgSteamDatagramClientPingSampleReply_POP) Reset() { *x = CMsgSteamDatagramClientPingSampleReply_POP{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[34] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4288,7 +4396,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply_POP) String() string { func (*CMsgSteamDatagramClientPingSampleReply_POP) ProtoMessage() {} func (x *CMsgSteamDatagramClientPingSampleReply_POP) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[34] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4301,7 +4409,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply_POP) ProtoReflect() protoreflect // Deprecated: Use CMsgSteamDatagramClientPingSampleReply_POP.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramClientPingSampleReply_POP) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{9, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{10, 0} } func (x *CMsgSteamDatagramClientPingSampleReply_POP) GetPopId() uint32 { @@ -4429,7 +4537,7 @@ type CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter struct { func (x *CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter) Reset() { *x = CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[35] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4442,7 +4550,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter) String() strin func (*CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter) ProtoMessage() {} func (x *CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[35] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4455,7 +4563,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter) ProtoReflect() // Deprecated: Use CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{9, 1} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{10, 1} } func (x *CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter) GetDataCenterId() uint32 { @@ -4492,7 +4600,7 @@ type CMsgSteamDatagramClientPingSampleReply_POP_AltAddress struct { func (x *CMsgSteamDatagramClientPingSampleReply_POP_AltAddress) Reset() { *x = CMsgSteamDatagramClientPingSampleReply_POP_AltAddress{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[36] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4505,7 +4613,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply_POP_AltAddress) String() string func (*CMsgSteamDatagramClientPingSampleReply_POP_AltAddress) ProtoMessage() {} func (x *CMsgSteamDatagramClientPingSampleReply_POP_AltAddress) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[36] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4518,7 +4626,7 @@ func (x *CMsgSteamDatagramClientPingSampleReply_POP_AltAddress) ProtoReflect() p // Deprecated: Use CMsgSteamDatagramClientPingSampleReply_POP_AltAddress.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramClientPingSampleReply_POP_AltAddress) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{9, 0, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{10, 0, 0} } func (x *CMsgSteamDatagramClientPingSampleReply_POP_AltAddress) GetId() string { @@ -4556,7 +4664,7 @@ type CMsgSteamDatagramClientSwitchedPrimary_RouterQuality struct { func (x *CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) Reset() { *x = CMsgSteamDatagramClientSwitchedPrimary_RouterQuality{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[37] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4569,7 +4677,7 @@ func (x *CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) String() string { func (*CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) ProtoMessage() {} func (x *CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[37] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4582,7 +4690,7 @@ func (x *CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) ProtoReflect() pr // Deprecated: Use CMsgSteamDatagramClientSwitchedPrimary_RouterQuality.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{10, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{11, 0} } func (x *CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) GetScore() uint32 { @@ -4624,7 +4732,7 @@ type CMsgSteamDatagramP2PSessionRequestBody_EncryptedData struct { func (x *CMsgSteamDatagramP2PSessionRequestBody_EncryptedData) Reset() { *x = CMsgSteamDatagramP2PSessionRequestBody_EncryptedData{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[38] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4637,7 +4745,7 @@ func (x *CMsgSteamDatagramP2PSessionRequestBody_EncryptedData) String() string { func (*CMsgSteamDatagramP2PSessionRequestBody_EncryptedData) ProtoMessage() {} func (x *CMsgSteamDatagramP2PSessionRequestBody_EncryptedData) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[38] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4650,7 +4758,7 @@ func (x *CMsgSteamDatagramP2PSessionRequestBody_EncryptedData) ProtoReflect() pr // Deprecated: Use CMsgSteamDatagramP2PSessionRequestBody_EncryptedData.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PSessionRequestBody_EncryptedData) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{23, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{24, 0} } func (x *CMsgSteamDatagramP2PSessionRequestBody_EncryptedData) GetPeerIdentityString() string { @@ -4674,7 +4782,7 @@ type CMsgSteamDatagramP2PRoutes_RelayCluster struct { func (x *CMsgSteamDatagramP2PRoutes_RelayCluster) Reset() { *x = CMsgSteamDatagramP2PRoutes_RelayCluster{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[39] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4687,7 +4795,7 @@ func (x *CMsgSteamDatagramP2PRoutes_RelayCluster) String() string { func (*CMsgSteamDatagramP2PRoutes_RelayCluster) ProtoMessage() {} func (x *CMsgSteamDatagramP2PRoutes_RelayCluster) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[39] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4700,7 +4808,7 @@ func (x *CMsgSteamDatagramP2PRoutes_RelayCluster) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgSteamDatagramP2PRoutes_RelayCluster.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PRoutes_RelayCluster) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{29, 0} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{30, 0} } func (x *CMsgSteamDatagramP2PRoutes_RelayCluster) GetPopId() uint32 { @@ -4745,7 +4853,7 @@ type CMsgSteamDatagramP2PRoutes_Route struct { func (x *CMsgSteamDatagramP2PRoutes_Route) Reset() { *x = CMsgSteamDatagramP2PRoutes_Route{} if protoimpl.UnsafeEnabled { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[40] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4758,7 +4866,7 @@ func (x *CMsgSteamDatagramP2PRoutes_Route) String() string { func (*CMsgSteamDatagramP2PRoutes_Route) ProtoMessage() {} func (x *CMsgSteamDatagramP2PRoutes_Route) ProtoReflect() protoreflect.Message { - mi := &file_steamdatagram_messages_sdr_proto_msgTypes[40] + mi := &file_steamdatagram_messages_sdr_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4771,7 +4879,7 @@ func (x *CMsgSteamDatagramP2PRoutes_Route) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgSteamDatagramP2PRoutes_Route.ProtoReflect.Descriptor instead. func (*CMsgSteamDatagramP2PRoutes_Route) Descriptor() ([]byte, []int) { - return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{29, 1} + return file_steamdatagram_messages_sdr_proto_rawDescGZIP(), []int{30, 1} } func (x *CMsgSteamDatagramP2PRoutes_Route) GetMyPopId() uint32 { @@ -4829,7 +4937,7 @@ var file_steamdatagram_messages_sdr_proto_rawDesc = []byte{ 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x70, 0x61, 0x64, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x50, 0x61, - 0x64, 0x22, 0xd2, 0x09, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x64, 0x22, 0xf3, 0x0a, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, @@ -4861,1110 +4969,1130 @@ var file_steamdatagram_messages_sdr_proto_rawDesc = []byte{ 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x73, 0x63, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x60, - 0x0a, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x56, 0x0a, 0x0d, 0x61, 0x6c, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x74, 0x6f, + 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x63, 0x76, 0x54, 0x6f, 0x73, + 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, + 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x63, 0x68, 0x6f, 0x53, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x73, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x73, 0x12, + 0x33, 0x0a, 0x16, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x13, 0x65, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x54, 0x6f, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x73, 0x63, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x60, 0x0a, + 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x6d, - 0x79, 0x5f, 0x70, 0x61, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x64, 0x75, 0x6d, - 0x6d, 0x79, 0x50, 0x61, 0x64, 0x1a, 0x66, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x1a, 0xe8, 0x01, - 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x69, 0x70, 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x56, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x4e, 0x65, 0x78, 0x74, 0x10, 0x01, 0x22, 0x4c, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4d, 0x41, 0x59, 0x42, 0x45, 0x5f, - 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, - 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4d, 0x41, 0x59, 0x42, - 0x45, 0x5f, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, - 0x53, 0x53, 0x45, 0x53, 0x10, 0x02, 0x22, 0xdf, 0x02, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, - 0x6f, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, - 0x79, 0x50, 0x6f, 0x70, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x0e, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x0c, 0x79, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, - 0x12, 0x28, 0x0a, 0x10, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x79, 0x6f, 0x75, 0x72, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x55, 0x6e, 0x69, 0x78, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x6d, 0x79, 0x5f, - 0x69, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x6d, - 0x79, 0x49, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x22, 0xcd, 0x03, 0x0a, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x63, - 0x65, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, - 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x59, - 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x35, 0x0a, 0x17, 0x6c, - 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x14, 0x6c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x59, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x55, - 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x67, 0x61, 0x63, - 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, - 0x67, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x15, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x75, - 0x6d, 0x6d, 0x79, 0x5f, 0x70, 0x61, 0x64, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, - 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x50, 0x61, 0x64, 0x22, 0xca, 0x03, 0x0a, 0x28, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x14, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x72, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x56, 0x0a, 0x0d, 0x61, 0x6c, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x41, + 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x6d, 0x79, + 0x5f, 0x70, 0x61, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x64, 0x75, 0x6d, 0x6d, + 0x79, 0x50, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x76, 0x61, + 0x72, 0x69, 0x6e, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6d, 0x6d, + 0x79, 0x56, 0x61, 0x72, 0x69, 0x6e, 0x74, 0x1a, 0x66, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x1a, + 0xd7, 0x01, 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x69, 0x70, + 0x76, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, + 0x12, 0x56, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1f, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x10, 0x00, 0x22, 0x4c, 0x0a, 0x05, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4d, 0x41, 0x59, 0x42, 0x45, + 0x5f, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, + 0x52, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4d, 0x41, 0x59, + 0x42, 0x45, 0x5f, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x52, + 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0x02, 0x22, 0xdf, 0x02, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, 0x61, 0x6d, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, + 0x70, 0x6f, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x6c, + 0x61, 0x79, 0x50, 0x6f, 0x70, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x0e, 0x79, 0x6f, 0x75, 0x72, 0x5f, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x52, 0x0c, 0x79, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, + 0x70, 0x12, 0x28, 0x0a, 0x10, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x79, 0x6f, 0x75, + 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x55, 0x6e, 0x69, 0x78, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x6d, 0x79, + 0x5f, 0x69, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, + 0x6d, 0x79, 0x49, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x22, 0xcd, 0x03, 0x0a, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, + 0x63, 0x65, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x59, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x35, 0x0a, 0x17, + 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x14, 0x6c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x59, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, + 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x11, 0x65, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x55, 0x6e, - 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x15, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, - 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6d, 0x79, 0x55, 0x6e, 0x69, 0x78, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, - 0x6f, 0x62, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x22, 0x93, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4e, 0x6f, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, - 0x79, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x28, 0x0a, 0x10, - 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x79, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, - 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e, - 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x25, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x4e, 0x6f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x54, - 0x6f, 0x50, 0x65, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x66, 0x72, 0x6f, - 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x2c, 0x0a, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x66, 0x72, 0x6f, - 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x09, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x50, 0x61, 0x64, 0x22, 0x4f, 0x0a, 0x28, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xb4, 0x0a, - 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, - 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, - 0x15, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x12, 0x44, 0x0a, 0x04, 0x70, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, - 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x50, 0x4f, - 0x50, 0x52, 0x04, 0x70, 0x6f, 0x70, 0x73, 0x12, 0x6d, 0x0a, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, - 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x43, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xe2, 0x06, 0x0a, 0x03, 0x50, 0x4f, 0x50, 0x12, 0x15, - 0x0a, 0x06, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, - 0x70, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x72, 0x6f, - 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, - 0x79, 0x12, 0x60, 0x0a, 0x0d, 0x61, 0x6c, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x01, 0x28, 0x07, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x55, 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x67, 0x61, + 0x63, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x15, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x70, 0x61, 0x64, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x08, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x50, 0x61, 0x64, 0x22, 0xca, 0x03, 0x0a, 0x28, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x14, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x11, 0x65, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x55, + 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x12, 0x29, 0x0a, 0x10, 0x6c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x15, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x24, + 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6d, 0x79, 0x55, 0x6e, 0x69, 0x78, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x62, + 0x6c, 0x6f, 0x62, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x22, 0x93, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4e, 0x6f, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x79, 0x6f, 0x75, 0x72, 0x5f, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x0c, 0x79, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x28, 0x0a, + 0x10, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x79, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, + 0x6e, 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0xde, 0x01, 0x0a, + 0x25, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x4e, 0x6f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x54, 0x6f, 0x50, 0x65, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, + 0x15, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x66, 0x72, + 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x66, 0x72, + 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x18, 0x63, 0x20, 0x01, + 0x28, 0x06, 0x52, 0x09, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x50, 0x61, 0x64, 0x22, 0x6b, 0x0a, + 0x10, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x4f, 0x53, 0x54, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x34, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x34, 0x73, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, + 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x65, 0x63, 0x6e, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x70, 0x45, 0x63, 0x6e, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x77, + 0x6e, 0x5f, 0x64, 0x73, 0x63, 0x70, 0x34, 0x35, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x6f, 0x77, 0x6e, 0x44, 0x73, 0x63, 0x70, 0x34, 0x35, 0x22, 0x4f, 0x0a, 0x28, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xde, 0x0a, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x50, 0x4f, 0x50, 0x2e, 0x41, 0x6c, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, - 0x32, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x32, 0x65, 0x50, 0x69, 0x6e, 0x67, - 0x4d, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x32, - 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x32, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x37, - 0x0a, 0x19, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x14, 0x70, 0x32, 0x70, 0x56, 0x69, 0x61, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, - 0x64, 0x63, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x22, - 0x0a, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x12, 0x35, 0x0a, 0x18, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x76, 0x69, - 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, 0x56, 0x69, 0x61, 0x52, - 0x65, 0x6c, 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x63, - 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x63, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x3b, 0x0a, 0x1b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x76, - 0x69, 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x07, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x63, - 0x56, 0x69, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x44, 0x63, 0x50, 0x69, - 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x65, 0x73, - 0x74, 0x44, 0x63, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x18, 0x74, 0x65, 0x73, 0x74, - 0x5f, 0x64, 0x63, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x74, 0x65, 0x73, 0x74, - 0x44, 0x63, 0x56, 0x69, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x1a, - 0x5a, 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, - 0x0d, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x1a, 0x96, 0x01, 0x0a, 0x10, - 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x18, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, - 0x63, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x70, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, - 0x56, 0x69, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, 0x50, 0x69, - 0x6e, 0x67, 0x4d, 0x73, 0x22, 0x83, 0x07, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x70, 0x12, 0x1b, 0x0a, - 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x72, - 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x11, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x72, - 0x6f, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x76, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x63, 0x76, 0x12, 0x2e, 0x0a, - 0x13, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x72, 0x6f, 0x6d, - 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x15, 0x0a, - 0x06, 0x67, 0x61, 0x70, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, - 0x61, 0x70, 0x4d, 0x73, 0x12, 0x64, 0x0a, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, - 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, 0x69, - 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0e, 0x66, 0x72, 0x6f, 0x6d, - 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x77, 0x12, 0x60, 0x0a, 0x0e, 0x74, 0x6f, - 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, - 0x74, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x77, 0x12, 0x66, 0x0a, 0x11, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x65, - 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x0f, 0x66, 0x72, 0x6f, 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x54, 0x68, 0x65, 0x6e, 0x12, 0x62, 0x0a, 0x0f, 0x74, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x74, 0x68, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, - 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x74, 0x6f, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x54, 0x68, 0x65, 0x6e, 0x1a, 0x8f, 0x01, 0x0a, 0x0d, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, - 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x64, 0x6f, - 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0xca, 0x03, 0x0a, 0x1f, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x6d, 0x79, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x65, - 0x73, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x69, 0x6e, - 0x67, 0x45, 0x73, 0x74, 0x4d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, - 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x69, - 0x72, 0x74, 0x75, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x67, 0x61, 0x6d, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, - 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x05, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x3c, 0x0a, - 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x91, 0x03, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x4b, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x79, 0x6f, - 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x0d, 0x79, 0x6f, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x75, 0x73, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x1b, 0x67, 0x61, 0x6d, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, - 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x61, + 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, + 0x28, 0x0a, 0x03, 0x74, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x4f, 0x53, 0x54, 0x72, 0x65, 0x61, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x74, 0x6f, 0x73, 0x12, 0x44, 0x0a, 0x04, 0x70, 0x6f, 0x70, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x05, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x3c, 0x0a, - 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x22, 0xa0, 0x05, 0x0a, 0x27, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x50, 0x4f, 0x50, 0x52, 0x04, 0x70, 0x6f, 0x70, 0x73, 0x12, + 0x6d, 0x0a, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, + 0x79, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x11, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xe2, + 0x06, 0x0a, 0x03, 0x50, 0x4f, 0x50, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x70, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x31, 0x0a, + 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x70, + 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, + 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x6e, 0x61, + 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x60, 0x0a, 0x0d, 0x61, 0x6c, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, + 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x50, + 0x4f, 0x50, 0x2e, 0x41, 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x61, + 0x6c, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x32, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, + 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x45, 0x32, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x32, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x32, + 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x37, 0x0a, 0x19, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x69, + 0x61, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x70, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x14, 0x70, 0x32, 0x70, 0x56, 0x69, + 0x61, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, + 0x25, 0x0a, 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, + 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, + 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, + 0x63, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, + 0x65, 0x73, 0x74, 0x44, 0x63, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x18, 0x62, 0x65, + 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, + 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x13, 0x62, 0x65, + 0x73, 0x74, 0x44, 0x63, 0x56, 0x69, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, + 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x63, 0x5f, + 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x63, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x28, + 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x44, 0x63, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x1b, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x07, 0x52, 0x16, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x63, 0x56, 0x69, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, + 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x74, 0x65, 0x73, 0x74, 0x44, 0x63, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x44, 0x63, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x35, 0x0a, 0x18, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x76, 0x69, 0x61, 0x5f, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x07, 0x52, 0x13, 0x74, 0x65, 0x73, 0x74, 0x44, 0x63, 0x56, 0x69, 0x61, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x1a, 0x5a, 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x70, + 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x72, + 0x6f, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, + 0x61, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, + 0x6c, 0x74, 0x79, 0x1a, 0x96, 0x01, 0x0a, 0x10, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x61, + 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, + 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, + 0x0a, 0x18, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, + 0x52, 0x13, 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, 0x56, 0x69, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, + 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x62, 0x65, 0x73, 0x74, 0x44, 0x63, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x22, 0x83, 0x07, 0x0a, + 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x66, + 0x72, 0x6f, 0x6d, 0x49, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6f, + 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x11, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x72, + 0x6f, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, + 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x63, 0x76, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x72, + 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x66, 0x72, 0x6f, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x67, 0x61, 0x70, 0x5f, 0x6d, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x61, 0x70, 0x4d, 0x73, 0x12, 0x64, 0x0a, 0x10, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x6f, 0x77, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x52, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4e, + 0x6f, 0x77, 0x12, 0x60, 0x0a, 0x0e, 0x74, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, + 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x74, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x4e, 0x6f, 0x77, 0x12, 0x66, 0x0a, 0x11, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x66, 0x72, 0x6f, + 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x68, 0x65, 0x6e, 0x12, 0x62, 0x0a, 0x0f, + 0x74, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x65, 0x6e, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x0d, 0x74, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x68, 0x65, 0x6e, + 0x1a, 0x8f, 0x01, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6e, + 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, + 0x6f, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x5f, + 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, + 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x6f, + 0x77, 0x6e, 0x22, 0xca, 0x03, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, + 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x0b, 0x6d, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, + 0x0a, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x73, 0x74, 0x4d, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x43, 0x0a, 0x05, 0x63, 0x72, 0x79, 0x70, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x05, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x04, 0x63, + 0x65, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, + 0x63, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, + 0x91, 0x03, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x4b, 0x12, 0x30, + 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x79, 0x6f, 0x75, 0x72, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, + 0x63, 0x12, 0x3d, 0x0a, 0x1b, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x43, 0x0a, 0x05, 0x63, 0x72, 0x79, 0x70, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x72, 0x79, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x05, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x04, 0x63, + 0x65, 0x72, 0x74, 0x22, 0xa0, 0x05, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x32, 0x50, 0x53, 0x44, + 0x52, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x69, + 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, + 0x67, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x39, 0x0a, 0x19, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x6f, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x6f, 0x6e, 0x74, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, + 0x6f, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x70, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x69, + 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x65, 0x73, 0x74, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, + 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x62, 0x65, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x6f, 0x6e, 0x74, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x69, + 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, 0x65, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x46, + 0x72, 0x6f, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, + 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, + 0x26, 0x0a, 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, + 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x65, 0x73, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x65, 0x73, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x65, + 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3c, 0x0a, + 0x03, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x43, 0x45, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x03, 0x69, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x03, 0x73, + 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x32, 0x50, 0x53, 0x44, 0x52, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, - 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, - 0x69, 0x6e, 0x67, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, - 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, - 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x62, 0x65, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x65, - 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x62, 0x65, 0x73, 0x74, 0x50, - 0x69, 0x6e, 0x67, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x33, 0x0a, - 0x16, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, - 0x65, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x62, 0x65, 0x73, 0x74, 0x50, - 0x6f, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x65, 0x73, 0x74, 0x5f, - 0x70, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x62, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xa3, - 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x03, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x43, 0x45, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x03, - 0x69, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x03, 0x73, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x32, 0x50, 0x53, 0x44, - 0x52, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, - 0x03, 0x73, 0x64, 0x72, 0x22, 0xf3, 0x09, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x12, 0x6c, 0x0a, 0x1b, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x66, - 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x18, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x66, 0x72, 0x6f, - 0x6d, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x1e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x2d, 0x0a, 0x13, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x74, 0x6f, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, - 0x0a, 0x15, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x66, - 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, - 0x17, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, - 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x03, 0x73, 0x64, 0x72, 0x22, 0xf3, 0x09, 0x0a, + 0x21, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x64, 0x2e, 0x45, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, - 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1f, - 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x5f, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x5f, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x4d, - 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, - 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, - 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x58, 0x0a, 0x13, 0x70, 0x32, 0x70, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, - 0x50, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, - 0x11, 0x70, 0x32, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x22, 0x36, 0x0a, 0x0a, 0x45, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x6e, - 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x64, 0x42, 0x79, 0x50, 0x65, 0x65, 0x72, 0x10, 0x02, 0x22, 0xf7, 0x06, 0x0a, 0x1d, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x4e, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, - 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, - 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, - 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x1e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x74, - 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x31, 0x0a, 0x15, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, - 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x66, - 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, - 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x54, 0x6f, - 0x45, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x11, 0x6e, 0x6f, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x58, 0x0a, 0x13, 0x70, 0x32, 0x70, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x11, 0x70, 0x32, - 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, - 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, - 0x70, 0x61, 0x64, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x08, 0x64, 0x75, 0x6d, 0x6d, - 0x79, 0x50, 0x61, 0x64, 0x22, 0x89, 0x04, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, - 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x76, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x76, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x50, - 0x0a, 0x0f, 0x64, 0x65, 0x76, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, - 0x22, 0xe5, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, - 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x67, 0x61, 0x6d, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e, - 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x73, - 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x32, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x63, 0x12, 0x3f, 0x0a, 0x1c, 0x64, - 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x19, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x19, + 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x74, 0x6f, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x72, + 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x6c, 0x0a, 0x1b, + 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x52, 0x18, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x6c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, + 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x6f, 0x5f, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x74, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, + 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, + 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x32, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x2e, 0x45, 0x52, 0x65, 0x6c, 0x61, + 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2e, + 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x74, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, + 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, + 0x6f, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x65, 0x32, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, + 0x12, 0x58, 0x0a, 0x13, 0x70, 0x32, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x11, 0x70, 0x32, 0x70, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x0a, 0x45, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0x01, + 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x79, 0x50, 0x65, 0x65, 0x72, + 0x10, 0x02, 0x22, 0xf7, 0x06, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4e, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, + 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, + 0x0a, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x66, 0x72, 0x6f, 0x6d, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x9a, 0x04, 0x0a, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, - 0x5f, 0x65, 0x32, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x30, - 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x32, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, 0x32, 0x72, - 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, - 0x22, 0x82, 0x01, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, - 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, - 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, - 0x5f, 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, - 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, - 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4c, - 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, - 0x49, 0x44, 0x45, 0x10, 0x20, 0x22, 0xbe, 0x05, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x6f, 0x5f, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x74, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x72, 0x6f, 0x6d, 0x5f, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6c, 0x61, + 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x72, + 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x14, + 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, + 0x63, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6e, + 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x74, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x6e, + 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x74, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x58, 0x0a, + 0x13, 0x70, 0x32, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x52, 0x11, 0x70, 0x32, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x70, 0x61, 0x64, 0x18, 0xff, 0x07, 0x20, 0x01, + 0x28, 0x07, 0x52, 0x08, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x50, 0x61, 0x64, 0x22, 0x89, 0x04, 0x0a, + 0x29, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x36, + 0x0a, 0x17, 0x64, 0x65, 0x76, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x15, 0x64, 0x65, 0x76, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x0f, 0x64, 0x65, 0x76, 0x5f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, - 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, - 0x32, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, - 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, - 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x67, 0x72, - 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x63, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, - 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x1a, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, - 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, - 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, - 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x07, - 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, - 0x6d, 0x5f, 0x72, 0x32, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, - 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x63, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, - 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, - 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, 0x22, 0x4e, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, - 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, - 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, - 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x22, 0xd3, 0x05, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x2d, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x47, 0x61, + 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, + 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x3c, 0x0a, 0x1a, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x18, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, + 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, + 0x32, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, + 0x52, 0x32, 0x63, 0x12, 0x3f, 0x0a, 0x1c, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x6c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x69, 0x6e, + 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x64, 0x75, 0x6d, 0x6d, 0x79, + 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x67, + 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, + 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x22, 0x9a, 0x04, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x45, 0x32, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x07, + 0x52, 0x08, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x07, 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x32, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, 0x32, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x05, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, + 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, + 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, + 0x0a, 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, + 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, + 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, + 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4c, + 0x41, 0x59, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x20, 0x22, 0xbe, 0x05, + 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, + 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, + 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x6d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x70, 0x12, 0x30, + 0x0a, 0x14, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x6e, 0x61, + 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, - 0x32, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x32, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0b, - 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x32, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x73, 0x12, 0x1e, 0x0a, 0x0b, - 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, 0x12, 0x34, 0x0a, 0x16, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, - 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x4e, 0x0a, 0x05, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, - 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, - 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, - 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, - 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x22, 0xc1, 0x04, 0x0a, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, - 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, - 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, - 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x6b, - 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, 0x63, - 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0c, - 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x32, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x53, - 0x32, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, - 0x32, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, + 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, - 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x22, 0x4e, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, - 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, - 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, - 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, - 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, - 0x22, 0xc8, 0x05, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, - 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, - 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x10, 0x70, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x24, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x6f, 0x75, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, - 0x79, 0x4c, 0x65, 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x79, 0x5f, 0x65, 0x70, 0x68, 0x65, 0x6d, - 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x79, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x1a, 0x41, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x94, 0x01, 0x0a, 0x22, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x32, 0x63, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x63, 0x12, 0x1e, + 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, 0x22, 0x4e, + 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, + 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, + 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x22, 0xd3, + 0x05, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, + 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, - 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, - 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, - 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, - 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, - 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x32, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, - 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x63, 0x22, 0xde, 0x06, 0x0a, 0x31, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x32, 0x50, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x4d, - 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, - 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, - 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x58, 0x0a, 0x13, 0x70, 0x32, 0x70, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, + 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, + 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x07, + 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, + 0x72, 0x32, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, + 0x6d, 0x52, 0x32, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, + 0x65, 0x32, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, + 0x6d, 0x45, 0x32, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, + 0x63, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, + 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x22, 0x4e, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, + 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4c, + 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, + 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x4b, + 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, + 0x54, 0x45, 0x10, 0x04, 0x22, 0xc1, 0x04, 0x0a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, + 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, + 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, 0x65, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, + 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, + 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x32, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x53, 0x32, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, + 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, + 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, + 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, + 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x22, 0xc8, 0x05, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, - 0x50, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, - 0x11, 0x70, 0x32, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, - 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, - 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, - 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, - 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x63, 0x6b, 0x5f, 0x70, - 0x65, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x61, 0x63, 0x6b, 0x50, 0x65, - 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, - 0x5f, 0x63, 0x32, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, - 0x75, 0x6d, 0x43, 0x32, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, - 0x5f, 0x65, 0x32, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, - 0x75, 0x6d, 0x45, 0x32, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, - 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, - 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, - 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, - 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, - 0x1d, 0x0a, 0x19, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x10, 0x12, 0x19, - 0x0a, 0x15, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4f, - 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x20, 0x22, 0xe3, 0x06, 0x0a, 0x31, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x32, - 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, - 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, - 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, - 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x6d, 0x69, 0x67, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x70, 0x12, 0x30, 0x0a, - 0x14, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x67, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, - 0x41, 0x0a, 0x1d, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, - 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, - 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, - 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, - 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, - 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x61, - 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x18, 0x61, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x32, 0x63, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x63, - 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, - 0x22, 0x6d, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, - 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, - 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, - 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, - 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, - 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x10, 0x22, - 0xec, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, - 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x42, 0x61, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, + 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x6f, 0x64, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x63, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, + 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x65, 0x65, 0x72, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, + 0x12, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x10, 0x70, 0x65, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x24, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, + 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x1f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x6f, 0x75, 0x72, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x4c, 0x65, 0x61, 0x64, 0x42, 0x79, 0x74, + 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x79, 0x5f, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x79, 0x45, 0x70, 0x68, 0x65, 0x6d, + 0x65, 0x72, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, + 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x1a, 0x41, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x22, 0x94, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x63, 0x65, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x26, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x1d, 0x0a, 0x0a, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x18, 0x63, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x09, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x50, 0x61, 0x64, 0x22, 0x83, - 0x04, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, - 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, - 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x32, 0x63, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x63, + 0x22, 0xde, 0x06, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x32, 0x50, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, 0x65, + 0x12, 0x58, 0x0a, 0x13, 0x70, 0x32, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x11, 0x70, 0x32, 0x70, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, + 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, + 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, + 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x07, 0x52, + 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x1e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x36, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, + 0x37, 0x0a, 0x18, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x15, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x32, 0x72, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, 0x32, 0x72, 0x12, 0x1e, 0x0a, + 0x0b, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, 0x22, 0xa1, 0x01, + 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, + 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, + 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x17, + 0x0a, 0x13, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, + 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x4f, 0x54, 0x5f, 0x50, + 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x45, 0x32, 0x45, 0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, + 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, + 0x20, 0x22, 0xe3, 0x06, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, + 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x71, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x32, + 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x74, + 0x69, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x53, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x63, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, + 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, + 0x6b, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x08, 0x61, + 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, 0x63, + 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x07, 0x52, + 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x63, 0x6b, 0x45, 0x32, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, 0x63, 0x6b, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x63, + 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x61, 0x63, + 0x6b, 0x50, 0x65, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x32, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x32, 0x63, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x32, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x45, 0x32, 0x65, 0x22, 0x6d, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, + 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x4b, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, + 0x15, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x4d, 0x4d, + 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x4f, 0x54, 0x5f, + 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x45, 0x32, 0x45, 0x10, 0x10, 0x22, 0xec, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, + 0x42, 0x61, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x63, 0x6b, 0x5f, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, + 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x6c, 0x75, 0x64, 0x67, + 0x65, 0x5f, 0x70, 0x61, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x6b, 0x6c, 0x75, + 0x64, 0x67, 0x65, 0x50, 0x61, 0x64, 0x22, 0x83, 0x04, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, - 0xa2, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x05, 0x70, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x69, 0x6e, 0x67, 0x5f, - 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x67, 0x4d, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, - 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x1b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x8d, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1a, - 0x0a, 0x09, 0x6d, 0x79, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x07, 0x6d, 0x79, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x79, 0x6f, - 0x75, 0x72, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x09, 0x79, 0x6f, 0x75, 0x72, 0x50, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, - 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x49, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x69, 0x6e, - 0x50, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, - 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x75, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x6c, 0x75, - 0x64, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6b, - 0x6c, 0x75, 0x64, 0x67, 0x65, 0x50, 0x61, 0x64, 0x22, 0x60, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x65, 0x74, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0xe0, 0x0b, 0x0a, 0x13, 0x45, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x50, 0x32, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xa2, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, + 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x70, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x70, 0x6f, 0x70, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x70, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x3d, 0x0a, + 0x1b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x8d, 0x01, 0x0a, + 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x6d, 0x79, 0x5f, 0x70, 0x6f, 0x70, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x07, 0x6d, 0x79, 0x50, 0x6f, 0x70, + 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x70, 0x6f, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x79, 0x6f, 0x75, 0x72, 0x50, 0x6f, 0x70, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, + 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb1, 0x02, 0x0a, + 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x69, 0x6e, + 0x49, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x18, + 0x63, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6b, 0x6c, 0x75, 0x64, 0x67, 0x65, 0x50, 0x61, 0x64, + 0x22, 0x60, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x2a, 0xe0, 0x0b, 0x0a, 0x13, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x49, 0x44, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, + 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, + 0x67, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x6b, + 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, + 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x10, 0x02, 0x12, + 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x03, 0x12, 0x30, + 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x05, + 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x6f, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, - 0x49, 0x44, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, - 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, - 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x01, 0x12, 0x27, - 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, - 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x10, 0x02, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, - 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x10, 0x03, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x05, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x06, 0x12, 0x21, - 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, - 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x6f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, - 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, - 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, - 0x74, 0x69, 0x63, 0x10, 0x08, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x74, - 0x61, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x10, - 0x09, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, - 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x0a, 0x12, 0x2a, 0x0a, + 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x10, 0x08, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, - 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x10, 0x0b, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, + 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x10, 0x09, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, - 0x5f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x10, 0x0c, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x10, 0x0d, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x10, 0x0e, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x10, 0x0f, 0x12, 0x35, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x10, 0x10, 0x12, 0x23, 0x0a, 0x1f, 0x6b, - 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, - 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x10, 0x11, - 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x12, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x53, + 0x5f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x10, 0x0a, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x10, + 0x0b, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x0c, 0x12, 0x1d, 0x0a, + 0x19, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0x0d, 0x12, 0x2f, 0x0a, 0x2b, + 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x0e, 0x12, 0x2d, 0x0a, + 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x10, 0x0f, 0x12, 0x35, 0x0a, 0x31, + 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 0x10, 0x10, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x10, 0x11, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x4b, 0x10, 0x13, 0x12, 0x28, 0x0a, 0x24, 0x6b, - 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, - 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x64, 0x10, 0x14, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x6f, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x15, 0x12, 0x2c, 0x0a, 0x28, 0x6b, - 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, - 0x73, 0x67, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x16, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, - 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x10, 0x17, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x32, 0x50, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x18, - 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x19, 0x12, - 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, - 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x32, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x1a, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x53, 0x74, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x12, + 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, + 0x4b, 0x10, 0x13, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x10, 0x14, 0x12, 0x24, 0x0a, + 0x20, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0x15, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, + 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, + 0x16, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x44, + 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x10, 0x17, 0x12, 0x29, 0x0a, + 0x25, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x18, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, + 0x50, 0x32, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x19, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, - 0x32, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x10, 0x1b, 0x12, 0x23, - 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, - 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x32, 0x50, 0x42, 0x61, 0x64, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x10, 0x1c, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, - 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x10, 0x1d, - 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, 0x61, - 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x1e, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, - 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x1f, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, - 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, 0x20, 0x12, 0x2f, 0x0a, - 0x2b, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x21, 0x12, 0x2d, - 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, - 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x10, 0x22, 0x42, 0x2a, 0x48, - 0x01, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, - 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, - 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, 0x80, 0x01, 0x00, + 0x32, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x1a, 0x12, + 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x32, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x10, 0x1b, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x32, + 0x50, 0x42, 0x61, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x10, 0x1c, 0x12, 0x2b, 0x0a, 0x27, 0x6b, + 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, + 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x10, 0x1d, 0x12, 0x34, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, + 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x1e, 0x12, 0x32, + 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x10, 0x1f, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x10, 0x20, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x10, 0x21, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x54, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x10, 0x22, 0x42, 0x2a, 0x48, 0x01, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, + 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, 0x80, 0x01, + 0x00, } var ( @@ -5980,7 +6108,7 @@ func file_steamdatagram_messages_sdr_proto_rawDescGZIP() []byte { } var file_steamdatagram_messages_sdr_proto_enumTypes = make([]protoimpl.EnumInfo, 10) -var file_steamdatagram_messages_sdr_proto_msgTypes = make([]protoimpl.MessageInfo, 41) +var file_steamdatagram_messages_sdr_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_steamdatagram_messages_sdr_proto_goTypes = []interface{}{ (ESteamDatagramMsgID)(0), // 0: dota.ESteamDatagramMsgID (CMsgSteamDatagramRouterPingReply_Flags)(0), // 1: dota.CMsgSteamDatagramRouterPingReply.Flags @@ -6000,96 +6128,98 @@ var file_steamdatagram_messages_sdr_proto_goTypes = []interface{}{ (*CMsgSteamDatagramGameserverPingReplyData)(nil), // 15: dota.CMsgSteamDatagramGameserverPingReplyData (*CMsgSteamDatagramNoSessionRelayToClient)(nil), // 16: dota.CMsgSteamDatagramNoSessionRelayToClient (*CMsgSteamDatagramNoSessionRelayToPeer)(nil), // 17: dota.CMsgSteamDatagramNoSessionRelayToPeer - (*CMsgSteamDatagramClientPingSampleRequest)(nil), // 18: dota.CMsgSteamDatagramClientPingSampleRequest - (*CMsgSteamDatagramClientPingSampleReply)(nil), // 19: dota.CMsgSteamDatagramClientPingSampleReply - (*CMsgSteamDatagramClientSwitchedPrimary)(nil), // 20: dota.CMsgSteamDatagramClientSwitchedPrimary - (*CMsgSteamDatagramConnectRequest)(nil), // 21: dota.CMsgSteamDatagramConnectRequest - (*CMsgSteamDatagramConnectOK)(nil), // 22: dota.CMsgSteamDatagramConnectOK - (*CMsgSteamNetworkingP2PSDRRoutingSummary)(nil), // 23: dota.CMsgSteamNetworkingP2PSDRRoutingSummary - (*CMsgSteamDatagramP2PRoutingSummary)(nil), // 24: dota.CMsgSteamDatagramP2PRoutingSummary - (*CMsgSteamDatagramConnectionClosed)(nil), // 25: dota.CMsgSteamDatagramConnectionClosed - (*CMsgSteamDatagramNoConnection)(nil), // 26: dota.CMsgSteamDatagramNoConnection - (*CMsgSteamDatagramGameserverSessionRequest)(nil), // 27: dota.CMsgSteamDatagramGameserverSessionRequest - (*CMsgSteamDatagramGameserverSessionEstablished)(nil), // 28: dota.CMsgSteamDatagramGameserverSessionEstablished - (*CMsgSteamDatagramConnectionStatsClientToRouter)(nil), // 29: dota.CMsgSteamDatagramConnectionStatsClientToRouter - (*CMsgSteamDatagramConnectionStatsRouterToClient)(nil), // 30: dota.CMsgSteamDatagramConnectionStatsRouterToClient - (*CMsgSteamDatagramConnectionStatsRouterToServer)(nil), // 31: dota.CMsgSteamDatagramConnectionStatsRouterToServer - (*CMsgSteamDatagramConnectionStatsServerToRouter)(nil), // 32: dota.CMsgSteamDatagramConnectionStatsServerToRouter - (*CMsgSteamDatagramP2PSessionRequestBody)(nil), // 33: dota.CMsgSteamDatagramP2PSessionRequestBody - (*CMsgSteamDatagramP2PSessionRequest)(nil), // 34: dota.CMsgSteamDatagramP2PSessionRequest - (*CMsgSteamDatagramP2PSessionEstablished)(nil), // 35: dota.CMsgSteamDatagramP2PSessionEstablished - (*CMsgSteamDatagramConnectionStatsP2PClientToRouter)(nil), // 36: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter - (*CMsgSteamDatagramConnectionStatsP2PRouterToClient)(nil), // 37: dota.CMsgSteamDatagramConnectionStatsP2PRouterToClient - (*CMsgSteamDatagramP2PBadRouteRouterToClient)(nil), // 38: dota.CMsgSteamDatagramP2PBadRouteRouterToClient - (*CMsgSteamDatagramP2PRoutes)(nil), // 39: dota.CMsgSteamDatagramP2PRoutes - (*CMsgSteamDatagramSetSecondaryAddressRequest)(nil), // 40: dota.CMsgSteamDatagramSetSecondaryAddressRequest - (*CMsgSteamDatagramSetSecondaryAddressResult)(nil), // 41: dota.CMsgSteamDatagramSetSecondaryAddressResult - (*CMsgSteamDatagramRouterPingReply_RouteException)(nil), // 42: dota.CMsgSteamDatagramRouterPingReply.RouteException - (*CMsgSteamDatagramRouterPingReply_AltAddress)(nil), // 43: dota.CMsgSteamDatagramRouterPingReply.AltAddress - (*CMsgSteamDatagramClientPingSampleReply_POP)(nil), // 44: dota.CMsgSteamDatagramClientPingSampleReply.POP - (*CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter)(nil), // 45: dota.CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter - (*CMsgSteamDatagramClientPingSampleReply_POP_AltAddress)(nil), // 46: dota.CMsgSteamDatagramClientPingSampleReply.POP.AltAddress - (*CMsgSteamDatagramClientSwitchedPrimary_RouterQuality)(nil), // 47: dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality - (*CMsgSteamDatagramP2PSessionRequestBody_EncryptedData)(nil), // 48: dota.CMsgSteamDatagramP2PSessionRequestBody.EncryptedData - (*CMsgSteamDatagramP2PRoutes_RelayCluster)(nil), // 49: dota.CMsgSteamDatagramP2PRoutes.RelayCluster - (*CMsgSteamDatagramP2PRoutes_Route)(nil), // 50: dota.CMsgSteamDatagramP2PRoutes.Route - (*CMsgSteamDatagramCertificateSigned)(nil), // 51: dota.CMsgSteamDatagramCertificateSigned - (*CMsgSteamDatagramSessionCryptInfoSigned)(nil), // 52: dota.CMsgSteamDatagramSessionCryptInfoSigned - (*CMsgSteamNetworkingICESessionSummary)(nil), // 53: dota.CMsgSteamNetworkingICESessionSummary - (*CMsgSteamNetworkingIdentityLegacyBinary)(nil), // 54: dota.CMsgSteamNetworkingIdentityLegacyBinary - (*CMsgSteamDatagramConnectionQuality)(nil), // 55: dota.CMsgSteamDatagramConnectionQuality + (*CMsgTOSTreatment)(nil), // 18: dota.CMsgTOSTreatment + (*CMsgSteamDatagramClientPingSampleRequest)(nil), // 19: dota.CMsgSteamDatagramClientPingSampleRequest + (*CMsgSteamDatagramClientPingSampleReply)(nil), // 20: dota.CMsgSteamDatagramClientPingSampleReply + (*CMsgSteamDatagramClientSwitchedPrimary)(nil), // 21: dota.CMsgSteamDatagramClientSwitchedPrimary + (*CMsgSteamDatagramConnectRequest)(nil), // 22: dota.CMsgSteamDatagramConnectRequest + (*CMsgSteamDatagramConnectOK)(nil), // 23: dota.CMsgSteamDatagramConnectOK + (*CMsgSteamNetworkingP2PSDRRoutingSummary)(nil), // 24: dota.CMsgSteamNetworkingP2PSDRRoutingSummary + (*CMsgSteamDatagramP2PRoutingSummary)(nil), // 25: dota.CMsgSteamDatagramP2PRoutingSummary + (*CMsgSteamDatagramConnectionClosed)(nil), // 26: dota.CMsgSteamDatagramConnectionClosed + (*CMsgSteamDatagramNoConnection)(nil), // 27: dota.CMsgSteamDatagramNoConnection + (*CMsgSteamDatagramGameserverSessionRequest)(nil), // 28: dota.CMsgSteamDatagramGameserverSessionRequest + (*CMsgSteamDatagramGameserverSessionEstablished)(nil), // 29: dota.CMsgSteamDatagramGameserverSessionEstablished + (*CMsgSteamDatagramConnectionStatsClientToRouter)(nil), // 30: dota.CMsgSteamDatagramConnectionStatsClientToRouter + (*CMsgSteamDatagramConnectionStatsRouterToClient)(nil), // 31: dota.CMsgSteamDatagramConnectionStatsRouterToClient + (*CMsgSteamDatagramConnectionStatsRouterToServer)(nil), // 32: dota.CMsgSteamDatagramConnectionStatsRouterToServer + (*CMsgSteamDatagramConnectionStatsServerToRouter)(nil), // 33: dota.CMsgSteamDatagramConnectionStatsServerToRouter + (*CMsgSteamDatagramP2PSessionRequestBody)(nil), // 34: dota.CMsgSteamDatagramP2PSessionRequestBody + (*CMsgSteamDatagramP2PSessionRequest)(nil), // 35: dota.CMsgSteamDatagramP2PSessionRequest + (*CMsgSteamDatagramP2PSessionEstablished)(nil), // 36: dota.CMsgSteamDatagramP2PSessionEstablished + (*CMsgSteamDatagramConnectionStatsP2PClientToRouter)(nil), // 37: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter + (*CMsgSteamDatagramConnectionStatsP2PRouterToClient)(nil), // 38: dota.CMsgSteamDatagramConnectionStatsP2PRouterToClient + (*CMsgSteamDatagramP2PBadRouteRouterToClient)(nil), // 39: dota.CMsgSteamDatagramP2PBadRouteRouterToClient + (*CMsgSteamDatagramP2PRoutes)(nil), // 40: dota.CMsgSteamDatagramP2PRoutes + (*CMsgSteamDatagramSetSecondaryAddressRequest)(nil), // 41: dota.CMsgSteamDatagramSetSecondaryAddressRequest + (*CMsgSteamDatagramSetSecondaryAddressResult)(nil), // 42: dota.CMsgSteamDatagramSetSecondaryAddressResult + (*CMsgSteamDatagramRouterPingReply_RouteException)(nil), // 43: dota.CMsgSteamDatagramRouterPingReply.RouteException + (*CMsgSteamDatagramRouterPingReply_AltAddress)(nil), // 44: dota.CMsgSteamDatagramRouterPingReply.AltAddress + (*CMsgSteamDatagramClientPingSampleReply_POP)(nil), // 45: dota.CMsgSteamDatagramClientPingSampleReply.POP + (*CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter)(nil), // 46: dota.CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter + (*CMsgSteamDatagramClientPingSampleReply_POP_AltAddress)(nil), // 47: dota.CMsgSteamDatagramClientPingSampleReply.POP.AltAddress + (*CMsgSteamDatagramClientSwitchedPrimary_RouterQuality)(nil), // 48: dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality + (*CMsgSteamDatagramP2PSessionRequestBody_EncryptedData)(nil), // 49: dota.CMsgSteamDatagramP2PSessionRequestBody.EncryptedData + (*CMsgSteamDatagramP2PRoutes_RelayCluster)(nil), // 50: dota.CMsgSteamDatagramP2PRoutes.RelayCluster + (*CMsgSteamDatagramP2PRoutes_Route)(nil), // 51: dota.CMsgSteamDatagramP2PRoutes.Route + (*CMsgSteamDatagramCertificateSigned)(nil), // 52: dota.CMsgSteamDatagramCertificateSigned + (*CMsgSteamDatagramSessionCryptInfoSigned)(nil), // 53: dota.CMsgSteamDatagramSessionCryptInfoSigned + (*CMsgSteamNetworkingICESessionSummary)(nil), // 54: dota.CMsgSteamNetworkingICESessionSummary + (*CMsgSteamNetworkingIdentityLegacyBinary)(nil), // 55: dota.CMsgSteamNetworkingIdentityLegacyBinary + (*CMsgSteamDatagramConnectionQuality)(nil), // 56: dota.CMsgSteamDatagramConnectionQuality } var file_steamdatagram_messages_sdr_proto_depIdxs = []int32{ - 51, // 0: dota.CMsgSteamDatagramSignedMessageGeneric.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned - 42, // 1: dota.CMsgSteamDatagramRouterPingReply.route_exceptions:type_name -> dota.CMsgSteamDatagramRouterPingReply.RouteException - 43, // 2: dota.CMsgSteamDatagramRouterPingReply.alt_addresses:type_name -> dota.CMsgSteamDatagramRouterPingReply.AltAddress + 52, // 0: dota.CMsgSteamDatagramSignedMessageGeneric.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned + 43, // 1: dota.CMsgSteamDatagramRouterPingReply.route_exceptions:type_name -> dota.CMsgSteamDatagramRouterPingReply.RouteException + 44, // 2: dota.CMsgSteamDatagramRouterPingReply.alt_addresses:type_name -> dota.CMsgSteamDatagramRouterPingReply.AltAddress 10, // 3: dota.CMsgSteamDatagramGameserverPingRequestBody.your_public_ip:type_name -> dota.CMsgSteamNetworkingIPAddress 10, // 4: dota.CMsgSteamDatagramGameserverPingRequestBody.my_ips:type_name -> dota.CMsgSteamNetworkingIPAddress - 51, // 5: dota.CMsgSteamDatagramGameserverPingRequestEnvelope.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned - 44, // 6: dota.CMsgSteamDatagramClientPingSampleReply.pops:type_name -> dota.CMsgSteamDatagramClientPingSampleReply.POP - 45, // 7: dota.CMsgSteamDatagramClientPingSampleReply.legacy_data_centers:type_name -> dota.CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter - 47, // 8: dota.CMsgSteamDatagramClientSwitchedPrimary.from_quality_now:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality - 47, // 9: dota.CMsgSteamDatagramClientSwitchedPrimary.to_quality_now:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality - 47, // 10: dota.CMsgSteamDatagramClientSwitchedPrimary.from_quality_then:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality - 47, // 11: dota.CMsgSteamDatagramClientSwitchedPrimary.to_quality_then:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality - 52, // 12: dota.CMsgSteamDatagramConnectRequest.crypt:type_name -> dota.CMsgSteamDatagramSessionCryptInfoSigned - 51, // 13: dota.CMsgSteamDatagramConnectRequest.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned - 52, // 14: dota.CMsgSteamDatagramConnectOK.crypt:type_name -> dota.CMsgSteamDatagramSessionCryptInfoSigned - 51, // 15: dota.CMsgSteamDatagramConnectOK.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned - 53, // 16: dota.CMsgSteamDatagramP2PRoutingSummary.ice:type_name -> dota.CMsgSteamNetworkingICESessionSummary - 23, // 17: dota.CMsgSteamDatagramP2PRoutingSummary.sdr:type_name -> dota.CMsgSteamNetworkingP2PSDRRoutingSummary - 54, // 18: dota.CMsgSteamDatagramConnectionClosed.legacy_from_identity_binary:type_name -> dota.CMsgSteamNetworkingIdentityLegacyBinary - 3, // 19: dota.CMsgSteamDatagramConnectionClosed.relay_mode:type_name -> dota.CMsgSteamDatagramConnectionClosed.ERelayMode - 55, // 20: dota.CMsgSteamDatagramConnectionClosed.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 21: dota.CMsgSteamDatagramConnectionClosed.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 24, // 22: dota.CMsgSteamDatagramConnectionClosed.p2p_routing_summary:type_name -> dota.CMsgSteamDatagramP2PRoutingSummary - 55, // 23: dota.CMsgSteamDatagramNoConnection.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 24: dota.CMsgSteamDatagramNoConnection.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 24, // 25: dota.CMsgSteamDatagramNoConnection.p2p_routing_summary:type_name -> dota.CMsgSteamDatagramP2PRoutingSummary - 51, // 26: dota.CMsgSteamDatagramGameserverSessionRequest.dev_client_cert:type_name -> dota.CMsgSteamDatagramCertificateSigned - 55, // 27: dota.CMsgSteamDatagramConnectionStatsClientToRouter.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 28: dota.CMsgSteamDatagramConnectionStatsClientToRouter.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 29: dota.CMsgSteamDatagramConnectionStatsRouterToClient.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 30: dota.CMsgSteamDatagramConnectionStatsRouterToClient.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 31: dota.CMsgSteamDatagramConnectionStatsRouterToServer.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 32: dota.CMsgSteamDatagramConnectionStatsRouterToServer.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 33: dota.CMsgSteamDatagramConnectionStatsServerToRouter.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 34: dota.CMsgSteamDatagramConnectionStatsServerToRouter.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 51, // 35: dota.CMsgSteamDatagramP2PSessionRequest.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned - 55, // 36: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 37: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 24, // 38: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter.p2p_routing_summary:type_name -> dota.CMsgSteamDatagramP2PRoutingSummary - 55, // 39: dota.CMsgSteamDatagramConnectionStatsP2PRouterToClient.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality - 55, // 40: dota.CMsgSteamDatagramConnectionStatsP2PRouterToClient.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality - 49, // 41: dota.CMsgSteamDatagramP2PRoutes.relay_clusters:type_name -> dota.CMsgSteamDatagramP2PRoutes.RelayCluster - 50, // 42: dota.CMsgSteamDatagramP2PRoutes.routes:type_name -> dota.CMsgSteamDatagramP2PRoutes.Route - 2, // 43: dota.CMsgSteamDatagramRouterPingReply.AltAddress.protocol:type_name -> dota.CMsgSteamDatagramRouterPingReply.AltAddress.Protocol - 46, // 44: dota.CMsgSteamDatagramClientPingSampleReply.POP.alt_addresses:type_name -> dota.CMsgSteamDatagramClientPingSampleReply.POP.AltAddress - 45, // [45:45] is the sub-list for method output_type - 45, // [45:45] is the sub-list for method input_type - 45, // [45:45] is the sub-list for extension type_name - 45, // [45:45] is the sub-list for extension extendee - 0, // [0:45] is the sub-list for field type_name + 52, // 5: dota.CMsgSteamDatagramGameserverPingRequestEnvelope.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned + 18, // 6: dota.CMsgSteamDatagramClientPingSampleReply.tos:type_name -> dota.CMsgTOSTreatment + 45, // 7: dota.CMsgSteamDatagramClientPingSampleReply.pops:type_name -> dota.CMsgSteamDatagramClientPingSampleReply.POP + 46, // 8: dota.CMsgSteamDatagramClientPingSampleReply.legacy_data_centers:type_name -> dota.CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter + 48, // 9: dota.CMsgSteamDatagramClientSwitchedPrimary.from_quality_now:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality + 48, // 10: dota.CMsgSteamDatagramClientSwitchedPrimary.to_quality_now:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality + 48, // 11: dota.CMsgSteamDatagramClientSwitchedPrimary.from_quality_then:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality + 48, // 12: dota.CMsgSteamDatagramClientSwitchedPrimary.to_quality_then:type_name -> dota.CMsgSteamDatagramClientSwitchedPrimary.RouterQuality + 53, // 13: dota.CMsgSteamDatagramConnectRequest.crypt:type_name -> dota.CMsgSteamDatagramSessionCryptInfoSigned + 52, // 14: dota.CMsgSteamDatagramConnectRequest.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned + 53, // 15: dota.CMsgSteamDatagramConnectOK.crypt:type_name -> dota.CMsgSteamDatagramSessionCryptInfoSigned + 52, // 16: dota.CMsgSteamDatagramConnectOK.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned + 54, // 17: dota.CMsgSteamDatagramP2PRoutingSummary.ice:type_name -> dota.CMsgSteamNetworkingICESessionSummary + 24, // 18: dota.CMsgSteamDatagramP2PRoutingSummary.sdr:type_name -> dota.CMsgSteamNetworkingP2PSDRRoutingSummary + 55, // 19: dota.CMsgSteamDatagramConnectionClosed.legacy_from_identity_binary:type_name -> dota.CMsgSteamNetworkingIdentityLegacyBinary + 3, // 20: dota.CMsgSteamDatagramConnectionClosed.relay_mode:type_name -> dota.CMsgSteamDatagramConnectionClosed.ERelayMode + 56, // 21: dota.CMsgSteamDatagramConnectionClosed.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 22: dota.CMsgSteamDatagramConnectionClosed.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 25, // 23: dota.CMsgSteamDatagramConnectionClosed.p2p_routing_summary:type_name -> dota.CMsgSteamDatagramP2PRoutingSummary + 56, // 24: dota.CMsgSteamDatagramNoConnection.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 25: dota.CMsgSteamDatagramNoConnection.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 25, // 26: dota.CMsgSteamDatagramNoConnection.p2p_routing_summary:type_name -> dota.CMsgSteamDatagramP2PRoutingSummary + 52, // 27: dota.CMsgSteamDatagramGameserverSessionRequest.dev_client_cert:type_name -> dota.CMsgSteamDatagramCertificateSigned + 56, // 28: dota.CMsgSteamDatagramConnectionStatsClientToRouter.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 29: dota.CMsgSteamDatagramConnectionStatsClientToRouter.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 30: dota.CMsgSteamDatagramConnectionStatsRouterToClient.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 31: dota.CMsgSteamDatagramConnectionStatsRouterToClient.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 32: dota.CMsgSteamDatagramConnectionStatsRouterToServer.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 33: dota.CMsgSteamDatagramConnectionStatsRouterToServer.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 34: dota.CMsgSteamDatagramConnectionStatsServerToRouter.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 35: dota.CMsgSteamDatagramConnectionStatsServerToRouter.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 52, // 36: dota.CMsgSteamDatagramP2PSessionRequest.cert:type_name -> dota.CMsgSteamDatagramCertificateSigned + 56, // 37: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 38: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 25, // 39: dota.CMsgSteamDatagramConnectionStatsP2PClientToRouter.p2p_routing_summary:type_name -> dota.CMsgSteamDatagramP2PRoutingSummary + 56, // 40: dota.CMsgSteamDatagramConnectionStatsP2PRouterToClient.quality_relay:type_name -> dota.CMsgSteamDatagramConnectionQuality + 56, // 41: dota.CMsgSteamDatagramConnectionStatsP2PRouterToClient.quality_e2e:type_name -> dota.CMsgSteamDatagramConnectionQuality + 50, // 42: dota.CMsgSteamDatagramP2PRoutes.relay_clusters:type_name -> dota.CMsgSteamDatagramP2PRoutes.RelayCluster + 51, // 43: dota.CMsgSteamDatagramP2PRoutes.routes:type_name -> dota.CMsgSteamDatagramP2PRoutes.Route + 2, // 44: dota.CMsgSteamDatagramRouterPingReply.AltAddress.protocol:type_name -> dota.CMsgSteamDatagramRouterPingReply.AltAddress.Protocol + 47, // 45: dota.CMsgSteamDatagramClientPingSampleReply.POP.alt_addresses:type_name -> dota.CMsgSteamDatagramClientPingSampleReply.POP.AltAddress + 46, // [46:46] is the sub-list for method output_type + 46, // [46:46] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name } func init() { file_steamdatagram_messages_sdr_proto_init() } @@ -6197,7 +6327,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramClientPingSampleRequest); i { + switch v := v.(*CMsgTOSTreatment); i { case 0: return &v.state case 1: @@ -6209,7 +6339,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramClientPingSampleReply); i { + switch v := v.(*CMsgSteamDatagramClientPingSampleRequest); i { case 0: return &v.state case 1: @@ -6221,7 +6351,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramClientSwitchedPrimary); i { + switch v := v.(*CMsgSteamDatagramClientPingSampleReply); i { case 0: return &v.state case 1: @@ -6233,7 +6363,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectRequest); i { + switch v := v.(*CMsgSteamDatagramClientSwitchedPrimary); i { case 0: return &v.state case 1: @@ -6245,7 +6375,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectOK); i { + switch v := v.(*CMsgSteamDatagramConnectRequest); i { case 0: return &v.state case 1: @@ -6257,7 +6387,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamNetworkingP2PSDRRoutingSummary); i { + switch v := v.(*CMsgSteamDatagramConnectOK); i { case 0: return &v.state case 1: @@ -6269,7 +6399,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PRoutingSummary); i { + switch v := v.(*CMsgSteamNetworkingP2PSDRRoutingSummary); i { case 0: return &v.state case 1: @@ -6281,7 +6411,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectionClosed); i { + switch v := v.(*CMsgSteamDatagramP2PRoutingSummary); i { case 0: return &v.state case 1: @@ -6293,7 +6423,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramNoConnection); i { + switch v := v.(*CMsgSteamDatagramConnectionClosed); i { case 0: return &v.state case 1: @@ -6305,7 +6435,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramGameserverSessionRequest); i { + switch v := v.(*CMsgSteamDatagramNoConnection); i { case 0: return &v.state case 1: @@ -6317,7 +6447,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramGameserverSessionEstablished); i { + switch v := v.(*CMsgSteamDatagramGameserverSessionRequest); i { case 0: return &v.state case 1: @@ -6329,7 +6459,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectionStatsClientToRouter); i { + switch v := v.(*CMsgSteamDatagramGameserverSessionEstablished); i { case 0: return &v.state case 1: @@ -6341,7 +6471,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectionStatsRouterToClient); i { + switch v := v.(*CMsgSteamDatagramConnectionStatsClientToRouter); i { case 0: return &v.state case 1: @@ -6353,7 +6483,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectionStatsRouterToServer); i { + switch v := v.(*CMsgSteamDatagramConnectionStatsRouterToClient); i { case 0: return &v.state case 1: @@ -6365,7 +6495,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectionStatsServerToRouter); i { + switch v := v.(*CMsgSteamDatagramConnectionStatsRouterToServer); i { case 0: return &v.state case 1: @@ -6377,7 +6507,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PSessionRequestBody); i { + switch v := v.(*CMsgSteamDatagramConnectionStatsServerToRouter); i { case 0: return &v.state case 1: @@ -6389,7 +6519,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PSessionRequest); i { + switch v := v.(*CMsgSteamDatagramP2PSessionRequestBody); i { case 0: return &v.state case 1: @@ -6401,7 +6531,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PSessionEstablished); i { + switch v := v.(*CMsgSteamDatagramP2PSessionRequest); i { case 0: return &v.state case 1: @@ -6413,7 +6543,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectionStatsP2PClientToRouter); i { + switch v := v.(*CMsgSteamDatagramP2PSessionEstablished); i { case 0: return &v.state case 1: @@ -6425,7 +6555,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramConnectionStatsP2PRouterToClient); i { + switch v := v.(*CMsgSteamDatagramConnectionStatsP2PClientToRouter); i { case 0: return &v.state case 1: @@ -6437,7 +6567,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PBadRouteRouterToClient); i { + switch v := v.(*CMsgSteamDatagramConnectionStatsP2PRouterToClient); i { case 0: return &v.state case 1: @@ -6449,7 +6579,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PRoutes); i { + switch v := v.(*CMsgSteamDatagramP2PBadRouteRouterToClient); i { case 0: return &v.state case 1: @@ -6461,7 +6591,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramSetSecondaryAddressRequest); i { + switch v := v.(*CMsgSteamDatagramP2PRoutes); i { case 0: return &v.state case 1: @@ -6473,7 +6603,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramSetSecondaryAddressResult); i { + switch v := v.(*CMsgSteamDatagramSetSecondaryAddressRequest); i { case 0: return &v.state case 1: @@ -6485,7 +6615,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramRouterPingReply_RouteException); i { + switch v := v.(*CMsgSteamDatagramSetSecondaryAddressResult); i { case 0: return &v.state case 1: @@ -6497,7 +6627,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramRouterPingReply_AltAddress); i { + switch v := v.(*CMsgSteamDatagramRouterPingReply_RouteException); i { case 0: return &v.state case 1: @@ -6509,7 +6639,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramClientPingSampleReply_POP); i { + switch v := v.(*CMsgSteamDatagramRouterPingReply_AltAddress); i { case 0: return &v.state case 1: @@ -6521,7 +6651,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter); i { + switch v := v.(*CMsgSteamDatagramClientPingSampleReply_POP); i { case 0: return &v.state case 1: @@ -6533,7 +6663,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramClientPingSampleReply_POP_AltAddress); i { + switch v := v.(*CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter); i { case 0: return &v.state case 1: @@ -6545,7 +6675,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramClientSwitchedPrimary_RouterQuality); i { + switch v := v.(*CMsgSteamDatagramClientPingSampleReply_POP_AltAddress); i { case 0: return &v.state case 1: @@ -6557,7 +6687,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PSessionRequestBody_EncryptedData); i { + switch v := v.(*CMsgSteamDatagramClientSwitchedPrimary_RouterQuality); i { case 0: return &v.state case 1: @@ -6569,7 +6699,7 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamDatagramP2PRoutes_RelayCluster); i { + switch v := v.(*CMsgSteamDatagramP2PSessionRequestBody_EncryptedData); i { case 0: return &v.state case 1: @@ -6581,6 +6711,18 @@ func file_steamdatagram_messages_sdr_proto_init() { } } file_steamdatagram_messages_sdr_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamDatagramP2PRoutes_RelayCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steamdatagram_messages_sdr_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSteamDatagramP2PRoutes_Route); i { case 0: return &v.state @@ -6599,7 +6741,7 @@ func file_steamdatagram_messages_sdr_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_steamdatagram_messages_sdr_proto_rawDesc, NumEnums: 10, - NumMessages: 41, + NumMessages: 42, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/steamdatagram_messages_sdr.proto b/dota/steamdatagram_messages_sdr.proto index e5690038..a847b1b2 100644 --- a/dota/steamdatagram_messages_sdr.proto +++ b/dota/steamdatagram_messages_sdr.proto @@ -68,7 +68,6 @@ message CMsgSteamDatagramRouterPingReply { message AltAddress { enum Protocol { DefaultProtocol = 0; - NetworkNext = 1; } optional fixed32 ipv4 = 1; @@ -94,11 +93,16 @@ message CMsgSteamDatagramRouterPingReply { optional fixed64 challenge = 6; optional uint32 seconds_until_shutdown = 7; optional fixed32 client_cookie = 8; + optional uint32 recv_tos = 16; + optional uint32 echo_sent_tos = 17; + optional uint32 sent_tos = 18; + optional uint32 echo_request_reply_tos = 19; optional uint32 scoring_penalty_relay_cluster = 9; optional uint32 flags = 12; repeated CMsgSteamDatagramRouterPingReply.RouteException route_exceptions = 10; repeated CMsgSteamDatagramRouterPingReply.AltAddress alt_addresses = 13; optional bytes dummy_pad = 99; + optional uint64 dummy_varint = 100; } message CMsgSteamDatagramGameserverPingRequestBody { @@ -153,6 +157,12 @@ message CMsgSteamDatagramNoSessionRelayToPeer { optional fixed64 kludge_pad = 99; } +message CMsgTOSTreatment { + optional string l4s_detect = 1; + optional string up_ecn1 = 2; + optional string down_dscp45 = 3; +} + message CMsgSteamDatagramClientPingSampleRequest { optional fixed32 connection_id = 1; } @@ -191,6 +201,7 @@ message CMsgSteamDatagramClientPingSampleReply { optional fixed32 connection_id = 1; optional bool relay_override_active = 5; + optional CMsgTOSTreatment tos = 6; repeated CMsgSteamDatagramClientPingSampleReply.POP pops = 2; repeated CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3; } diff --git a/dota/steammessages.pb.go b/dota/steammessages.pb.go index 93c0a6dd..a3d49719 100644 --- a/dota/steammessages.pb.go +++ b/dota/steammessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages.proto package dota diff --git a/dota/steammessages_cloud.steamworkssdk.pb.go b/dota/steammessages_cloud.steamworkssdk.pb.go index 003c07b0..1085cf30 100644 --- a/dota/steammessages_cloud.steamworkssdk.pb.go +++ b/dota/steammessages_cloud.steamworkssdk.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_cloud.steamworkssdk.proto package dota diff --git a/dota/steammessages_gamenetworkingui.pb.go b/dota/steammessages_gamenetworkingui.pb.go index 46ccd7f6..f011db22 100644 --- a/dota/steammessages_gamenetworkingui.pb.go +++ b/dota/steammessages_gamenetworkingui.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_gamenetworkingui.proto package dota diff --git a/dota/steammessages_helprequest.steamworkssdk.pb.go b/dota/steammessages_helprequest.steamworkssdk.pb.go index 24593afd..b712de00 100644 --- a/dota/steammessages_helprequest.steamworkssdk.pb.go +++ b/dota/steammessages_helprequest.steamworkssdk.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_helprequest.steamworkssdk.proto package dota diff --git a/dota/steammessages_int.pb.go b/dota/steammessages_int.pb.go index 20a5f81b..0e9c4e19 100644 --- a/dota/steammessages_int.pb.go +++ b/dota/steammessages_int.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_int.proto package dota @@ -20,65 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type EMobilePaymentProvider int32 - -const ( - EMobilePaymentProvider_k_EMobilePaymentProvider_Invalid EMobilePaymentProvider = 0 - EMobilePaymentProvider_k_EMobilePaymentProvider_GooglePlay EMobilePaymentProvider = 1 - EMobilePaymentProvider_k_EMobilePaymentProvider_AppleAppStore EMobilePaymentProvider = 2 -) - -// Enum value maps for EMobilePaymentProvider. -var ( - EMobilePaymentProvider_name = map[int32]string{ - 0: "k_EMobilePaymentProvider_Invalid", - 1: "k_EMobilePaymentProvider_GooglePlay", - 2: "k_EMobilePaymentProvider_AppleAppStore", - } - EMobilePaymentProvider_value = map[string]int32{ - "k_EMobilePaymentProvider_Invalid": 0, - "k_EMobilePaymentProvider_GooglePlay": 1, - "k_EMobilePaymentProvider_AppleAppStore": 2, - } -) - -func (x EMobilePaymentProvider) Enum() *EMobilePaymentProvider { - p := new(EMobilePaymentProvider) - *p = x - return p -} - -func (x EMobilePaymentProvider) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (EMobilePaymentProvider) Descriptor() protoreflect.EnumDescriptor { - return file_steammessages_int_proto_enumTypes[0].Descriptor() -} - -func (EMobilePaymentProvider) Type() protoreflect.EnumType { - return &file_steammessages_int_proto_enumTypes[0] -} - -func (x EMobilePaymentProvider) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *EMobilePaymentProvider) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = EMobilePaymentProvider(num) - return nil -} - -// Deprecated: Use EMobilePaymentProvider.Descriptor instead. -func (EMobilePaymentProvider) EnumDescriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{0} -} - type CMsgGCRoutingInfo_RoutingMethod int32 const ( @@ -121,11 +62,11 @@ func (x CMsgGCRoutingInfo_RoutingMethod) String() string { } func (CMsgGCRoutingInfo_RoutingMethod) Descriptor() protoreflect.EnumDescriptor { - return file_steammessages_int_proto_enumTypes[1].Descriptor() + return file_steammessages_int_proto_enumTypes[0].Descriptor() } func (CMsgGCRoutingInfo_RoutingMethod) Type() protoreflect.EnumType { - return &file_steammessages_int_proto_enumTypes[1] + return &file_steammessages_int_proto_enumTypes[0] } func (x CMsgGCRoutingInfo_RoutingMethod) Number() protoreflect.EnumNumber { @@ -144,7 +85,7 @@ func (x *CMsgGCRoutingInfo_RoutingMethod) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgGCRoutingInfo_RoutingMethod.Descriptor instead. func (CMsgGCRoutingInfo_RoutingMethod) EnumDescriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{51, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{44, 0} } type CMsgGCMsgSetOptions_Option int32 @@ -183,11 +124,11 @@ func (x CMsgGCMsgSetOptions_Option) String() string { } func (CMsgGCMsgSetOptions_Option) Descriptor() protoreflect.EnumDescriptor { - return file_steammessages_int_proto_enumTypes[2].Descriptor() + return file_steammessages_int_proto_enumTypes[1].Descriptor() } func (CMsgGCMsgSetOptions_Option) Type() protoreflect.EnumType { - return &file_steammessages_int_proto_enumTypes[2] + return &file_steammessages_int_proto_enumTypes[1] } func (x CMsgGCMsgSetOptions_Option) Number() protoreflect.EnumNumber { @@ -206,7 +147,7 @@ func (x *CMsgGCMsgSetOptions_Option) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgGCMsgSetOptions_Option.Descriptor instead. func (CMsgGCMsgSetOptions_Option) EnumDescriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{56, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{49, 0} } type CMsgGCMsgSetOptions_GCSQLVersion int32 @@ -239,11 +180,11 @@ func (x CMsgGCMsgSetOptions_GCSQLVersion) String() string { } func (CMsgGCMsgSetOptions_GCSQLVersion) Descriptor() protoreflect.EnumDescriptor { - return file_steammessages_int_proto_enumTypes[3].Descriptor() + return file_steammessages_int_proto_enumTypes[2].Descriptor() } func (CMsgGCMsgSetOptions_GCSQLVersion) Type() protoreflect.EnumType { - return &file_steammessages_int_proto_enumTypes[3] + return &file_steammessages_int_proto_enumTypes[2] } func (x CMsgGCMsgSetOptions_GCSQLVersion) Number() protoreflect.EnumNumber { @@ -262,84 +203,7 @@ func (x *CMsgGCMsgSetOptions_GCSQLVersion) UnmarshalJSON(b []byte) error { // Deprecated: Use CMsgGCMsgSetOptions_GCSQLVersion.Descriptor instead. func (CMsgGCMsgSetOptions_GCSQLVersion) EnumDescriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{56, 1} -} - -type CMsgDPPartnerMicroTxnsResponse_EErrorCode int32 - -const ( - CMsgDPPartnerMicroTxnsResponse_k_MsgValid CMsgDPPartnerMicroTxnsResponse_EErrorCode = 0 - CMsgDPPartnerMicroTxnsResponse_k_MsgInvalidAppID CMsgDPPartnerMicroTxnsResponse_EErrorCode = 1 - CMsgDPPartnerMicroTxnsResponse_k_MsgInvalidPartnerInfo CMsgDPPartnerMicroTxnsResponse_EErrorCode = 2 - CMsgDPPartnerMicroTxnsResponse_k_MsgNoTransactions CMsgDPPartnerMicroTxnsResponse_EErrorCode = 3 - CMsgDPPartnerMicroTxnsResponse_k_MsgSQLFailure CMsgDPPartnerMicroTxnsResponse_EErrorCode = 4 - CMsgDPPartnerMicroTxnsResponse_k_MsgPartnerInfoDiscrepancy CMsgDPPartnerMicroTxnsResponse_EErrorCode = 5 - CMsgDPPartnerMicroTxnsResponse_k_MsgTransactionInsertFailed CMsgDPPartnerMicroTxnsResponse_EErrorCode = 7 - CMsgDPPartnerMicroTxnsResponse_k_MsgAlreadyRunning CMsgDPPartnerMicroTxnsResponse_EErrorCode = 8 - CMsgDPPartnerMicroTxnsResponse_k_MsgInvalidTransactionData CMsgDPPartnerMicroTxnsResponse_EErrorCode = 9 -) - -// Enum value maps for CMsgDPPartnerMicroTxnsResponse_EErrorCode. -var ( - CMsgDPPartnerMicroTxnsResponse_EErrorCode_name = map[int32]string{ - 0: "k_MsgValid", - 1: "k_MsgInvalidAppID", - 2: "k_MsgInvalidPartnerInfo", - 3: "k_MsgNoTransactions", - 4: "k_MsgSQLFailure", - 5: "k_MsgPartnerInfoDiscrepancy", - 7: "k_MsgTransactionInsertFailed", - 8: "k_MsgAlreadyRunning", - 9: "k_MsgInvalidTransactionData", - } - CMsgDPPartnerMicroTxnsResponse_EErrorCode_value = map[string]int32{ - "k_MsgValid": 0, - "k_MsgInvalidAppID": 1, - "k_MsgInvalidPartnerInfo": 2, - "k_MsgNoTransactions": 3, - "k_MsgSQLFailure": 4, - "k_MsgPartnerInfoDiscrepancy": 5, - "k_MsgTransactionInsertFailed": 7, - "k_MsgAlreadyRunning": 8, - "k_MsgInvalidTransactionData": 9, - } -) - -func (x CMsgDPPartnerMicroTxnsResponse_EErrorCode) Enum() *CMsgDPPartnerMicroTxnsResponse_EErrorCode { - p := new(CMsgDPPartnerMicroTxnsResponse_EErrorCode) - *p = x - return p -} - -func (x CMsgDPPartnerMicroTxnsResponse_EErrorCode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CMsgDPPartnerMicroTxnsResponse_EErrorCode) Descriptor() protoreflect.EnumDescriptor { - return file_steammessages_int_proto_enumTypes[4].Descriptor() -} - -func (CMsgDPPartnerMicroTxnsResponse_EErrorCode) Type() protoreflect.EnumType { - return &file_steammessages_int_proto_enumTypes[4] -} - -func (x CMsgDPPartnerMicroTxnsResponse_EErrorCode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *CMsgDPPartnerMicroTxnsResponse_EErrorCode) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = CMsgDPPartnerMicroTxnsResponse_EErrorCode(num) - return nil -} - -// Deprecated: Use CMsgDPPartnerMicroTxnsResponse_EErrorCode.Descriptor instead. -func (CMsgDPPartnerMicroTxnsResponse_EErrorCode) EnumDescriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{60, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{49, 1} } type CMsgWebAPIKey struct { @@ -1044,148 +908,6 @@ func (x *CMsgAMGetLicensesResponse) GetResult() uint32 { return 0 } -type CMsgAMGetUserGameStats struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SteamId *uint64 `protobuf:"fixed64,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` - GameId *uint64 `protobuf:"fixed64,2,opt,name=game_id,json=gameId" json:"game_id,omitempty"` - Stats []uint32 `protobuf:"varint,3,rep,name=stats" json:"stats,omitempty"` -} - -func (x *CMsgAMGetUserGameStats) Reset() { - *x = CMsgAMGetUserGameStats{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgAMGetUserGameStats) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgAMGetUserGameStats) ProtoMessage() {} - -func (x *CMsgAMGetUserGameStats) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgAMGetUserGameStats.ProtoReflect.Descriptor instead. -func (*CMsgAMGetUserGameStats) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{10} -} - -func (x *CMsgAMGetUserGameStats) GetSteamId() uint64 { - if x != nil && x.SteamId != nil { - return *x.SteamId - } - return 0 -} - -func (x *CMsgAMGetUserGameStats) GetGameId() uint64 { - if x != nil && x.GameId != nil { - return *x.GameId - } - return 0 -} - -func (x *CMsgAMGetUserGameStats) GetStats() []uint32 { - if x != nil { - return x.Stats - } - return nil -} - -type CMsgAMGetUserGameStatsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SteamId *uint64 `protobuf:"fixed64,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` - GameId *uint64 `protobuf:"fixed64,2,opt,name=game_id,json=gameId" json:"game_id,omitempty"` - Eresult *int32 `protobuf:"varint,3,opt,name=eresult" json:"eresult,omitempty"` - Stats []*CMsgAMGetUserGameStatsResponse_Stats `protobuf:"bytes,4,rep,name=stats" json:"stats,omitempty"` - AchievementBlocks []*CMsgAMGetUserGameStatsResponse_Achievement_Blocks `protobuf:"bytes,5,rep,name=achievement_blocks,json=achievementBlocks" json:"achievement_blocks,omitempty"` -} - -func (x *CMsgAMGetUserGameStatsResponse) Reset() { - *x = CMsgAMGetUserGameStatsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgAMGetUserGameStatsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgAMGetUserGameStatsResponse) ProtoMessage() {} - -func (x *CMsgAMGetUserGameStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgAMGetUserGameStatsResponse.ProtoReflect.Descriptor instead. -func (*CMsgAMGetUserGameStatsResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{11} -} - -func (x *CMsgAMGetUserGameStatsResponse) GetSteamId() uint64 { - if x != nil && x.SteamId != nil { - return *x.SteamId - } - return 0 -} - -func (x *CMsgAMGetUserGameStatsResponse) GetGameId() uint64 { - if x != nil && x.GameId != nil { - return *x.GameId - } - return 0 -} - -func (x *CMsgAMGetUserGameStatsResponse) GetEresult() int32 { - if x != nil && x.Eresult != nil { - return *x.Eresult - } - return 0 -} - -func (x *CMsgAMGetUserGameStatsResponse) GetStats() []*CMsgAMGetUserGameStatsResponse_Stats { - if x != nil { - return x.Stats - } - return nil -} - -func (x *CMsgAMGetUserGameStatsResponse) GetAchievementBlocks() []*CMsgAMGetUserGameStatsResponse_Achievement_Blocks { - if x != nil { - return x.AchievementBlocks - } - return nil -} - type CMsgGCGetCommandList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1198,7 +920,7 @@ type CMsgGCGetCommandList struct { func (x *CMsgGCGetCommandList) Reset() { *x = CMsgGCGetCommandList{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[12] + mi := &file_steammessages_int_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1211,7 +933,7 @@ func (x *CMsgGCGetCommandList) String() string { func (*CMsgGCGetCommandList) ProtoMessage() {} func (x *CMsgGCGetCommandList) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[12] + mi := &file_steammessages_int_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1224,7 +946,7 @@ func (x *CMsgGCGetCommandList) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetCommandList.ProtoReflect.Descriptor instead. func (*CMsgGCGetCommandList) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{12} + return file_steammessages_int_proto_rawDescGZIP(), []int{10} } func (x *CMsgGCGetCommandList) GetAppId() uint32 { @@ -1252,7 +974,7 @@ type CMsgGCGetCommandListResponse struct { func (x *CMsgGCGetCommandListResponse) Reset() { *x = CMsgGCGetCommandListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[13] + mi := &file_steammessages_int_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1265,7 +987,7 @@ func (x *CMsgGCGetCommandListResponse) String() string { func (*CMsgGCGetCommandListResponse) ProtoMessage() {} func (x *CMsgGCGetCommandListResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[13] + mi := &file_steammessages_int_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1278,7 +1000,7 @@ func (x *CMsgGCGetCommandListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetCommandListResponse.ProtoReflect.Descriptor instead. func (*CMsgGCGetCommandListResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{13} + return file_steammessages_int_proto_rawDescGZIP(), []int{11} } func (x *CMsgGCGetCommandListResponse) GetCommandName() []string { @@ -1299,7 +1021,7 @@ type CGCMsgMemCachedGet struct { func (x *CGCMsgMemCachedGet) Reset() { *x = CGCMsgMemCachedGet{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[14] + mi := &file_steammessages_int_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1312,7 +1034,7 @@ func (x *CGCMsgMemCachedGet) String() string { func (*CGCMsgMemCachedGet) ProtoMessage() {} func (x *CGCMsgMemCachedGet) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[14] + mi := &file_steammessages_int_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1325,7 +1047,7 @@ func (x *CGCMsgMemCachedGet) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgMemCachedGet.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedGet) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{14} + return file_steammessages_int_proto_rawDescGZIP(), []int{12} } func (x *CGCMsgMemCachedGet) GetKeys() []string { @@ -1346,7 +1068,7 @@ type CGCMsgMemCachedGetResponse struct { func (x *CGCMsgMemCachedGetResponse) Reset() { *x = CGCMsgMemCachedGetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[15] + mi := &file_steammessages_int_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1359,7 +1081,7 @@ func (x *CGCMsgMemCachedGetResponse) String() string { func (*CGCMsgMemCachedGetResponse) ProtoMessage() {} func (x *CGCMsgMemCachedGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[15] + mi := &file_steammessages_int_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1372,7 +1094,7 @@ func (x *CGCMsgMemCachedGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgMemCachedGetResponse.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedGetResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{15} + return file_steammessages_int_proto_rawDescGZIP(), []int{13} } func (x *CGCMsgMemCachedGetResponse) GetValues() []*CGCMsgMemCachedGetResponse_ValueTag { @@ -1393,7 +1115,7 @@ type CGCMsgMemCachedSet struct { func (x *CGCMsgMemCachedSet) Reset() { *x = CGCMsgMemCachedSet{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[16] + mi := &file_steammessages_int_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1406,7 +1128,7 @@ func (x *CGCMsgMemCachedSet) String() string { func (*CGCMsgMemCachedSet) ProtoMessage() {} func (x *CGCMsgMemCachedSet) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[16] + mi := &file_steammessages_int_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1419,7 +1141,7 @@ func (x *CGCMsgMemCachedSet) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgMemCachedSet.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedSet) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{16} + return file_steammessages_int_proto_rawDescGZIP(), []int{14} } func (x *CGCMsgMemCachedSet) GetKeys() []*CGCMsgMemCachedSet_KeyPair { @@ -1440,7 +1162,7 @@ type CGCMsgMemCachedDelete struct { func (x *CGCMsgMemCachedDelete) Reset() { *x = CGCMsgMemCachedDelete{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[17] + mi := &file_steammessages_int_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1453,7 +1175,7 @@ func (x *CGCMsgMemCachedDelete) String() string { func (*CGCMsgMemCachedDelete) ProtoMessage() {} func (x *CGCMsgMemCachedDelete) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[17] + mi := &file_steammessages_int_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1466,7 +1188,7 @@ func (x *CGCMsgMemCachedDelete) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgMemCachedDelete.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedDelete) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{17} + return file_steammessages_int_proto_rawDescGZIP(), []int{15} } func (x *CGCMsgMemCachedDelete) GetKeys() []string { @@ -1485,7 +1207,7 @@ type CGCMsgMemCachedStats struct { func (x *CGCMsgMemCachedStats) Reset() { *x = CGCMsgMemCachedStats{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[18] + mi := &file_steammessages_int_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1498,7 +1220,7 @@ func (x *CGCMsgMemCachedStats) String() string { func (*CGCMsgMemCachedStats) ProtoMessage() {} func (x *CGCMsgMemCachedStats) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[18] + mi := &file_steammessages_int_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1511,7 +1233,7 @@ func (x *CGCMsgMemCachedStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgMemCachedStats.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedStats) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{18} + return file_steammessages_int_proto_rawDescGZIP(), []int{16} } type CGCMsgMemCachedStatsResponse struct { @@ -1538,7 +1260,7 @@ type CGCMsgMemCachedStatsResponse struct { func (x *CGCMsgMemCachedStatsResponse) Reset() { *x = CGCMsgMemCachedStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[19] + mi := &file_steammessages_int_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1551,7 +1273,7 @@ func (x *CGCMsgMemCachedStatsResponse) String() string { func (*CGCMsgMemCachedStatsResponse) ProtoMessage() {} func (x *CGCMsgMemCachedStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[19] + mi := &file_steammessages_int_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1564,7 +1286,7 @@ func (x *CGCMsgMemCachedStatsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgMemCachedStatsResponse.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedStatsResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{19} + return file_steammessages_int_proto_rawDescGZIP(), []int{17} } func (x *CGCMsgMemCachedStatsResponse) GetCurrConnections() uint64 { @@ -1676,7 +1398,7 @@ type CGCMsgSQLStats struct { func (x *CGCMsgSQLStats) Reset() { *x = CGCMsgSQLStats{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[20] + mi := &file_steammessages_int_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1689,7 +1411,7 @@ func (x *CGCMsgSQLStats) String() string { func (*CGCMsgSQLStats) ProtoMessage() {} func (x *CGCMsgSQLStats) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[20] + mi := &file_steammessages_int_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1702,7 +1424,7 @@ func (x *CGCMsgSQLStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgSQLStats.ProtoReflect.Descriptor instead. func (*CGCMsgSQLStats) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{20} + return file_steammessages_int_proto_rawDescGZIP(), []int{18} } func (x *CGCMsgSQLStats) GetSchemaCatalog() uint32 { @@ -1731,7 +1453,7 @@ type CGCMsgSQLStatsResponse struct { func (x *CGCMsgSQLStatsResponse) Reset() { *x = CGCMsgSQLStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[21] + mi := &file_steammessages_int_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1744,7 +1466,7 @@ func (x *CGCMsgSQLStatsResponse) String() string { func (*CGCMsgSQLStatsResponse) ProtoMessage() {} func (x *CGCMsgSQLStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[21] + mi := &file_steammessages_int_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1757,7 +1479,7 @@ func (x *CGCMsgSQLStatsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgSQLStatsResponse.ProtoReflect.Descriptor instead. func (*CGCMsgSQLStatsResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{21} + return file_steammessages_int_proto_rawDescGZIP(), []int{19} } func (x *CGCMsgSQLStatsResponse) GetThreads() uint32 { @@ -1837,7 +1559,7 @@ type CMsgAMAddFreeLicense struct { func (x *CMsgAMAddFreeLicense) Reset() { *x = CMsgAMAddFreeLicense{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[22] + mi := &file_steammessages_int_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1850,7 +1572,7 @@ func (x *CMsgAMAddFreeLicense) String() string { func (*CMsgAMAddFreeLicense) ProtoMessage() {} func (x *CMsgAMAddFreeLicense) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[22] + mi := &file_steammessages_int_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1863,7 +1585,7 @@ func (x *CMsgAMAddFreeLicense) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAMAddFreeLicense.ProtoReflect.Descriptor instead. func (*CMsgAMAddFreeLicense) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{22} + return file_steammessages_int_proto_rawDescGZIP(), []int{20} } func (x *CMsgAMAddFreeLicense) GetSteamid() uint64 { @@ -1907,7 +1629,7 @@ type CMsgAMAddFreeLicenseResponse struct { func (x *CMsgAMAddFreeLicenseResponse) Reset() { *x = CMsgAMAddFreeLicenseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[23] + mi := &file_steammessages_int_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1920,7 +1642,7 @@ func (x *CMsgAMAddFreeLicenseResponse) String() string { func (*CMsgAMAddFreeLicenseResponse) ProtoMessage() {} func (x *CMsgAMAddFreeLicenseResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[23] + mi := &file_steammessages_int_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1933,7 +1655,7 @@ func (x *CMsgAMAddFreeLicenseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAMAddFreeLicenseResponse.ProtoReflect.Descriptor instead. func (*CMsgAMAddFreeLicenseResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{23} + return file_steammessages_int_proto_rawDescGZIP(), []int{21} } func (x *CMsgAMAddFreeLicenseResponse) GetEresult() int32 { @@ -1968,7 +1690,7 @@ type CGCMsgGetIPLocation struct { func (x *CGCMsgGetIPLocation) Reset() { *x = CGCMsgGetIPLocation{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[24] + mi := &file_steammessages_int_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1981,7 +1703,7 @@ func (x *CGCMsgGetIPLocation) String() string { func (*CGCMsgGetIPLocation) ProtoMessage() {} func (x *CGCMsgGetIPLocation) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[24] + mi := &file_steammessages_int_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1994,7 +1716,7 @@ func (x *CGCMsgGetIPLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgGetIPLocation.ProtoReflect.Descriptor instead. func (*CGCMsgGetIPLocation) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{24} + return file_steammessages_int_proto_rawDescGZIP(), []int{22} } func (x *CGCMsgGetIPLocation) GetIps() []uint32 { @@ -2015,7 +1737,7 @@ type CGCMsgGetIPASN struct { func (x *CGCMsgGetIPASN) Reset() { *x = CGCMsgGetIPASN{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[25] + mi := &file_steammessages_int_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2028,7 +1750,7 @@ func (x *CGCMsgGetIPASN) String() string { func (*CGCMsgGetIPASN) ProtoMessage() {} func (x *CGCMsgGetIPASN) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[25] + mi := &file_steammessages_int_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2041,7 +1763,7 @@ func (x *CGCMsgGetIPASN) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgGetIPASN.ProtoReflect.Descriptor instead. func (*CGCMsgGetIPASN) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{25} + return file_steammessages_int_proto_rawDescGZIP(), []int{23} } func (x *CGCMsgGetIPASN) GetIps() []uint32 { @@ -2063,7 +1785,7 @@ type CIPASNInfo struct { func (x *CIPASNInfo) Reset() { *x = CIPASNInfo{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[26] + mi := &file_steammessages_int_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2076,7 +1798,7 @@ func (x *CIPASNInfo) String() string { func (*CIPASNInfo) ProtoMessage() {} func (x *CIPASNInfo) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[26] + mi := &file_steammessages_int_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2089,7 +1811,7 @@ func (x *CIPASNInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CIPASNInfo.ProtoReflect.Descriptor instead. func (*CIPASNInfo) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{26} + return file_steammessages_int_proto_rawDescGZIP(), []int{24} } func (x *CIPASNInfo) GetIp() uint32 { @@ -2117,7 +1839,7 @@ type CGCMsgGetIPASNResponse struct { func (x *CGCMsgGetIPASNResponse) Reset() { *x = CGCMsgGetIPASNResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[27] + mi := &file_steammessages_int_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2130,7 +1852,7 @@ func (x *CGCMsgGetIPASNResponse) String() string { func (*CGCMsgGetIPASNResponse) ProtoMessage() {} func (x *CGCMsgGetIPASNResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[27] + mi := &file_steammessages_int_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2143,7 +1865,7 @@ func (x *CGCMsgGetIPASNResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgGetIPASNResponse.ProtoReflect.Descriptor instead. func (*CGCMsgGetIPASNResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{27} + return file_steammessages_int_proto_rawDescGZIP(), []int{25} } func (x *CGCMsgGetIPASNResponse) GetInfos() []*CIPASNInfo { @@ -2153,242 +1875,6 @@ func (x *CGCMsgGetIPASNResponse) GetInfos() []*CIPASNInfo { return nil } -type CGCMsgSystemStatsSchema struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GcAppId *uint32 `protobuf:"varint,1,opt,name=gc_app_id,json=gcAppId" json:"gc_app_id,omitempty"` - SchemaKv []byte `protobuf:"bytes,2,opt,name=schema_kv,json=schemaKv" json:"schema_kv,omitempty"` -} - -func (x *CGCMsgSystemStatsSchema) Reset() { - *x = CGCMsgSystemStatsSchema{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CGCMsgSystemStatsSchema) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CGCMsgSystemStatsSchema) ProtoMessage() {} - -func (x *CGCMsgSystemStatsSchema) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CGCMsgSystemStatsSchema.ProtoReflect.Descriptor instead. -func (*CGCMsgSystemStatsSchema) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{28} -} - -func (x *CGCMsgSystemStatsSchema) GetGcAppId() uint32 { - if x != nil && x.GcAppId != nil { - return *x.GcAppId - } - return 0 -} - -func (x *CGCMsgSystemStatsSchema) GetSchemaKv() []byte { - if x != nil { - return x.SchemaKv - } - return nil -} - -type CGCMsgGetSystemStats struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *CGCMsgGetSystemStats) Reset() { - *x = CGCMsgGetSystemStats{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CGCMsgGetSystemStats) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CGCMsgGetSystemStats) ProtoMessage() {} - -func (x *CGCMsgGetSystemStats) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CGCMsgGetSystemStats.ProtoReflect.Descriptor instead. -func (*CGCMsgGetSystemStats) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{29} -} - -type CGCMsgGetSystemStatsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GcAppId *uint32 `protobuf:"varint,1,opt,name=gc_app_id,json=gcAppId" json:"gc_app_id,omitempty"` - StatsKv []byte `protobuf:"bytes,2,opt,name=stats_kv,json=statsKv" json:"stats_kv,omitempty"` - ActiveJobs *uint32 `protobuf:"varint,3,opt,name=active_jobs,json=activeJobs" json:"active_jobs,omitempty"` - YieldingJobs *uint32 `protobuf:"varint,4,opt,name=yielding_jobs,json=yieldingJobs" json:"yielding_jobs,omitempty"` - UserSessions *uint32 `protobuf:"varint,5,opt,name=user_sessions,json=userSessions" json:"user_sessions,omitempty"` - GameServerSessions *uint32 `protobuf:"varint,6,opt,name=game_server_sessions,json=gameServerSessions" json:"game_server_sessions,omitempty"` - Socaches *uint32 `protobuf:"varint,7,opt,name=socaches" json:"socaches,omitempty"` - SocachesToUnload *uint32 `protobuf:"varint,8,opt,name=socaches_to_unload,json=socachesToUnload" json:"socaches_to_unload,omitempty"` - SocachesLoading *uint32 `protobuf:"varint,9,opt,name=socaches_loading,json=socachesLoading" json:"socaches_loading,omitempty"` - WritebackQueue *uint32 `protobuf:"varint,10,opt,name=writeback_queue,json=writebackQueue" json:"writeback_queue,omitempty"` - SteamidLocks *uint32 `protobuf:"varint,11,opt,name=steamid_locks,json=steamidLocks" json:"steamid_locks,omitempty"` - LogonQueue *uint32 `protobuf:"varint,12,opt,name=logon_queue,json=logonQueue" json:"logon_queue,omitempty"` - LogonJobs *uint32 `protobuf:"varint,13,opt,name=logon_jobs,json=logonJobs" json:"logon_jobs,omitempty"` -} - -func (x *CGCMsgGetSystemStatsResponse) Reset() { - *x = CGCMsgGetSystemStatsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CGCMsgGetSystemStatsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CGCMsgGetSystemStatsResponse) ProtoMessage() {} - -func (x *CGCMsgGetSystemStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CGCMsgGetSystemStatsResponse.ProtoReflect.Descriptor instead. -func (*CGCMsgGetSystemStatsResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{30} -} - -func (x *CGCMsgGetSystemStatsResponse) GetGcAppId() uint32 { - if x != nil && x.GcAppId != nil { - return *x.GcAppId - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetStatsKv() []byte { - if x != nil { - return x.StatsKv - } - return nil -} - -func (x *CGCMsgGetSystemStatsResponse) GetActiveJobs() uint32 { - if x != nil && x.ActiveJobs != nil { - return *x.ActiveJobs - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetYieldingJobs() uint32 { - if x != nil && x.YieldingJobs != nil { - return *x.YieldingJobs - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetUserSessions() uint32 { - if x != nil && x.UserSessions != nil { - return *x.UserSessions - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetGameServerSessions() uint32 { - if x != nil && x.GameServerSessions != nil { - return *x.GameServerSessions - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetSocaches() uint32 { - if x != nil && x.Socaches != nil { - return *x.Socaches - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetSocachesToUnload() uint32 { - if x != nil && x.SocachesToUnload != nil { - return *x.SocachesToUnload - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetSocachesLoading() uint32 { - if x != nil && x.SocachesLoading != nil { - return *x.SocachesLoading - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetWritebackQueue() uint32 { - if x != nil && x.WritebackQueue != nil { - return *x.WritebackQueue - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetSteamidLocks() uint32 { - if x != nil && x.SteamidLocks != nil { - return *x.SteamidLocks - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetLogonQueue() uint32 { - if x != nil && x.LogonQueue != nil { - return *x.LogonQueue - } - return 0 -} - -func (x *CGCMsgGetSystemStatsResponse) GetLogonJobs() uint32 { - if x != nil && x.LogonJobs != nil { - return *x.LogonJobs - } - return 0 -} - type CMsgAMSendEmail struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2405,7 +1891,7 @@ type CMsgAMSendEmail struct { func (x *CMsgAMSendEmail) Reset() { *x = CMsgAMSendEmail{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[31] + mi := &file_steammessages_int_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2418,7 +1904,7 @@ func (x *CMsgAMSendEmail) String() string { func (*CMsgAMSendEmail) ProtoMessage() {} func (x *CMsgAMSendEmail) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[31] + mi := &file_steammessages_int_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2431,7 +1917,7 @@ func (x *CMsgAMSendEmail) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAMSendEmail.ProtoReflect.Descriptor instead. func (*CMsgAMSendEmail) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{31} + return file_steammessages_int_proto_rawDescGZIP(), []int{26} } func (x *CMsgAMSendEmail) GetSteamid() uint64 { @@ -2487,7 +1973,7 @@ type CMsgAMSendEmailResponse struct { func (x *CMsgAMSendEmailResponse) Reset() { *x = CMsgAMSendEmailResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[32] + mi := &file_steammessages_int_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2500,7 +1986,7 @@ func (x *CMsgAMSendEmailResponse) String() string { func (*CMsgAMSendEmailResponse) ProtoMessage() {} func (x *CMsgAMSendEmailResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[32] + mi := &file_steammessages_int_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2513,7 +1999,7 @@ func (x *CMsgAMSendEmailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAMSendEmailResponse.ProtoReflect.Descriptor instead. func (*CMsgAMSendEmailResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{32} + return file_steammessages_int_proto_rawDescGZIP(), []int{27} } func (x *CMsgAMSendEmailResponse) GetEresult() uint32 { @@ -2537,7 +2023,7 @@ type CMsgGCGetEmailTemplate struct { func (x *CMsgGCGetEmailTemplate) Reset() { *x = CMsgGCGetEmailTemplate{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[33] + mi := &file_steammessages_int_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2550,7 +2036,7 @@ func (x *CMsgGCGetEmailTemplate) String() string { func (*CMsgGCGetEmailTemplate) ProtoMessage() {} func (x *CMsgGCGetEmailTemplate) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[33] + mi := &file_steammessages_int_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2563,7 +2049,7 @@ func (x *CMsgGCGetEmailTemplate) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetEmailTemplate.ProtoReflect.Descriptor instead. func (*CMsgGCGetEmailTemplate) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{33} + return file_steammessages_int_proto_rawDescGZIP(), []int{28} } func (x *CMsgGCGetEmailTemplate) GetAppId() uint32 { @@ -2607,7 +2093,7 @@ type CMsgGCGetEmailTemplateResponse struct { func (x *CMsgGCGetEmailTemplateResponse) Reset() { *x = CMsgGCGetEmailTemplateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[34] + mi := &file_steammessages_int_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2620,7 +2106,7 @@ func (x *CMsgGCGetEmailTemplateResponse) String() string { func (*CMsgGCGetEmailTemplateResponse) ProtoMessage() {} func (x *CMsgGCGetEmailTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[34] + mi := &file_steammessages_int_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2633,7 +2119,7 @@ func (x *CMsgGCGetEmailTemplateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetEmailTemplateResponse.ProtoReflect.Descriptor instead. func (*CMsgGCGetEmailTemplateResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{34} + return file_steammessages_int_proto_rawDescGZIP(), []int{29} } func (x *CMsgGCGetEmailTemplateResponse) GetEresult() uint32 { @@ -2672,7 +2158,7 @@ type CMsgAMGrantGuestPasses2 struct { func (x *CMsgAMGrantGuestPasses2) Reset() { *x = CMsgAMGrantGuestPasses2{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[35] + mi := &file_steammessages_int_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2685,7 +2171,7 @@ func (x *CMsgAMGrantGuestPasses2) String() string { func (*CMsgAMGrantGuestPasses2) ProtoMessage() {} func (x *CMsgAMGrantGuestPasses2) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[35] + mi := &file_steammessages_int_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2698,7 +2184,7 @@ func (x *CMsgAMGrantGuestPasses2) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAMGrantGuestPasses2.ProtoReflect.Descriptor instead. func (*CMsgAMGrantGuestPasses2) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{35} + return file_steammessages_int_proto_rawDescGZIP(), []int{30} } func (x *CMsgAMGrantGuestPasses2) GetSteamId() uint64 { @@ -2748,7 +2234,7 @@ type CMsgAMGrantGuestPasses2Response struct { func (x *CMsgAMGrantGuestPasses2Response) Reset() { *x = CMsgAMGrantGuestPasses2Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[36] + mi := &file_steammessages_int_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2761,7 +2247,7 @@ func (x *CMsgAMGrantGuestPasses2Response) String() string { func (*CMsgAMGrantGuestPasses2Response) ProtoMessage() {} func (x *CMsgAMGrantGuestPasses2Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[36] + mi := &file_steammessages_int_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2774,7 +2260,7 @@ func (x *CMsgAMGrantGuestPasses2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAMGrantGuestPasses2Response.ProtoReflect.Descriptor instead. func (*CMsgAMGrantGuestPasses2Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{36} + return file_steammessages_int_proto_rawDescGZIP(), []int{31} } func (x *CMsgAMGrantGuestPasses2Response) GetEresult() int32 { @@ -2802,7 +2288,7 @@ type CMsgGCGetPersonaNames struct { func (x *CMsgGCGetPersonaNames) Reset() { *x = CMsgGCGetPersonaNames{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[37] + mi := &file_steammessages_int_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2815,7 +2301,7 @@ func (x *CMsgGCGetPersonaNames) String() string { func (*CMsgGCGetPersonaNames) ProtoMessage() {} func (x *CMsgGCGetPersonaNames) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[37] + mi := &file_steammessages_int_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2828,7 +2314,7 @@ func (x *CMsgGCGetPersonaNames) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetPersonaNames.ProtoReflect.Descriptor instead. func (*CMsgGCGetPersonaNames) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{37} + return file_steammessages_int_proto_rawDescGZIP(), []int{32} } func (x *CMsgGCGetPersonaNames) GetSteamids() []uint64 { @@ -2850,7 +2336,7 @@ type CMsgGCGetPersonaNames_Response struct { func (x *CMsgGCGetPersonaNames_Response) Reset() { *x = CMsgGCGetPersonaNames_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[38] + mi := &file_steammessages_int_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2863,7 +2349,7 @@ func (x *CMsgGCGetPersonaNames_Response) String() string { func (*CMsgGCGetPersonaNames_Response) ProtoMessage() {} func (x *CMsgGCGetPersonaNames_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[38] + mi := &file_steammessages_int_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2876,7 +2362,7 @@ func (x *CMsgGCGetPersonaNames_Response) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetPersonaNames_Response.ProtoReflect.Descriptor instead. func (*CMsgGCGetPersonaNames_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{38} + return file_steammessages_int_proto_rawDescGZIP(), []int{33} } func (x *CMsgGCGetPersonaNames_Response) GetSucceededLookups() []*CMsgGCGetPersonaNames_Response_PersonaName { @@ -2905,7 +2391,7 @@ type CMsgGCCheckFriendship struct { func (x *CMsgGCCheckFriendship) Reset() { *x = CMsgGCCheckFriendship{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[39] + mi := &file_steammessages_int_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2918,7 +2404,7 @@ func (x *CMsgGCCheckFriendship) String() string { func (*CMsgGCCheckFriendship) ProtoMessage() {} func (x *CMsgGCCheckFriendship) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[39] + mi := &file_steammessages_int_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2931,7 +2417,7 @@ func (x *CMsgGCCheckFriendship) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCheckFriendship.ProtoReflect.Descriptor instead. func (*CMsgGCCheckFriendship) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{39} + return file_steammessages_int_proto_rawDescGZIP(), []int{34} } func (x *CMsgGCCheckFriendship) GetSteamidLeft() uint64 { @@ -2960,7 +2446,7 @@ type CMsgGCCheckFriendship_Response struct { func (x *CMsgGCCheckFriendship_Response) Reset() { *x = CMsgGCCheckFriendship_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[40] + mi := &file_steammessages_int_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2973,7 +2459,7 @@ func (x *CMsgGCCheckFriendship_Response) String() string { func (*CMsgGCCheckFriendship_Response) ProtoMessage() {} func (x *CMsgGCCheckFriendship_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[40] + mi := &file_steammessages_int_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2986,7 +2472,7 @@ func (x *CMsgGCCheckFriendship_Response) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCheckFriendship_Response.ProtoReflect.Descriptor instead. func (*CMsgGCCheckFriendship_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{40} + return file_steammessages_int_proto_rawDescGZIP(), []int{35} } func (x *CMsgGCCheckFriendship_Response) GetSuccess() bool { @@ -3016,7 +2502,7 @@ type CMsgGCGetAppFriendsList struct { func (x *CMsgGCGetAppFriendsList) Reset() { *x = CMsgGCGetAppFriendsList{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[41] + mi := &file_steammessages_int_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3029,7 +2515,7 @@ func (x *CMsgGCGetAppFriendsList) String() string { func (*CMsgGCGetAppFriendsList) ProtoMessage() {} func (x *CMsgGCGetAppFriendsList) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[41] + mi := &file_steammessages_int_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3042,7 +2528,7 @@ func (x *CMsgGCGetAppFriendsList) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetAppFriendsList.ProtoReflect.Descriptor instead. func (*CMsgGCGetAppFriendsList) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{41} + return file_steammessages_int_proto_rawDescGZIP(), []int{36} } func (x *CMsgGCGetAppFriendsList) GetSteamid() uint64 { @@ -3080,7 +2566,7 @@ type CMsgGCGetAppFriendsList_Response struct { func (x *CMsgGCGetAppFriendsList_Response) Reset() { *x = CMsgGCGetAppFriendsList_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[42] + mi := &file_steammessages_int_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3093,7 +2579,7 @@ func (x *CMsgGCGetAppFriendsList_Response) String() string { func (*CMsgGCGetAppFriendsList_Response) ProtoMessage() {} func (x *CMsgGCGetAppFriendsList_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[42] + mi := &file_steammessages_int_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3106,7 +2592,7 @@ func (x *CMsgGCGetAppFriendsList_Response) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCGetAppFriendsList_Response.ProtoReflect.Descriptor instead. func (*CMsgGCGetAppFriendsList_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{42} + return file_steammessages_int_proto_rawDescGZIP(), []int{37} } func (x *CMsgGCGetAppFriendsList_Response) GetSuccess() bool { @@ -3149,7 +2635,7 @@ type CMsgGCMsgMasterSetDirectory struct { func (x *CMsgGCMsgMasterSetDirectory) Reset() { *x = CMsgGCMsgMasterSetDirectory{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[43] + mi := &file_steammessages_int_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3162,7 +2648,7 @@ func (x *CMsgGCMsgMasterSetDirectory) String() string { func (*CMsgGCMsgMasterSetDirectory) ProtoMessage() {} func (x *CMsgGCMsgMasterSetDirectory) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[43] + mi := &file_steammessages_int_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3175,7 +2661,7 @@ func (x *CMsgGCMsgMasterSetDirectory) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCMsgMasterSetDirectory.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetDirectory) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{43} + return file_steammessages_int_proto_rawDescGZIP(), []int{38} } func (x *CMsgGCMsgMasterSetDirectory) GetMasterDirIndex() int32 { @@ -3204,7 +2690,7 @@ type CMsgGCMsgMasterSetDirectory_Response struct { func (x *CMsgGCMsgMasterSetDirectory_Response) Reset() { *x = CMsgGCMsgMasterSetDirectory_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[44] + mi := &file_steammessages_int_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3217,7 +2703,7 @@ func (x *CMsgGCMsgMasterSetDirectory_Response) String() string { func (*CMsgGCMsgMasterSetDirectory_Response) ProtoMessage() {} func (x *CMsgGCMsgMasterSetDirectory_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[44] + mi := &file_steammessages_int_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3230,7 +2716,7 @@ func (x *CMsgGCMsgMasterSetDirectory_Response) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCMsgMasterSetDirectory_Response.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetDirectory_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{44} + return file_steammessages_int_proto_rawDescGZIP(), []int{39} } func (x *CMsgGCMsgMasterSetDirectory_Response) GetEresult() int32 { @@ -3258,7 +2744,7 @@ type CMsgGCMsgWebAPIJobRequestForwardResponse struct { func (x *CMsgGCMsgWebAPIJobRequestForwardResponse) Reset() { *x = CMsgGCMsgWebAPIJobRequestForwardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[45] + mi := &file_steammessages_int_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3271,7 +2757,7 @@ func (x *CMsgGCMsgWebAPIJobRequestForwardResponse) String() string { func (*CMsgGCMsgWebAPIJobRequestForwardResponse) ProtoMessage() {} func (x *CMsgGCMsgWebAPIJobRequestForwardResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[45] + mi := &file_steammessages_int_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3284,7 +2770,7 @@ func (x *CMsgGCMsgWebAPIJobRequestForwardResponse) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCMsgWebAPIJobRequestForwardResponse.ProtoReflect.Descriptor instead. func (*CMsgGCMsgWebAPIJobRequestForwardResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{45} + return file_steammessages_int_proto_rawDescGZIP(), []int{40} } func (x *CMsgGCMsgWebAPIJobRequestForwardResponse) GetDirIndex() int32 { @@ -3305,7 +2791,7 @@ type CGCSystemMsg_GetPurchaseTrust_Request struct { func (x *CGCSystemMsg_GetPurchaseTrust_Request) Reset() { *x = CGCSystemMsg_GetPurchaseTrust_Request{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[46] + mi := &file_steammessages_int_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3318,7 +2804,7 @@ func (x *CGCSystemMsg_GetPurchaseTrust_Request) String() string { func (*CGCSystemMsg_GetPurchaseTrust_Request) ProtoMessage() {} func (x *CGCSystemMsg_GetPurchaseTrust_Request) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[46] + mi := &file_steammessages_int_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3331,7 +2817,7 @@ func (x *CGCSystemMsg_GetPurchaseTrust_Request) ProtoReflect() protoreflect.Mess // Deprecated: Use CGCSystemMsg_GetPurchaseTrust_Request.ProtoReflect.Descriptor instead. func (*CGCSystemMsg_GetPurchaseTrust_Request) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{46} + return file_steammessages_int_proto_rawDescGZIP(), []int{41} } func (x *CGCSystemMsg_GetPurchaseTrust_Request) GetSteamid() uint64 { @@ -3355,7 +2841,7 @@ type CGCSystemMsg_GetPurchaseTrust_Response struct { func (x *CGCSystemMsg_GetPurchaseTrust_Response) Reset() { *x = CGCSystemMsg_GetPurchaseTrust_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[47] + mi := &file_steammessages_int_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3368,7 +2854,7 @@ func (x *CGCSystemMsg_GetPurchaseTrust_Response) String() string { func (*CGCSystemMsg_GetPurchaseTrust_Response) ProtoMessage() {} func (x *CGCSystemMsg_GetPurchaseTrust_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[47] + mi := &file_steammessages_int_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3381,7 +2867,7 @@ func (x *CGCSystemMsg_GetPurchaseTrust_Response) ProtoReflect() protoreflect.Mes // Deprecated: Use CGCSystemMsg_GetPurchaseTrust_Response.ProtoReflect.Descriptor instead. func (*CGCSystemMsg_GetPurchaseTrust_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{47} + return file_steammessages_int_proto_rawDescGZIP(), []int{42} } func (x *CGCSystemMsg_GetPurchaseTrust_Response) GetHasPriorPurchaseHistory() bool { @@ -3427,7 +2913,7 @@ type CMsgGCHAccountVacStatusChange struct { func (x *CMsgGCHAccountVacStatusChange) Reset() { *x = CMsgGCHAccountVacStatusChange{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[48] + mi := &file_steammessages_int_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3440,7 +2926,7 @@ func (x *CMsgGCHAccountVacStatusChange) String() string { func (*CMsgGCHAccountVacStatusChange) ProtoMessage() {} func (x *CMsgGCHAccountVacStatusChange) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[48] + mi := &file_steammessages_int_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3453,7 +2939,7 @@ func (x *CMsgGCHAccountVacStatusChange) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCHAccountVacStatusChange.ProtoReflect.Descriptor instead. func (*CMsgGCHAccountVacStatusChange) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{48} + return file_steammessages_int_proto_rawDescGZIP(), []int{43} } func (x *CMsgGCHAccountVacStatusChange) GetSteamId() uint64 { @@ -3491,132 +2977,6 @@ func (x *CMsgGCHAccountVacStatusChange) GetIsBannedFuture() bool { return false } -type CMsgGCGetPartnerAccountLink struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"` -} - -func (x *CMsgGCGetPartnerAccountLink) Reset() { - *x = CMsgGCGetPartnerAccountLink{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCGetPartnerAccountLink) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCGetPartnerAccountLink) ProtoMessage() {} - -func (x *CMsgGCGetPartnerAccountLink) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGCGetPartnerAccountLink.ProtoReflect.Descriptor instead. -func (*CMsgGCGetPartnerAccountLink) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{49} -} - -func (x *CMsgGCGetPartnerAccountLink) GetSteamid() uint64 { - if x != nil && x.Steamid != nil { - return *x.Steamid - } - return 0 -} - -type CMsgGCGetPartnerAccountLink_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pwid *uint32 `protobuf:"varint,1,opt,name=pwid" json:"pwid,omitempty"` - Nexonid *uint32 `protobuf:"varint,2,opt,name=nexonid" json:"nexonid,omitempty"` - Ageclass *int32 `protobuf:"varint,3,opt,name=ageclass" json:"ageclass,omitempty"` - IdVerified *bool `protobuf:"varint,4,opt,name=id_verified,json=idVerified" json:"id_verified,omitempty"` - IsAdult *bool `protobuf:"varint,5,opt,name=is_adult,json=isAdult" json:"is_adult,omitempty"` -} - -func (x *CMsgGCGetPartnerAccountLink_Response) Reset() { - *x = CMsgGCGetPartnerAccountLink_Response{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCGetPartnerAccountLink_Response) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCGetPartnerAccountLink_Response) ProtoMessage() {} - -func (x *CMsgGCGetPartnerAccountLink_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGCGetPartnerAccountLink_Response.ProtoReflect.Descriptor instead. -func (*CMsgGCGetPartnerAccountLink_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{50} -} - -func (x *CMsgGCGetPartnerAccountLink_Response) GetPwid() uint32 { - if x != nil && x.Pwid != nil { - return *x.Pwid - } - return 0 -} - -func (x *CMsgGCGetPartnerAccountLink_Response) GetNexonid() uint32 { - if x != nil && x.Nexonid != nil { - return *x.Nexonid - } - return 0 -} - -func (x *CMsgGCGetPartnerAccountLink_Response) GetAgeclass() int32 { - if x != nil && x.Ageclass != nil { - return *x.Ageclass - } - return 0 -} - -func (x *CMsgGCGetPartnerAccountLink_Response) GetIdVerified() bool { - if x != nil && x.IdVerified != nil { - return *x.IdVerified - } - return false -} - -func (x *CMsgGCGetPartnerAccountLink_Response) GetIsAdult() bool { - if x != nil && x.IsAdult != nil { - return *x.IsAdult - } - return false -} - type CMsgGCRoutingInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3632,7 +2992,7 @@ type CMsgGCRoutingInfo struct { func (x *CMsgGCRoutingInfo) Reset() { *x = CMsgGCRoutingInfo{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[51] + mi := &file_steammessages_int_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3645,7 +3005,7 @@ func (x *CMsgGCRoutingInfo) String() string { func (*CMsgGCRoutingInfo) ProtoMessage() {} func (x *CMsgGCRoutingInfo) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[51] + mi := &file_steammessages_int_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3658,7 +3018,7 @@ func (x *CMsgGCRoutingInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCRoutingInfo.ProtoReflect.Descriptor instead. func (*CMsgGCRoutingInfo) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{51} + return file_steammessages_int_proto_rawDescGZIP(), []int{44} } func (x *CMsgGCRoutingInfo) GetDirIndex() []int32 { @@ -3707,7 +3067,7 @@ type CMsgGCMsgMasterSetWebAPIRouting struct { func (x *CMsgGCMsgMasterSetWebAPIRouting) Reset() { *x = CMsgGCMsgMasterSetWebAPIRouting{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[52] + mi := &file_steammessages_int_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3720,7 +3080,7 @@ func (x *CMsgGCMsgMasterSetWebAPIRouting) String() string { func (*CMsgGCMsgMasterSetWebAPIRouting) ProtoMessage() {} func (x *CMsgGCMsgMasterSetWebAPIRouting) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[52] + mi := &file_steammessages_int_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3733,7 +3093,7 @@ func (x *CMsgGCMsgMasterSetWebAPIRouting) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCMsgMasterSetWebAPIRouting.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetWebAPIRouting) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{52} + return file_steammessages_int_proto_rawDescGZIP(), []int{45} } func (x *CMsgGCMsgMasterSetWebAPIRouting) GetEntries() []*CMsgGCMsgMasterSetWebAPIRouting_Entry { @@ -3754,7 +3114,7 @@ type CMsgGCMsgMasterSetClientMsgRouting struct { func (x *CMsgGCMsgMasterSetClientMsgRouting) Reset() { *x = CMsgGCMsgMasterSetClientMsgRouting{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[53] + mi := &file_steammessages_int_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3767,7 +3127,7 @@ func (x *CMsgGCMsgMasterSetClientMsgRouting) String() string { func (*CMsgGCMsgMasterSetClientMsgRouting) ProtoMessage() {} func (x *CMsgGCMsgMasterSetClientMsgRouting) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[53] + mi := &file_steammessages_int_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3780,7 +3140,7 @@ func (x *CMsgGCMsgMasterSetClientMsgRouting) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCMsgMasterSetClientMsgRouting.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetClientMsgRouting) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{53} + return file_steammessages_int_proto_rawDescGZIP(), []int{46} } func (x *CMsgGCMsgMasterSetClientMsgRouting) GetEntries() []*CMsgGCMsgMasterSetClientMsgRouting_Entry { @@ -3801,7 +3161,7 @@ type CMsgGCMsgMasterSetWebAPIRouting_Response struct { func (x *CMsgGCMsgMasterSetWebAPIRouting_Response) Reset() { *x = CMsgGCMsgMasterSetWebAPIRouting_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[54] + mi := &file_steammessages_int_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3814,7 +3174,7 @@ func (x *CMsgGCMsgMasterSetWebAPIRouting_Response) String() string { func (*CMsgGCMsgMasterSetWebAPIRouting_Response) ProtoMessage() {} func (x *CMsgGCMsgMasterSetWebAPIRouting_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[54] + mi := &file_steammessages_int_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3827,7 +3187,7 @@ func (x *CMsgGCMsgMasterSetWebAPIRouting_Response) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCMsgMasterSetWebAPIRouting_Response.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetWebAPIRouting_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{54} + return file_steammessages_int_proto_rawDescGZIP(), []int{47} } func (x *CMsgGCMsgMasterSetWebAPIRouting_Response) GetEresult() int32 { @@ -3848,7 +3208,7 @@ type CMsgGCMsgMasterSetClientMsgRouting_Response struct { func (x *CMsgGCMsgMasterSetClientMsgRouting_Response) Reset() { *x = CMsgGCMsgMasterSetClientMsgRouting_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[55] + mi := &file_steammessages_int_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3861,7 +3221,7 @@ func (x *CMsgGCMsgMasterSetClientMsgRouting_Response) String() string { func (*CMsgGCMsgMasterSetClientMsgRouting_Response) ProtoMessage() {} func (x *CMsgGCMsgMasterSetClientMsgRouting_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[55] + mi := &file_steammessages_int_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3874,7 +3234,7 @@ func (x *CMsgGCMsgMasterSetClientMsgRouting_Response) ProtoReflect() protoreflec // Deprecated: Use CMsgGCMsgMasterSetClientMsgRouting_Response.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetClientMsgRouting_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{55} + return file_steammessages_int_proto_rawDescGZIP(), []int{48} } func (x *CMsgGCMsgMasterSetClientMsgRouting_Response) GetEresult() int32 { @@ -3897,7 +3257,7 @@ type CMsgGCMsgSetOptions struct { func (x *CMsgGCMsgSetOptions) Reset() { *x = CMsgGCMsgSetOptions{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[56] + mi := &file_steammessages_int_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3910,7 +3270,7 @@ func (x *CMsgGCMsgSetOptions) String() string { func (*CMsgGCMsgSetOptions) ProtoMessage() {} func (x *CMsgGCMsgSetOptions) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[56] + mi := &file_steammessages_int_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3923,7 +3283,7 @@ func (x *CMsgGCMsgSetOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCMsgSetOptions.ProtoReflect.Descriptor instead. func (*CMsgGCMsgSetOptions) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{56} + return file_steammessages_int_proto_rawDescGZIP(), []int{49} } func (x *CMsgGCMsgSetOptions) GetOptions() []CMsgGCMsgSetOptions_Option { @@ -3966,7 +3326,7 @@ type CMsgGCHUpdateSession struct { func (x *CMsgGCHUpdateSession) Reset() { *x = CMsgGCHUpdateSession{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[57] + mi := &file_steammessages_int_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3979,7 +3339,7 @@ func (x *CMsgGCHUpdateSession) String() string { func (*CMsgGCHUpdateSession) ProtoMessage() {} func (x *CMsgGCHUpdateSession) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[57] + mi := &file_steammessages_int_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3992,7 +3352,7 @@ func (x *CMsgGCHUpdateSession) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCHUpdateSession.ProtoReflect.Descriptor instead. func (*CMsgGCHUpdateSession) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{57} + return file_steammessages_int_proto_rawDescGZIP(), []int{50} } func (x *CMsgGCHUpdateSession) GetSteamId() uint64 { @@ -4071,7 +3431,7 @@ type CMsgNotificationOfSuspiciousActivity struct { func (x *CMsgNotificationOfSuspiciousActivity) Reset() { *x = CMsgNotificationOfSuspiciousActivity{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[58] + mi := &file_steammessages_int_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4084,7 +3444,7 @@ func (x *CMsgNotificationOfSuspiciousActivity) String() string { func (*CMsgNotificationOfSuspiciousActivity) ProtoMessage() {} func (x *CMsgNotificationOfSuspiciousActivity) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[58] + mi := &file_steammessages_int_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4097,7 +3457,7 @@ func (x *CMsgNotificationOfSuspiciousActivity) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgNotificationOfSuspiciousActivity.ProtoReflect.Descriptor instead. func (*CMsgNotificationOfSuspiciousActivity) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{58} + return file_steammessages_int_proto_rawDescGZIP(), []int{51} } func (x *CMsgNotificationOfSuspiciousActivity) GetSteamid() uint64 { @@ -4121,34 +3481,33 @@ func (x *CMsgNotificationOfSuspiciousActivity) GetMultipleInstances() *CMsgNotif return nil } -type CMsgDPPartnerMicroTxns struct { +type CMsgGCHVacVerificationChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Appid *uint32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"` - GcName *string `protobuf:"bytes,2,opt,name=gc_name,json=gcName" json:"gc_name,omitempty"` - Partner *CMsgDPPartnerMicroTxns_PartnerInfo `protobuf:"bytes,3,opt,name=partner" json:"partner,omitempty"` - Transactions []*CMsgDPPartnerMicroTxns_PartnerMicroTxn `protobuf:"bytes,4,rep,name=transactions" json:"transactions,omitempty"` + Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"` + Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"` + IsVerified *bool `protobuf:"varint,3,opt,name=is_verified,json=isVerified" json:"is_verified,omitempty"` } -func (x *CMsgDPPartnerMicroTxns) Reset() { - *x = CMsgDPPartnerMicroTxns{} +func (x *CMsgGCHVacVerificationChange) Reset() { + *x = CMsgGCHVacVerificationChange{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[59] + mi := &file_steammessages_int_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgDPPartnerMicroTxns) String() string { +func (x *CMsgGCHVacVerificationChange) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgDPPartnerMicroTxns) ProtoMessage() {} +func (*CMsgGCHVacVerificationChange) ProtoMessage() {} -func (x *CMsgDPPartnerMicroTxns) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[59] +func (x *CMsgGCHVacVerificationChange) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4159,65 +3518,58 @@ func (x *CMsgDPPartnerMicroTxns) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgDPPartnerMicroTxns.ProtoReflect.Descriptor instead. -func (*CMsgDPPartnerMicroTxns) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{59} +// Deprecated: Use CMsgGCHVacVerificationChange.ProtoReflect.Descriptor instead. +func (*CMsgGCHVacVerificationChange) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{52} } -func (x *CMsgDPPartnerMicroTxns) GetAppid() uint32 { - if x != nil && x.Appid != nil { - return *x.Appid +func (x *CMsgGCHVacVerificationChange) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid } return 0 } -func (x *CMsgDPPartnerMicroTxns) GetGcName() string { - if x != nil && x.GcName != nil { - return *x.GcName - } - return "" -} - -func (x *CMsgDPPartnerMicroTxns) GetPartner() *CMsgDPPartnerMicroTxns_PartnerInfo { - if x != nil { - return x.Partner +func (x *CMsgGCHVacVerificationChange) GetAppid() uint32 { + if x != nil && x.Appid != nil { + return *x.Appid } - return nil + return 0 } -func (x *CMsgDPPartnerMicroTxns) GetTransactions() []*CMsgDPPartnerMicroTxns_PartnerMicroTxn { - if x != nil { - return x.Transactions +func (x *CMsgGCHVacVerificationChange) GetIsVerified() bool { + if x != nil && x.IsVerified != nil { + return *x.IsVerified } - return nil + return false } -type CMsgDPPartnerMicroTxnsResponse struct { +type CMsgGCCheckClanMembership struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Eresult *uint32 `protobuf:"varint,1,opt,name=eresult" json:"eresult,omitempty"` - Eerrorcode *CMsgDPPartnerMicroTxnsResponse_EErrorCode `protobuf:"varint,2,opt,name=eerrorcode,enum=dota.CMsgDPPartnerMicroTxnsResponse_EErrorCode" json:"eerrorcode,omitempty"` + Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"` + Clanid *uint32 `protobuf:"varint,2,opt,name=clanid" json:"clanid,omitempty"` } -func (x *CMsgDPPartnerMicroTxnsResponse) Reset() { - *x = CMsgDPPartnerMicroTxnsResponse{} +func (x *CMsgGCCheckClanMembership) Reset() { + *x = CMsgGCCheckClanMembership{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[60] + mi := &file_steammessages_int_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgDPPartnerMicroTxnsResponse) String() string { +func (x *CMsgGCCheckClanMembership) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgDPPartnerMicroTxnsResponse) ProtoMessage() {} +func (*CMsgGCCheckClanMembership) ProtoMessage() {} -func (x *CMsgDPPartnerMicroTxnsResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[60] +func (x *CMsgGCCheckClanMembership) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4228,52 +3580,50 @@ func (x *CMsgDPPartnerMicroTxnsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgDPPartnerMicroTxnsResponse.ProtoReflect.Descriptor instead. -func (*CMsgDPPartnerMicroTxnsResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{60} +// Deprecated: Use CMsgGCCheckClanMembership.ProtoReflect.Descriptor instead. +func (*CMsgGCCheckClanMembership) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{53} } -func (x *CMsgDPPartnerMicroTxnsResponse) GetEresult() uint32 { - if x != nil && x.Eresult != nil { - return *x.Eresult +func (x *CMsgGCCheckClanMembership) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid } return 0 } -func (x *CMsgDPPartnerMicroTxnsResponse) GetEerrorcode() CMsgDPPartnerMicroTxnsResponse_EErrorCode { - if x != nil && x.Eerrorcode != nil { - return *x.Eerrorcode +func (x *CMsgGCCheckClanMembership) GetClanid() uint32 { + if x != nil && x.Clanid != nil { + return *x.Clanid } - return CMsgDPPartnerMicroTxnsResponse_k_MsgValid + return 0 } -type CMsgGCHVacVerificationChange struct { +type CMsgGCCheckClanMembership_Response struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"` - Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"` - IsVerified *bool `protobuf:"varint,3,opt,name=is_verified,json=isVerified" json:"is_verified,omitempty"` + Ismember *bool `protobuf:"varint,1,opt,name=ismember" json:"ismember,omitempty"` } -func (x *CMsgGCHVacVerificationChange) Reset() { - *x = CMsgGCHVacVerificationChange{} +func (x *CMsgGCCheckClanMembership_Response) Reset() { + *x = CMsgGCCheckClanMembership_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[61] + mi := &file_steammessages_int_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgGCHVacVerificationChange) String() string { +func (x *CMsgGCCheckClanMembership_Response) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgGCHVacVerificationChange) ProtoMessage() {} +func (*CMsgGCCheckClanMembership_Response) ProtoMessage() {} -func (x *CMsgGCHVacVerificationChange) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[61] +func (x *CMsgGCCheckClanMembership_Response) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4284,188 +3634,9 @@ func (x *CMsgGCHVacVerificationChange) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgGCHVacVerificationChange.ProtoReflect.Descriptor instead. -func (*CMsgGCHVacVerificationChange) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{61} -} - -func (x *CMsgGCHVacVerificationChange) GetSteamid() uint64 { - if x != nil && x.Steamid != nil { - return *x.Steamid - } - return 0 -} - -func (x *CMsgGCHVacVerificationChange) GetAppid() uint32 { - if x != nil && x.Appid != nil { - return *x.Appid - } - return 0 -} - -func (x *CMsgGCHVacVerificationChange) GetIsVerified() bool { - if x != nil && x.IsVerified != nil { - return *x.IsVerified - } - return false -} - -type CMsgGCHAccountTwoFactorChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"` - Appid *uint32 `protobuf:"varint,2,opt,name=appid" json:"appid,omitempty"` - TwofactorEnabled *bool `protobuf:"varint,3,opt,name=twofactor_enabled,json=twofactorEnabled" json:"twofactor_enabled,omitempty"` -} - -func (x *CMsgGCHAccountTwoFactorChange) Reset() { - *x = CMsgGCHAccountTwoFactorChange{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCHAccountTwoFactorChange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCHAccountTwoFactorChange) ProtoMessage() {} - -func (x *CMsgGCHAccountTwoFactorChange) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGCHAccountTwoFactorChange.ProtoReflect.Descriptor instead. -func (*CMsgGCHAccountTwoFactorChange) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{62} -} - -func (x *CMsgGCHAccountTwoFactorChange) GetSteamid() uint64 { - if x != nil && x.Steamid != nil { - return *x.Steamid - } - return 0 -} - -func (x *CMsgGCHAccountTwoFactorChange) GetAppid() uint32 { - if x != nil && x.Appid != nil { - return *x.Appid - } - return 0 -} - -func (x *CMsgGCHAccountTwoFactorChange) GetTwofactorEnabled() bool { - if x != nil && x.TwofactorEnabled != nil { - return *x.TwofactorEnabled - } - return false -} - -type CMsgGCCheckClanMembership struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Steamid *uint64 `protobuf:"fixed64,1,opt,name=steamid" json:"steamid,omitempty"` - Clanid *uint32 `protobuf:"varint,2,opt,name=clanid" json:"clanid,omitempty"` -} - -func (x *CMsgGCCheckClanMembership) Reset() { - *x = CMsgGCCheckClanMembership{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCCheckClanMembership) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCCheckClanMembership) ProtoMessage() {} - -func (x *CMsgGCCheckClanMembership) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGCCheckClanMembership.ProtoReflect.Descriptor instead. -func (*CMsgGCCheckClanMembership) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{63} -} - -func (x *CMsgGCCheckClanMembership) GetSteamid() uint64 { - if x != nil && x.Steamid != nil { - return *x.Steamid - } - return 0 -} - -func (x *CMsgGCCheckClanMembership) GetClanid() uint32 { - if x != nil && x.Clanid != nil { - return *x.Clanid - } - return 0 -} - -type CMsgGCCheckClanMembership_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ismember *bool `protobuf:"varint,1,opt,name=ismember" json:"ismember,omitempty"` -} - -func (x *CMsgGCCheckClanMembership_Response) Reset() { - *x = CMsgGCCheckClanMembership_Response{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCCheckClanMembership_Response) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCCheckClanMembership_Response) ProtoMessage() {} - -func (x *CMsgGCCheckClanMembership_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgGCCheckClanMembership_Response.ProtoReflect.Descriptor instead. -func (*CMsgGCCheckClanMembership_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{64} +// Deprecated: Use CMsgGCCheckClanMembership_Response.ProtoReflect.Descriptor instead. +func (*CMsgGCCheckClanMembership_Response) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{54} } func (x *CMsgGCCheckClanMembership_Response) GetIsmember() bool { @@ -4487,7 +3658,7 @@ type CMsgGCHAppCheersReceived struct { func (x *CMsgGCHAppCheersReceived) Reset() { *x = CMsgGCHAppCheersReceived{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[65] + mi := &file_steammessages_int_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4500,7 +3671,7 @@ func (x *CMsgGCHAppCheersReceived) String() string { func (*CMsgGCHAppCheersReceived) ProtoMessage() {} func (x *CMsgGCHAppCheersReceived) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[65] + mi := &file_steammessages_int_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4513,7 +3684,7 @@ func (x *CMsgGCHAppCheersReceived) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCHAppCheersReceived.ProtoReflect.Descriptor instead. func (*CMsgGCHAppCheersReceived) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{65} + return file_steammessages_int_proto_rawDescGZIP(), []int{55} } func (x *CMsgGCHAppCheersReceived) GetAppid() uint32 { @@ -4542,7 +3713,7 @@ type CMsgGCHAppCheersGetAllowedTypes struct { func (x *CMsgGCHAppCheersGetAllowedTypes) Reset() { *x = CMsgGCHAppCheersGetAllowedTypes{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[66] + mi := &file_steammessages_int_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4555,7 +3726,7 @@ func (x *CMsgGCHAppCheersGetAllowedTypes) String() string { func (*CMsgGCHAppCheersGetAllowedTypes) ProtoMessage() {} func (x *CMsgGCHAppCheersGetAllowedTypes) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[66] + mi := &file_steammessages_int_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4568,7 +3739,7 @@ func (x *CMsgGCHAppCheersGetAllowedTypes) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCHAppCheersGetAllowedTypes.ProtoReflect.Descriptor instead. func (*CMsgGCHAppCheersGetAllowedTypes) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{66} + return file_steammessages_int_proto_rawDescGZIP(), []int{56} } func (x *CMsgGCHAppCheersGetAllowedTypes) GetAppid() uint32 { @@ -4598,7 +3769,7 @@ type CMsgGCHAppCheersGetAllowedTypesResponse struct { func (x *CMsgGCHAppCheersGetAllowedTypesResponse) Reset() { *x = CMsgGCHAppCheersGetAllowedTypesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[67] + mi := &file_steammessages_int_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4611,7 +3782,7 @@ func (x *CMsgGCHAppCheersGetAllowedTypesResponse) String() string { func (*CMsgGCHAppCheersGetAllowedTypesResponse) ProtoMessage() {} func (x *CMsgGCHAppCheersGetAllowedTypesResponse) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[67] + mi := &file_steammessages_int_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4624,7 +3795,7 @@ func (x *CMsgGCHAppCheersGetAllowedTypesResponse) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCHAppCheersGetAllowedTypesResponse.ProtoReflect.Descriptor instead. func (*CMsgGCHAppCheersGetAllowedTypesResponse) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{67} + return file_steammessages_int_proto_rawDescGZIP(), []int{57} } func (x *CMsgGCHAppCheersGetAllowedTypesResponse) GetCheerTypesValidAllUsers() []uint32 { @@ -4648,204 +3819,6 @@ func (x *CMsgGCHAppCheersGetAllowedTypesResponse) GetCacheDuration() uint32 { return 0 } -type CGCSystemMsg_ReportExternalPurchase_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Appid *uint32 `protobuf:"varint,1,opt,name=appid" json:"appid,omitempty"` - Steamid *uint64 `protobuf:"fixed64,2,opt,name=steamid" json:"steamid,omitempty"` - Provider *EMobilePaymentProvider `protobuf:"varint,3,opt,name=provider,enum=dota.EMobilePaymentProvider" json:"provider,omitempty"` - Orderid *uint64 `protobuf:"varint,4,opt,name=orderid" json:"orderid,omitempty"` - ProviderOrderid *string `protobuf:"bytes,5,opt,name=provider_orderid,json=providerOrderid" json:"provider_orderid,omitempty"` - Amount *int64 `protobuf:"varint,6,opt,name=amount" json:"amount,omitempty"` - Currency *string `protobuf:"bytes,7,opt,name=currency" json:"currency,omitempty"` - Quantity *uint32 `protobuf:"varint,8,opt,name=quantity" json:"quantity,omitempty"` - Itemid *uint32 `protobuf:"varint,9,opt,name=itemid" json:"itemid,omitempty"` - ItemDescription *string `protobuf:"bytes,10,opt,name=item_description,json=itemDescription" json:"item_description,omitempty"` - Language *string `protobuf:"bytes,11,opt,name=language" json:"language,omitempty"` - Category *string `protobuf:"bytes,12,opt,name=category" json:"category,omitempty"` - TimeCreated *uint32 `protobuf:"varint,13,opt,name=time_created,json=timeCreated" json:"time_created,omitempty"` -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) Reset() { - *x = CGCSystemMsg_ReportExternalPurchase_Request{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CGCSystemMsg_ReportExternalPurchase_Request) ProtoMessage() {} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CGCSystemMsg_ReportExternalPurchase_Request.ProtoReflect.Descriptor instead. -func (*CGCSystemMsg_ReportExternalPurchase_Request) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{68} -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetAppid() uint32 { - if x != nil && x.Appid != nil { - return *x.Appid - } - return 0 -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetSteamid() uint64 { - if x != nil && x.Steamid != nil { - return *x.Steamid - } - return 0 -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetProvider() EMobilePaymentProvider { - if x != nil && x.Provider != nil { - return *x.Provider - } - return EMobilePaymentProvider_k_EMobilePaymentProvider_Invalid -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetOrderid() uint64 { - if x != nil && x.Orderid != nil { - return *x.Orderid - } - return 0 -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetProviderOrderid() string { - if x != nil && x.ProviderOrderid != nil { - return *x.ProviderOrderid - } - return "" -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetAmount() int64 { - if x != nil && x.Amount != nil { - return *x.Amount - } - return 0 -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetCurrency() string { - if x != nil && x.Currency != nil { - return *x.Currency - } - return "" -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetQuantity() uint32 { - if x != nil && x.Quantity != nil { - return *x.Quantity - } - return 0 -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetItemid() uint32 { - if x != nil && x.Itemid != nil { - return *x.Itemid - } - return 0 -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetItemDescription() string { - if x != nil && x.ItemDescription != nil { - return *x.ItemDescription - } - return "" -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetLanguage() string { - if x != nil && x.Language != nil { - return *x.Language - } - return "" -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetCategory() string { - if x != nil && x.Category != nil { - return *x.Category - } - return "" -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Request) GetTimeCreated() uint32 { - if x != nil && x.TimeCreated != nil { - return *x.TimeCreated - } - return 0 -} - -type CGCSystemMsg_ReportExternalPurchase_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Transid *uint64 `protobuf:"fixed64,1,opt,name=transid" json:"transid,omitempty"` - Orderid *uint64 `protobuf:"varint,2,opt,name=orderid" json:"orderid,omitempty"` -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Response) Reset() { - *x = CGCSystemMsg_ReportExternalPurchase_Response{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Response) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CGCSystemMsg_ReportExternalPurchase_Response) ProtoMessage() {} - -func (x *CGCSystemMsg_ReportExternalPurchase_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CGCSystemMsg_ReportExternalPurchase_Response.ProtoReflect.Descriptor instead. -func (*CGCSystemMsg_ReportExternalPurchase_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{69} -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Response) GetTransid() uint64 { - if x != nil && x.Transid != nil { - return *x.Transid - } - return 0 -} - -func (x *CGCSystemMsg_ReportExternalPurchase_Response) GetOrderid() uint64 { - if x != nil && x.Orderid != nil { - return *x.Orderid - } - return 0 -} - type CWorkshop_AddSpecialPayment_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4861,7 +3834,7 @@ type CWorkshop_AddSpecialPayment_Request struct { func (x *CWorkshop_AddSpecialPayment_Request) Reset() { *x = CWorkshop_AddSpecialPayment_Request{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[70] + mi := &file_steammessages_int_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4874,7 +3847,7 @@ func (x *CWorkshop_AddSpecialPayment_Request) String() string { func (*CWorkshop_AddSpecialPayment_Request) ProtoMessage() {} func (x *CWorkshop_AddSpecialPayment_Request) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[70] + mi := &file_steammessages_int_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4887,7 +3860,7 @@ func (x *CWorkshop_AddSpecialPayment_Request) ProtoReflect() protoreflect.Messag // Deprecated: Use CWorkshop_AddSpecialPayment_Request.ProtoReflect.Descriptor instead. func (*CWorkshop_AddSpecialPayment_Request) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{70} + return file_steammessages_int_proto_rawDescGZIP(), []int{58} } func (x *CWorkshop_AddSpecialPayment_Request) GetAppid() uint32 { @@ -4934,7 +3907,7 @@ type CWorkshop_AddSpecialPayment_Response struct { func (x *CWorkshop_AddSpecialPayment_Response) Reset() { *x = CWorkshop_AddSpecialPayment_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[71] + mi := &file_steammessages_int_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4947,7 +3920,7 @@ func (x *CWorkshop_AddSpecialPayment_Response) String() string { func (*CWorkshop_AddSpecialPayment_Response) ProtoMessage() {} func (x *CWorkshop_AddSpecialPayment_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[71] + mi := &file_steammessages_int_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4960,7 +3933,7 @@ func (x *CWorkshop_AddSpecialPayment_Response) ProtoReflect() protoreflect.Messa // Deprecated: Use CWorkshop_AddSpecialPayment_Response.ProtoReflect.Descriptor instead. func (*CWorkshop_AddSpecialPayment_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{71} + return file_steammessages_int_proto_rawDescGZIP(), []int{59} } type CWorkshop_GetSpecialPayments_Request struct { @@ -4976,7 +3949,7 @@ type CWorkshop_GetSpecialPayments_Request struct { func (x *CWorkshop_GetSpecialPayments_Request) Reset() { *x = CWorkshop_GetSpecialPayments_Request{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[72] + mi := &file_steammessages_int_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4989,7 +3962,7 @@ func (x *CWorkshop_GetSpecialPayments_Request) String() string { func (*CWorkshop_GetSpecialPayments_Request) ProtoMessage() {} func (x *CWorkshop_GetSpecialPayments_Request) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[72] + mi := &file_steammessages_int_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5002,7 +3975,7 @@ func (x *CWorkshop_GetSpecialPayments_Request) ProtoReflect() protoreflect.Messa // Deprecated: Use CWorkshop_GetSpecialPayments_Request.ProtoReflect.Descriptor instead. func (*CWorkshop_GetSpecialPayments_Request) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{72} + return file_steammessages_int_proto_rawDescGZIP(), []int{60} } func (x *CWorkshop_GetSpecialPayments_Request) GetAppid() uint32 { @@ -5037,7 +4010,7 @@ type CWorkshop_GetSpecialPayments_Response struct { func (x *CWorkshop_GetSpecialPayments_Response) Reset() { *x = CWorkshop_GetSpecialPayments_Response{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[73] + mi := &file_steammessages_int_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5050,7 +4023,7 @@ func (x *CWorkshop_GetSpecialPayments_Response) String() string { func (*CWorkshop_GetSpecialPayments_Response) ProtoMessage() {} func (x *CWorkshop_GetSpecialPayments_Response) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[73] + mi := &file_steammessages_int_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5063,7 +4036,7 @@ func (x *CWorkshop_GetSpecialPayments_Response) ProtoReflect() protoreflect.Mess // Deprecated: Use CWorkshop_GetSpecialPayments_Response.ProtoReflect.Descriptor instead. func (*CWorkshop_GetSpecialPayments_Response) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{73} + return file_steammessages_int_proto_rawDescGZIP(), []int{61} } func (x *CWorkshop_GetSpecialPayments_Response) GetSpecialPayments() []*CWorkshop_GetSpecialPayments_Response_SpecialPayment { @@ -5085,130 +4058,20 @@ type CMsgHttpRequest_RequestHeader struct { func (x *CMsgHttpRequest_RequestHeader) Reset() { *x = CMsgHttpRequest_RequestHeader{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgHttpRequest_RequestHeader) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgHttpRequest_RequestHeader) ProtoMessage() {} - -func (x *CMsgHttpRequest_RequestHeader) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[74] - 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 CMsgHttpRequest_RequestHeader.ProtoReflect.Descriptor instead. -func (*CMsgHttpRequest_RequestHeader) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{1, 0} -} - -func (x *CMsgHttpRequest_RequestHeader) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *CMsgHttpRequest_RequestHeader) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value - } - return "" -} - -type CMsgHttpRequest_QueryParam struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` -} - -func (x *CMsgHttpRequest_QueryParam) Reset() { - *x = CMsgHttpRequest_QueryParam{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgHttpRequest_QueryParam) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgHttpRequest_QueryParam) ProtoMessage() {} - -func (x *CMsgHttpRequest_QueryParam) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[75] - 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 CMsgHttpRequest_QueryParam.ProtoReflect.Descriptor instead. -func (*CMsgHttpRequest_QueryParam) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{1, 1} -} - -func (x *CMsgHttpRequest_QueryParam) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *CMsgHttpRequest_QueryParam) GetValue() []byte { - if x != nil { - return x.Value - } - return nil -} - -type CMsgHttpResponse_ResponseHeader struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` -} - -func (x *CMsgHttpResponse_ResponseHeader) Reset() { - *x = CMsgHttpResponse_ResponseHeader{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[76] + mi := &file_steammessages_int_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgHttpResponse_ResponseHeader) String() string { +func (x *CMsgHttpRequest_RequestHeader) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgHttpResponse_ResponseHeader) ProtoMessage() {} +func (*CMsgHttpRequest_RequestHeader) ProtoMessage() {} -func (x *CMsgHttpResponse_ResponseHeader) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[76] +func (x *CMsgHttpRequest_RequestHeader) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5219,51 +4082,51 @@ func (x *CMsgHttpResponse_ResponseHeader) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsgHttpResponse_ResponseHeader.ProtoReflect.Descriptor instead. -func (*CMsgHttpResponse_ResponseHeader) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{3, 0} +// Deprecated: Use CMsgHttpRequest_RequestHeader.ProtoReflect.Descriptor instead. +func (*CMsgHttpRequest_RequestHeader) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{1, 0} } -func (x *CMsgHttpResponse_ResponseHeader) GetName() string { +func (x *CMsgHttpRequest_RequestHeader) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } -func (x *CMsgHttpResponse_ResponseHeader) GetValue() string { +func (x *CMsgHttpRequest_RequestHeader) GetValue() string { if x != nil && x.Value != nil { return *x.Value } return "" } -type CMsgAMGetUserGameStatsResponse_Stats struct { +type CMsgHttpRequest_QueryParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - StatId *uint32 `protobuf:"varint,1,opt,name=stat_id,json=statId" json:"stat_id,omitempty"` - StatValue *uint32 `protobuf:"varint,2,opt,name=stat_value,json=statValue" json:"stat_value,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` } -func (x *CMsgAMGetUserGameStatsResponse_Stats) Reset() { - *x = CMsgAMGetUserGameStatsResponse_Stats{} +func (x *CMsgHttpRequest_QueryParam) Reset() { + *x = CMsgHttpRequest_QueryParam{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[77] + mi := &file_steammessages_int_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgAMGetUserGameStatsResponse_Stats) String() string { +func (x *CMsgHttpRequest_QueryParam) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgAMGetUserGameStatsResponse_Stats) ProtoMessage() {} +func (*CMsgHttpRequest_QueryParam) ProtoMessage() {} -func (x *CMsgAMGetUserGameStatsResponse_Stats) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[77] +func (x *CMsgHttpRequest_QueryParam) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5274,52 +4137,51 @@ func (x *CMsgAMGetUserGameStatsResponse_Stats) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use CMsgAMGetUserGameStatsResponse_Stats.ProtoReflect.Descriptor instead. -func (*CMsgAMGetUserGameStatsResponse_Stats) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{11, 0} +// Deprecated: Use CMsgHttpRequest_QueryParam.ProtoReflect.Descriptor instead. +func (*CMsgHttpRequest_QueryParam) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{1, 1} } -func (x *CMsgAMGetUserGameStatsResponse_Stats) GetStatId() uint32 { - if x != nil && x.StatId != nil { - return *x.StatId +func (x *CMsgHttpRequest_QueryParam) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } - return 0 + return "" } -func (x *CMsgAMGetUserGameStatsResponse_Stats) GetStatValue() uint32 { - if x != nil && x.StatValue != nil { - return *x.StatValue +func (x *CMsgHttpRequest_QueryParam) GetValue() []byte { + if x != nil { + return x.Value } - return 0 + return nil } -type CMsgAMGetUserGameStatsResponse_Achievement_Blocks struct { +type CMsgHttpResponse_ResponseHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AchievementId *uint32 `protobuf:"varint,1,opt,name=achievement_id,json=achievementId" json:"achievement_id,omitempty"` - AchievementBitId *uint32 `protobuf:"varint,2,opt,name=achievement_bit_id,json=achievementBitId" json:"achievement_bit_id,omitempty"` - UnlockTime *uint32 `protobuf:"fixed32,3,opt,name=unlock_time,json=unlockTime" json:"unlock_time,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` } -func (x *CMsgAMGetUserGameStatsResponse_Achievement_Blocks) Reset() { - *x = CMsgAMGetUserGameStatsResponse_Achievement_Blocks{} +func (x *CMsgHttpResponse_ResponseHeader) Reset() { + *x = CMsgHttpResponse_ResponseHeader{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[78] + mi := &file_steammessages_int_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgAMGetUserGameStatsResponse_Achievement_Blocks) String() string { +func (x *CMsgHttpResponse_ResponseHeader) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgAMGetUserGameStatsResponse_Achievement_Blocks) ProtoMessage() {} +func (*CMsgHttpResponse_ResponseHeader) ProtoMessage() {} -func (x *CMsgAMGetUserGameStatsResponse_Achievement_Blocks) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[78] +func (x *CMsgHttpResponse_ResponseHeader) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5330,30 +4192,23 @@ func (x *CMsgAMGetUserGameStatsResponse_Achievement_Blocks) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use CMsgAMGetUserGameStatsResponse_Achievement_Blocks.ProtoReflect.Descriptor instead. -func (*CMsgAMGetUserGameStatsResponse_Achievement_Blocks) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{11, 1} -} - -func (x *CMsgAMGetUserGameStatsResponse_Achievement_Blocks) GetAchievementId() uint32 { - if x != nil && x.AchievementId != nil { - return *x.AchievementId - } - return 0 +// Deprecated: Use CMsgHttpResponse_ResponseHeader.ProtoReflect.Descriptor instead. +func (*CMsgHttpResponse_ResponseHeader) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{3, 0} } -func (x *CMsgAMGetUserGameStatsResponse_Achievement_Blocks) GetAchievementBitId() uint32 { - if x != nil && x.AchievementBitId != nil { - return *x.AchievementBitId +func (x *CMsgHttpResponse_ResponseHeader) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } - return 0 + return "" } -func (x *CMsgAMGetUserGameStatsResponse_Achievement_Blocks) GetUnlockTime() uint32 { - if x != nil && x.UnlockTime != nil { - return *x.UnlockTime +func (x *CMsgHttpResponse_ResponseHeader) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value } - return 0 + return "" } type CGCMsgMemCachedGetResponse_ValueTag struct { @@ -5368,7 +4223,7 @@ type CGCMsgMemCachedGetResponse_ValueTag struct { func (x *CGCMsgMemCachedGetResponse_ValueTag) Reset() { *x = CGCMsgMemCachedGetResponse_ValueTag{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[79] + mi := &file_steammessages_int_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5381,7 +4236,7 @@ func (x *CGCMsgMemCachedGetResponse_ValueTag) String() string { func (*CGCMsgMemCachedGetResponse_ValueTag) ProtoMessage() {} func (x *CGCMsgMemCachedGetResponse_ValueTag) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[79] + mi := &file_steammessages_int_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5394,7 +4249,7 @@ func (x *CGCMsgMemCachedGetResponse_ValueTag) ProtoReflect() protoreflect.Messag // Deprecated: Use CGCMsgMemCachedGetResponse_ValueTag.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedGetResponse_ValueTag) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{15, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{13, 0} } func (x *CGCMsgMemCachedGetResponse_ValueTag) GetFound() bool { @@ -5423,7 +4278,7 @@ type CGCMsgMemCachedSet_KeyPair struct { func (x *CGCMsgMemCachedSet_KeyPair) Reset() { *x = CGCMsgMemCachedSet_KeyPair{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[80] + mi := &file_steammessages_int_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5436,7 +4291,7 @@ func (x *CGCMsgMemCachedSet_KeyPair) String() string { func (*CGCMsgMemCachedSet_KeyPair) ProtoMessage() {} func (x *CGCMsgMemCachedSet_KeyPair) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[80] + mi := &file_steammessages_int_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5449,7 +4304,7 @@ func (x *CGCMsgMemCachedSet_KeyPair) ProtoReflect() protoreflect.Message { // Deprecated: Use CGCMsgMemCachedSet_KeyPair.ProtoReflect.Descriptor instead. func (*CGCMsgMemCachedSet_KeyPair) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{16, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{14, 0} } func (x *CGCMsgMemCachedSet_KeyPair) GetName() string { @@ -5478,7 +4333,7 @@ type CMsgAMSendEmail_ReplacementToken struct { func (x *CMsgAMSendEmail_ReplacementToken) Reset() { *x = CMsgAMSendEmail_ReplacementToken{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[81] + mi := &file_steammessages_int_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5491,7 +4346,7 @@ func (x *CMsgAMSendEmail_ReplacementToken) String() string { func (*CMsgAMSendEmail_ReplacementToken) ProtoMessage() {} func (x *CMsgAMSendEmail_ReplacementToken) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[81] + mi := &file_steammessages_int_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5504,7 +4359,7 @@ func (x *CMsgAMSendEmail_ReplacementToken) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgAMSendEmail_ReplacementToken.ProtoReflect.Descriptor instead. func (*CMsgAMSendEmail_ReplacementToken) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{31, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{26, 0} } func (x *CMsgAMSendEmail_ReplacementToken) GetTokenName() string { @@ -5533,7 +4388,7 @@ type CMsgAMSendEmail_PersonaNameReplacementToken struct { func (x *CMsgAMSendEmail_PersonaNameReplacementToken) Reset() { *x = CMsgAMSendEmail_PersonaNameReplacementToken{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[82] + mi := &file_steammessages_int_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5546,7 +4401,7 @@ func (x *CMsgAMSendEmail_PersonaNameReplacementToken) String() string { func (*CMsgAMSendEmail_PersonaNameReplacementToken) ProtoMessage() {} func (x *CMsgAMSendEmail_PersonaNameReplacementToken) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[82] + mi := &file_steammessages_int_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5559,7 +4414,7 @@ func (x *CMsgAMSendEmail_PersonaNameReplacementToken) ProtoReflect() protoreflec // Deprecated: Use CMsgAMSendEmail_PersonaNameReplacementToken.ProtoReflect.Descriptor instead. func (*CMsgAMSendEmail_PersonaNameReplacementToken) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{31, 1} + return file_steammessages_int_proto_rawDescGZIP(), []int{26, 1} } func (x *CMsgAMSendEmail_PersonaNameReplacementToken) GetSteamid() uint64 { @@ -5588,7 +4443,7 @@ type CMsgGCGetPersonaNames_Response_PersonaName struct { func (x *CMsgGCGetPersonaNames_Response_PersonaName) Reset() { *x = CMsgGCGetPersonaNames_Response_PersonaName{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[83] + mi := &file_steammessages_int_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5601,7 +4456,7 @@ func (x *CMsgGCGetPersonaNames_Response_PersonaName) String() string { func (*CMsgGCGetPersonaNames_Response_PersonaName) ProtoMessage() {} func (x *CMsgGCGetPersonaNames_Response_PersonaName) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[83] + mi := &file_steammessages_int_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5614,7 +4469,7 @@ func (x *CMsgGCGetPersonaNames_Response_PersonaName) ProtoReflect() protoreflect // Deprecated: Use CMsgGCGetPersonaNames_Response_PersonaName.ProtoReflect.Descriptor instead. func (*CMsgGCGetPersonaNames_Response_PersonaName) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{38, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{33, 0} } func (x *CMsgGCGetPersonaNames_Response_PersonaName) GetSteamid() uint64 { @@ -5646,7 +4501,7 @@ type CMsgGCMsgMasterSetDirectory_SubGC struct { func (x *CMsgGCMsgMasterSetDirectory_SubGC) Reset() { *x = CMsgGCMsgMasterSetDirectory_SubGC{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[84] + mi := &file_steammessages_int_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5659,7 +4514,7 @@ func (x *CMsgGCMsgMasterSetDirectory_SubGC) String() string { func (*CMsgGCMsgMasterSetDirectory_SubGC) ProtoMessage() {} func (x *CMsgGCMsgMasterSetDirectory_SubGC) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[84] + mi := &file_steammessages_int_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5672,7 +4527,7 @@ func (x *CMsgGCMsgMasterSetDirectory_SubGC) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCMsgMasterSetDirectory_SubGC.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetDirectory_SubGC) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{43, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{38, 0} } func (x *CMsgGCMsgMasterSetDirectory_SubGC) GetDirIndex() int32 { @@ -5723,7 +4578,7 @@ type CMsgGCMsgMasterSetWebAPIRouting_Entry struct { func (x *CMsgGCMsgMasterSetWebAPIRouting_Entry) Reset() { *x = CMsgGCMsgMasterSetWebAPIRouting_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[85] + mi := &file_steammessages_int_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5736,7 +4591,7 @@ func (x *CMsgGCMsgMasterSetWebAPIRouting_Entry) String() string { func (*CMsgGCMsgMasterSetWebAPIRouting_Entry) ProtoMessage() {} func (x *CMsgGCMsgMasterSetWebAPIRouting_Entry) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[85] + mi := &file_steammessages_int_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5749,7 +4604,7 @@ func (x *CMsgGCMsgMasterSetWebAPIRouting_Entry) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCMsgMasterSetWebAPIRouting_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetWebAPIRouting_Entry) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{52, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{45, 0} } func (x *CMsgGCMsgMasterSetWebAPIRouting_Entry) GetInterfaceName() string { @@ -5785,7 +4640,7 @@ type CMsgGCMsgMasterSetClientMsgRouting_Entry struct { func (x *CMsgGCMsgMasterSetClientMsgRouting_Entry) Reset() { *x = CMsgGCMsgMasterSetClientMsgRouting_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[86] + mi := &file_steammessages_int_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5798,7 +4653,7 @@ func (x *CMsgGCMsgMasterSetClientMsgRouting_Entry) String() string { func (*CMsgGCMsgMasterSetClientMsgRouting_Entry) ProtoMessage() {} func (x *CMsgGCMsgMasterSetClientMsgRouting_Entry) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[86] + mi := &file_steammessages_int_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5811,7 +4666,7 @@ func (x *CMsgGCMsgMasterSetClientMsgRouting_Entry) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCMsgMasterSetClientMsgRouting_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCMsgMasterSetClientMsgRouting_Entry) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{53, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{46, 0} } func (x *CMsgGCMsgMasterSetClientMsgRouting_Entry) GetMsgType() uint32 { @@ -5840,7 +4695,7 @@ type CMsgGCMsgSetOptions_MessageRange struct { func (x *CMsgGCMsgSetOptions_MessageRange) Reset() { *x = CMsgGCMsgSetOptions_MessageRange{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[87] + mi := &file_steammessages_int_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5853,7 +4708,7 @@ func (x *CMsgGCMsgSetOptions_MessageRange) String() string { func (*CMsgGCMsgSetOptions_MessageRange) ProtoMessage() {} func (x *CMsgGCMsgSetOptions_MessageRange) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[87] + mi := &file_steammessages_int_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5866,7 +4721,7 @@ func (x *CMsgGCMsgSetOptions_MessageRange) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCMsgSetOptions_MessageRange.ProtoReflect.Descriptor instead. func (*CMsgGCMsgSetOptions_MessageRange) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{56, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{49, 0} } func (x *CMsgGCMsgSetOptions_MessageRange) GetLow() uint32 { @@ -5895,307 +4750,75 @@ type CMsgGCHUpdateSession_ExtraField struct { func (x *CMsgGCHUpdateSession_ExtraField) Reset() { *x = CMsgGCHUpdateSession_ExtraField{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgGCHUpdateSession_ExtraField) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgGCHUpdateSession_ExtraField) ProtoMessage() {} - -func (x *CMsgGCHUpdateSession_ExtraField) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[88] - 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 CMsgGCHUpdateSession_ExtraField.ProtoReflect.Descriptor instead. -func (*CMsgGCHUpdateSession_ExtraField) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{57, 0} -} - -func (x *CMsgGCHUpdateSession_ExtraField) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *CMsgGCHUpdateSession_ExtraField) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value - } - return "" -} - -type CMsgNotificationOfSuspiciousActivity_MultipleGameInstances struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AppInstanceCount *uint32 `protobuf:"varint,1,opt,name=app_instance_count,json=appInstanceCount" json:"app_instance_count,omitempty"` - OtherSteamids []uint64 `protobuf:"fixed64,2,rep,name=other_steamids,json=otherSteamids" json:"other_steamids,omitempty"` -} - -func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) Reset() { - *x = CMsgNotificationOfSuspiciousActivity_MultipleGameInstances{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) ProtoMessage() {} - -func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[89] - 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 CMsgNotificationOfSuspiciousActivity_MultipleGameInstances.ProtoReflect.Descriptor instead. -func (*CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{58, 0} -} - -func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) GetAppInstanceCount() uint32 { - if x != nil && x.AppInstanceCount != nil { - return *x.AppInstanceCount - } - return 0 -} - -func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) GetOtherSteamids() []uint64 { - if x != nil { - return x.OtherSteamids - } - return nil -} - -type CMsgDPPartnerMicroTxns_PartnerMicroTxn struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InitTime *uint32 `protobuf:"varint,1,opt,name=init_time,json=initTime" json:"init_time,omitempty"` - LastUpdateTime *uint32 `protobuf:"varint,2,opt,name=last_update_time,json=lastUpdateTime" json:"last_update_time,omitempty"` - TxnId *uint64 `protobuf:"varint,3,opt,name=txn_id,json=txnId" json:"txn_id,omitempty"` - AccountId *uint32 `protobuf:"varint,4,opt,name=account_id,json=accountId" json:"account_id,omitempty"` - LineItem *uint32 `protobuf:"varint,5,opt,name=line_item,json=lineItem" json:"line_item,omitempty"` - ItemId *uint64 `protobuf:"varint,6,opt,name=item_id,json=itemId" json:"item_id,omitempty"` - DefIndex *uint32 `protobuf:"varint,7,opt,name=def_index,json=defIndex" json:"def_index,omitempty"` - Price *uint64 `protobuf:"varint,8,opt,name=price" json:"price,omitempty"` - Tax *uint64 `protobuf:"varint,9,opt,name=tax" json:"tax,omitempty"` - PriceUsd *uint64 `protobuf:"varint,10,opt,name=price_usd,json=priceUsd" json:"price_usd,omitempty"` - TaxUsd *uint64 `protobuf:"varint,11,opt,name=tax_usd,json=taxUsd" json:"tax_usd,omitempty"` - PurchaseType *uint32 `protobuf:"varint,12,opt,name=purchase_type,json=purchaseType" json:"purchase_type,omitempty"` - SteamTxnType *uint32 `protobuf:"varint,13,opt,name=steam_txn_type,json=steamTxnType" json:"steam_txn_type,omitempty"` - CountryCode *string `protobuf:"bytes,14,opt,name=country_code,json=countryCode" json:"country_code,omitempty"` - RegionCode *string `protobuf:"bytes,15,opt,name=region_code,json=regionCode" json:"region_code,omitempty"` - Quantity *int32 `protobuf:"varint,16,opt,name=quantity" json:"quantity,omitempty"` - RefTransId *uint64 `protobuf:"varint,17,opt,name=ref_trans_id,json=refTransId" json:"ref_trans_id,omitempty"` -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) Reset() { - *x = CMsgDPPartnerMicroTxns_PartnerMicroTxn{} - if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgDPPartnerMicroTxns_PartnerMicroTxn) ProtoMessage() {} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_steammessages_int_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgDPPartnerMicroTxns_PartnerMicroTxn.ProtoReflect.Descriptor instead. -func (*CMsgDPPartnerMicroTxns_PartnerMicroTxn) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{59, 0} -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetInitTime() uint32 { - if x != nil && x.InitTime != nil { - return *x.InitTime - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetLastUpdateTime() uint32 { - if x != nil && x.LastUpdateTime != nil { - return *x.LastUpdateTime - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetTxnId() uint64 { - if x != nil && x.TxnId != nil { - return *x.TxnId - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetAccountId() uint32 { - if x != nil && x.AccountId != nil { - return *x.AccountId - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetLineItem() uint32 { - if x != nil && x.LineItem != nil { - return *x.LineItem - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetItemId() uint64 { - if x != nil && x.ItemId != nil { - return *x.ItemId - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetDefIndex() uint32 { - if x != nil && x.DefIndex != nil { - return *x.DefIndex - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetPrice() uint64 { - if x != nil && x.Price != nil { - return *x.Price - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetTax() uint64 { - if x != nil && x.Tax != nil { - return *x.Tax - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetPriceUsd() uint64 { - if x != nil && x.PriceUsd != nil { - return *x.PriceUsd - } - return 0 -} - -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetTaxUsd() uint64 { - if x != nil && x.TaxUsd != nil { - return *x.TaxUsd + ms.StoreMessageInfo(mi) } - return 0 } -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetPurchaseType() uint32 { - if x != nil && x.PurchaseType != nil { - return *x.PurchaseType - } - return 0 +func (x *CMsgGCHUpdateSession_ExtraField) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetSteamTxnType() uint32 { - if x != nil && x.SteamTxnType != nil { - return *x.SteamTxnType - } - return 0 -} +func (*CMsgGCHUpdateSession_ExtraField) ProtoMessage() {} -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetCountryCode() string { - if x != nil && x.CountryCode != nil { - return *x.CountryCode +func (x *CMsgGCHUpdateSession_ExtraField) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetRegionCode() string { - if x != nil && x.RegionCode != nil { - return *x.RegionCode - } - return "" +// Deprecated: Use CMsgGCHUpdateSession_ExtraField.ProtoReflect.Descriptor instead. +func (*CMsgGCHUpdateSession_ExtraField) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{50, 0} } -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetQuantity() int32 { - if x != nil && x.Quantity != nil { - return *x.Quantity +func (x *CMsgGCHUpdateSession_ExtraField) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } - return 0 + return "" } -func (x *CMsgDPPartnerMicroTxns_PartnerMicroTxn) GetRefTransId() uint64 { - if x != nil && x.RefTransId != nil { - return *x.RefTransId +func (x *CMsgGCHUpdateSession_ExtraField) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value } - return 0 + return "" } -type CMsgDPPartnerMicroTxns_PartnerInfo struct { +type CMsgNotificationOfSuspiciousActivity_MultipleGameInstances struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PartnerId *uint32 `protobuf:"varint,1,opt,name=partner_id,json=partnerId" json:"partner_id,omitempty"` - PartnerName *string `protobuf:"bytes,2,opt,name=partner_name,json=partnerName" json:"partner_name,omitempty"` - CurrencyCode *string `protobuf:"bytes,3,opt,name=currency_code,json=currencyCode" json:"currency_code,omitempty"` - CurrencyName *string `protobuf:"bytes,4,opt,name=currency_name,json=currencyName" json:"currency_name,omitempty"` + AppInstanceCount *uint32 `protobuf:"varint,1,opt,name=app_instance_count,json=appInstanceCount" json:"app_instance_count,omitempty"` + OtherSteamids []uint64 `protobuf:"fixed64,2,rep,name=other_steamids,json=otherSteamids" json:"other_steamids,omitempty"` } -func (x *CMsgDPPartnerMicroTxns_PartnerInfo) Reset() { - *x = CMsgDPPartnerMicroTxns_PartnerInfo{} +func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) Reset() { + *x = CMsgNotificationOfSuspiciousActivity_MultipleGameInstances{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[91] + mi := &file_steammessages_int_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsgDPPartnerMicroTxns_PartnerInfo) String() string { +func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsgDPPartnerMicroTxns_PartnerInfo) ProtoMessage() {} +func (*CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) ProtoMessage() {} -func (x *CMsgDPPartnerMicroTxns_PartnerInfo) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[91] +func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_int_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6206,37 +4829,23 @@ func (x *CMsgDPPartnerMicroTxns_PartnerInfo) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use CMsgDPPartnerMicroTxns_PartnerInfo.ProtoReflect.Descriptor instead. -func (*CMsgDPPartnerMicroTxns_PartnerInfo) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{59, 1} +// Deprecated: Use CMsgNotificationOfSuspiciousActivity_MultipleGameInstances.ProtoReflect.Descriptor instead. +func (*CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) Descriptor() ([]byte, []int) { + return file_steammessages_int_proto_rawDescGZIP(), []int{51, 0} } -func (x *CMsgDPPartnerMicroTxns_PartnerInfo) GetPartnerId() uint32 { - if x != nil && x.PartnerId != nil { - return *x.PartnerId +func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) GetAppInstanceCount() uint32 { + if x != nil && x.AppInstanceCount != nil { + return *x.AppInstanceCount } return 0 } -func (x *CMsgDPPartnerMicroTxns_PartnerInfo) GetPartnerName() string { - if x != nil && x.PartnerName != nil { - return *x.PartnerName - } - return "" -} - -func (x *CMsgDPPartnerMicroTxns_PartnerInfo) GetCurrencyCode() string { - if x != nil && x.CurrencyCode != nil { - return *x.CurrencyCode - } - return "" -} - -func (x *CMsgDPPartnerMicroTxns_PartnerInfo) GetCurrencyName() string { - if x != nil && x.CurrencyName != nil { - return *x.CurrencyName +func (x *CMsgNotificationOfSuspiciousActivity_MultipleGameInstances) GetOtherSteamids() []uint64 { + if x != nil { + return x.OtherSteamids } - return "" + return nil } type CMsgGCHAppCheersReceived_CheerTypeAmount struct { @@ -6251,7 +4860,7 @@ type CMsgGCHAppCheersReceived_CheerTypeAmount struct { func (x *CMsgGCHAppCheersReceived_CheerTypeAmount) Reset() { *x = CMsgGCHAppCheersReceived_CheerTypeAmount{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[92] + mi := &file_steammessages_int_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6264,7 +4873,7 @@ func (x *CMsgGCHAppCheersReceived_CheerTypeAmount) String() string { func (*CMsgGCHAppCheersReceived_CheerTypeAmount) ProtoMessage() {} func (x *CMsgGCHAppCheersReceived_CheerTypeAmount) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[92] + mi := &file_steammessages_int_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6277,7 +4886,7 @@ func (x *CMsgGCHAppCheersReceived_CheerTypeAmount) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCHAppCheersReceived_CheerTypeAmount.ProtoReflect.Descriptor instead. func (*CMsgGCHAppCheersReceived_CheerTypeAmount) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{65, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{55, 0} } func (x *CMsgGCHAppCheersReceived_CheerTypeAmount) GetCheerType() uint32 { @@ -6306,7 +4915,7 @@ type CMsgGCHAppCheersReceived_CheerTarget struct { func (x *CMsgGCHAppCheersReceived_CheerTarget) Reset() { *x = CMsgGCHAppCheersReceived_CheerTarget{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[93] + mi := &file_steammessages_int_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6319,7 +4928,7 @@ func (x *CMsgGCHAppCheersReceived_CheerTarget) String() string { func (*CMsgGCHAppCheersReceived_CheerTarget) ProtoMessage() {} func (x *CMsgGCHAppCheersReceived_CheerTarget) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[93] + mi := &file_steammessages_int_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6332,7 +4941,7 @@ func (x *CMsgGCHAppCheersReceived_CheerTarget) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCHAppCheersReceived_CheerTarget.ProtoReflect.Descriptor instead. func (*CMsgGCHAppCheersReceived_CheerTarget) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{65, 1} + return file_steammessages_int_proto_rawDescGZIP(), []int{55, 1} } func (x *CMsgGCHAppCheersReceived_CheerTarget) GetCheerTarget() uint64 { @@ -6362,7 +4971,7 @@ type CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps struct { func (x *CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps) Reset() { *x = CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[94] + mi := &file_steammessages_int_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6375,7 +4984,7 @@ func (x *CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps) String() string { func (*CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps) ProtoMessage() {} func (x *CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[94] + mi := &file_steammessages_int_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6388,7 +4997,7 @@ func (x *CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps) ProtoReflect() pro // Deprecated: Use CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps.ProtoReflect.Descriptor instead. func (*CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{67, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{57, 0} } func (x *CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps) GetOriginalCheerType() uint32 { @@ -6427,7 +5036,7 @@ type CWorkshop_GetSpecialPayments_Response_SpecialPayment struct { func (x *CWorkshop_GetSpecialPayments_Response_SpecialPayment) Reset() { *x = CWorkshop_GetSpecialPayments_Response_SpecialPayment{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_int_proto_msgTypes[95] + mi := &file_steammessages_int_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6440,7 +5049,7 @@ func (x *CWorkshop_GetSpecialPayments_Response_SpecialPayment) String() string { func (*CWorkshop_GetSpecialPayments_Response_SpecialPayment) ProtoMessage() {} func (x *CWorkshop_GetSpecialPayments_Response_SpecialPayment) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_int_proto_msgTypes[95] + mi := &file_steammessages_int_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6453,7 +5062,7 @@ func (x *CWorkshop_GetSpecialPayments_Response_SpecialPayment) ProtoReflect() pr // Deprecated: Use CWorkshop_GetSpecialPayments_Response_SpecialPayment.ProtoReflect.Descriptor instead. func (*CWorkshop_GetSpecialPayments_Response_SpecialPayment) Descriptor() ([]byte, []int) { - return file_steammessages_int_proto_rawDescGZIP(), []int{73, 0} + return file_steammessages_int_proto_rawDescGZIP(), []int{61, 0} } func (x *CWorkshop_GetSpecialPayments_Response_SpecialPayment) GetAppid() uint32 { @@ -6606,791 +5215,568 @@ var file_steammessages_int_proto_rawDesc = []byte{ 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x62, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x73, 0x22, 0xe6, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, - 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x66, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x61, 0x63, 0x68, - 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x3f, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, - 0x8a, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, - 0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65, - 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, - 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x0a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x14, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x22, 0x41, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, - 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, - 0x97, 0x01, 0x0a, 0x1a, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, - 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, - 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x12, 0x43, 0x47, 0x43, - 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, - 0x34, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x69, 0x72, 0x52, - 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x33, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x69, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x15, 0x43, 0x47, - 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, 0x43, 0x4d, 0x73, - 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, - 0xd6, 0x03, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, - 0x6d, 0x64, 0x5f, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, - 0x64, 0x47, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x6d, 0x64, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x63, 0x6d, 0x64, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x65, - 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x65, - 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x65, 0x74, 0x4d, 0x69, - 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x68, - 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, - 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x25, - 0x0a, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x61, 0x78, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0e, 0x43, 0x47, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, - 0x67, 0x22, 0xc9, 0x03, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x68, 0x72, - 0x65, 0x61, 0x64, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x40, 0x0a, - 0x1c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, - 0x47, 0x0a, 0x20, 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6e, 0x6f, 0x6e, 0x50, 0x72, - 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x61, 0x64, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x49, 0x6e, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x99, 0x01, - 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x4c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1c, 0x0a, - 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1c, 0x43, 0x4d, - 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, - 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x69, - 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x03, 0x69, 0x70, 0x73, 0x22, 0x22, 0x0a, - 0x0e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x41, 0x53, 0x4e, 0x12, - 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x03, 0x69, 0x70, - 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x43, 0x49, 0x50, 0x41, 0x53, 0x4e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, 0x69, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, - 0x6e, 0x22, 0x40, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, - 0x41, 0x53, 0x4e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x69, - 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x49, 0x50, 0x41, 0x53, 0x4e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, - 0x66, 0x6f, 0x73, 0x22, 0x52, 0x0a, 0x17, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, - 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x76, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, - 0xf5, 0x03, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1a, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x79, 0x69, 0x65, 0x6c, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, - 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x12, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, - 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x6f, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x54, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, - 0x0a, 0x10, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x69, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, - 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, - 0x67, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, - 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, - 0x67, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xe0, 0x03, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, - 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, - 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x61, - 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x11, - 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x63, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x63, 0x12, 0x3e, - 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x52, - 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x1a, 0x56, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x17, 0x43, 0x4d, - 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x97, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, - 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, - 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x7f, 0x0a, 0x1e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, - 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x79, 0x73, - 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x61, 0x79, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x62, - 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x65, 0x64, 0x22, 0x33, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x81, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, + 0x54, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x41, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x47, 0x43, 0x4d, + 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x1a, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x41, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, + 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x52, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x12, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, + 0x65, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, + 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, + 0x69, 0x72, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x33, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x50, + 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, + 0x15, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, + 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, + 0x75, 0x72, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, + 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x63, 0x6d, 0x64, 0x47, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, 0x73, + 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x53, 0x65, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6d, 0x64, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, 0x19, 0x0a, + 0x08, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x67, 0x65, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x5f, + 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x65, + 0x74, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, + 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x4d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x75, + 0x72, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x76, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0e, 0x43, + 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x22, 0xc9, 0x03, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x72, + 0x65, 0x61, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, + 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x31, 0x0a, + 0x14, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, + 0x12, 0x40, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x64, 0x12, 0x47, 0x0a, 0x20, 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6e, 0x6f, + 0x6e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, + 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, + 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x4f, 0x75, + 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x22, 0x99, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, + 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x12, 0x2c, + 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x88, 0x01, 0x0a, + 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, + 0x07, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x43, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, + 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x03, 0x69, 0x70, 0x73, + 0x22, 0x22, 0x0a, 0x0e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x41, + 0x53, 0x4e, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, + 0x03, 0x69, 0x70, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x43, 0x49, 0x50, 0x41, 0x53, 0x4e, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, + 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x61, 0x73, 0x6e, 0x22, 0x40, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, + 0x74, 0x49, 0x50, 0x41, 0x53, 0x4e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, + 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x49, 0x50, 0x41, 0x53, 0x4e, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xe0, 0x03, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x41, + 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, + 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x61, 0x0a, + 0x13, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, + 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x11, 0x70, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x63, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x63, 0x12, 0x3e, 0x0a, + 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, + 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x52, 0x0a, + 0x10, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x1a, 0x56, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x17, 0x43, 0x4d, 0x73, + 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x97, + 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, + 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, + 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, + 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x7f, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, 0x4d, + 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, + 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x79, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x61, 0x79, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x62, 0x0a, + 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, + 0x64, 0x22, 0x33, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x81, 0x02, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, - 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x1a, - 0x4a, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x73, 0x68, 0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, - 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x74, 0x65, 0x61, - 0x6d, 0x69, 0x64, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x69, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x65, 0x0a, 0x1e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x75, 0x6e, - 0x64, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, - 0x68, 0x69, 0x70, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, - 0x74, 0x41, 0x70, 0x70, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x1d, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x1b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, - 0x68, 0x69, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x47, 0x0a, - 0x21, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, - 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x50, 0x6c, - 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x73, 0x12, 0x33, 0x0a, 0x15, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x07, - 0x52, 0x14, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0d, - 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x8f, 0x02, - 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, - 0x10, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, - 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x39, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x47, 0x43, 0x52, 0x03, 0x64, - 0x69, 0x72, 0x1a, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x75, 0x62, 0x47, 0x43, 0x12, 0x1b, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x62, 0x6f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, - 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, - 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x63, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, - 0x5a, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x28, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x1a, 0x4a, + 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, 0x26, 0x43, 0x47, 0x43, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, - 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, - 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x40, 0x0a, 0x1d, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x63, - 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, - 0x73, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x68, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x13, 0x69, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x61, 0x73, 0x68, 0x54, - 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, - 0x22, 0xcf, 0x01, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x56, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, - 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, - 0x70, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, - 0x63, 0x62, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, - 0x64, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x42, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4e, 0x6f, 0x77, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x62, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x74, 0x75, - 0x72, 0x65, 0x22, 0x37, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, - 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0xac, 0x01, 0x0a, 0x24, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x70, 0x77, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x6f, - 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x6f, 0x6e, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x64, 0x75, 0x6c, 0x74, 0x22, 0x8c, 0x03, 0x0a, 0x11, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, 0x0a, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, - 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x41, 0x0a, 0x08, - 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, - 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x52, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0a, 0x0a, 0x06, 0x52, - 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, - 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x53, - 0x54, 0x45, 0x41, 0x4d, 0x49, 0x44, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, - 0x34, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x41, - 0x52, 0x41, 0x4d, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, - 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x49, 0x44, 0x5f, 0x41, 0x43, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x44, 0x10, 0x05, 0x22, 0xed, 0x01, 0x0a, 0x1f, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, - 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x1a, 0x82, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, - 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x01, 0x0a, 0x22, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x48, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, - 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x05, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, - 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x22, 0x44, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, + 0x68, 0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x6c, + 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x69, 0x64, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x65, 0x0a, 0x1e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, + 0x69, 0x70, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, + 0x41, 0x70, 0x70, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x1d, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, + 0x69, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x47, 0x0a, 0x21, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x50, 0x6c, 0x61, + 0x79, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x20, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, + 0x12, 0x33, 0x0a, 0x15, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x07, 0x52, + 0x14, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0d, 0x6c, + 0x61, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x8f, 0x02, 0x0a, + 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, + 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x39, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x47, 0x43, 0x52, 0x03, 0x64, 0x69, + 0x72, 0x1a, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x75, 0x62, 0x47, 0x43, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x62, 0x6f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x21, + 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x63, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x5a, + 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, 0x26, 0x43, 0x47, 0x43, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x70, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, + 0x0a, 0x1d, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x73, + 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x68, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x69, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x61, 0x73, 0x68, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x6c, + 0x6c, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, + 0xcf, 0x01, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x56, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, + 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, + 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x63, + 0x62, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, + 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x42, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x4e, 0x6f, 0x77, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x62, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x8c, 0x03, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x12, 0x41, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x08, 0x66, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, + 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x49, 0x44, 0x10, 0x02, 0x12, + 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x46, 0x49, 0x45, 0x4c, + 0x44, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x45, + 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, + 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x53, 0x54, 0x45, + 0x41, 0x4d, 0x49, 0x44, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x44, 0x10, 0x05, + 0x22, 0xed, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, + 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x82, 0x01, 0x0a, 0x05, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, + 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0xc5, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x1a, 0x55, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, + 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x44, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, + 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x47, + 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x47, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0xe0, 0x03, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, - 0x73, 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x73, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0d, 0x67, 0x63, 0x73, 0x71, - 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x43, 0x53, 0x51, 0x4c, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x67, 0x63, 0x73, 0x71, 0x6c, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x34, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x02, - 0x28, 0x0d, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, - 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x6e, 0x0a, 0x06, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, - 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x00, 0x12, - 0x1a, 0x0a, 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x41, 0x43, 0x48, 0x49, 0x45, 0x56, 0x45, 0x4d, 0x45, 0x4e, - 0x54, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x56, - 0x41, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x0c, 0x47, - 0x43, 0x53, 0x51, 0x4c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x47, - 0x43, 0x53, 0x51, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x41, 0x53, - 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x43, 0x53, 0x51, 0x4c, - 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x54, 0x59, 0x50, - 0x45, 0x10, 0x02, 0x22, 0x86, 0x03, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x48, 0x0a, 0x0c, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb5, 0x02, 0x0a, - 0x24, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x6f, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, - 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x6c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x70, 0x70, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, - 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x69, 0x64, 0x73, 0x22, 0x88, 0x07, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, - 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, - 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, - 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, 0x61, - 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x6e, - 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8c, 0x04, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x74, - 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x74, 0x61, 0x78, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, 0x64, 0x12, 0x17, 0x0a, - 0x07, 0x74, 0x61, 0x78, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x74, 0x61, 0x78, 0x55, 0x73, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x49, 0x64, 0x1a, 0x99, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x89, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4f, 0x0a, 0x0a, - 0x65, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, - 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x65, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xfb, 0x01, - 0x0a, 0x0a, 0x45, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x0a, - 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, - 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, 0x70, 0x49, - 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x02, - 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x4d, - 0x73, 0x67, 0x53, 0x51, 0x4c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x04, 0x12, 0x1f, - 0x0a, 0x1b, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x10, 0x05, 0x12, - 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, - 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, - 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, - 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0x09, 0x22, 0x6f, 0x0a, 0x1c, 0x43, + 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xe0, 0x03, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3a, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x11, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, + 0x4b, 0x0a, 0x0d, 0x67, 0x63, 0x73, 0x71, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x47, 0x43, 0x53, 0x51, 0x4c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x67, 0x63, 0x73, 0x71, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x34, 0x0a, 0x0c, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x69, + 0x67, 0x68, 0x22, 0x6e, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, + 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, + 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, + 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x41, 0x43, 0x48, + 0x49, 0x45, 0x56, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x56, 0x41, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x03, 0x22, 0x46, 0x0a, 0x0c, 0x47, 0x43, 0x53, 0x51, 0x4c, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x43, 0x53, 0x51, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1a, + 0x0a, 0x16, 0x47, 0x43, 0x53, 0x51, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x42, 0x4f, 0x4f, 0x4c, 0x54, 0x59, 0x50, 0x45, 0x10, 0x02, 0x22, 0x86, 0x03, 0x0a, 0x14, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x12, 0x48, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0b, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x0a, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, + 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x6f, 0x0a, 0x12, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x6c, 0x0a, + 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0d, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x6f, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x56, 0x61, 0x63, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x7c, 0x0a, 0x1d, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x77, - 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x2b, 0x0a, - 0x11, 0x74, 0x77, 0x6f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x74, 0x77, 0x6f, 0x66, 0x61, 0x63, - 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x4d, 0x0a, 0x19, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x22, 0x40, 0x0a, 0x22, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x73, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xda, 0x02, 0x0a, 0x18, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x4f, - 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, - 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x81, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, - 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, - 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x43, 0x68, 0x65, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x68, - 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x5a, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, - 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x22, 0xfd, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, - 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3c, 0x0a, 0x1b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x5c, - 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x61, 0x70, 0x73, 0x52, - 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x25, 0x0a, 0x0e, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0x8e, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x65, 0x72, 0x52, 0x65, 0x6d, - 0x61, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, - 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x72, 0x65, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x73, 0x22, 0xca, 0x03, 0x0a, 0x2b, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x4d, - 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x21, - 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x22, 0x62, 0x0a, 0x2c, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, - 0x67, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x07, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x69, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x23, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, - 0x68, 0x6f, 0x70, 0x5f, 0x41, 0x64, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x52, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x4d, 0x0a, 0x19, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x6e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x22, 0x40, 0x0a, 0x22, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xda, 0x02, + 0x0a, 0x18, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, + 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, + 0x12, 0x4f, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x73, 0x1a, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x81, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x65, 0x72, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x68, + 0x65, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x63, 0x68, 0x65, + 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, + 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x43, + 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, + 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x5a, 0x0a, 0x1f, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, - 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, - 0x6d, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x55, 0x73, 0x64, 0x12, 0x26, 0x0a, - 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x73, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x6f, 0x77, 0x55, 0x73, 0x64, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, - 0x6f, 0x70, 0x5f, 0x41, 0x64, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x0a, - 0x24, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x70, - 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, - 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x22, - 0xc7, 0x02, 0x0a, 0x25, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, - 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x10, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, 0x6b, - 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x1a, 0xb6, 0x01, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, - 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, - 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, - 0x12, 0x6e, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x5f, - 0x75, 0x73, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x55, 0x73, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x65, - 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x73, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x77, 0x55, 0x73, 0x64, 0x2a, 0x93, 0x01, 0x0a, 0x16, 0x45, 0x4d, - 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x6f, 0x62, 0x69, 0x6c, - 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, - 0x45, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x50, 0x6c, 0x61, - 0x79, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x41, 0x70, 0x70, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x10, 0x02, 0x42, - 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, - 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, - 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x70, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xfd, 0x02, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x1b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x68, 0x65, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x12, 0x5c, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x70, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x65, 0x72, 0x73, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x61, 0x70, + 0x73, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x8e, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x6c, 0x5f, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x68, 0x65, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x61, 0x70, 0x70, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x68, 0x65, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x23, 0x43, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x41, 0x64, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, + 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, + 0x65, 0x6d, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x55, 0x73, 0x64, 0x12, 0x26, + 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x73, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x6f, 0x77, 0x55, 0x73, 0x64, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x68, 0x6f, 0x70, 0x5f, 0x41, 0x64, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, + 0x0a, 0x24, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, 0x74, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, + 0x22, 0xc7, 0x02, 0x0a, 0x25, 0x43, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, + 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x10, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x1a, 0xb6, 0x01, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, + 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x67, 0x61, 0x6d, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2b, + 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, + 0x5f, 0x75, 0x73, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x55, 0x73, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x6e, + 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x75, + 0x73, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x77, 0x55, 0x73, 0x64, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, + 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, + 0x61, } var ( @@ -7405,152 +5791,128 @@ func file_steammessages_int_proto_rawDescGZIP() []byte { return file_steammessages_int_proto_rawDescData } -var file_steammessages_int_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_steammessages_int_proto_msgTypes = make([]protoimpl.MessageInfo, 96) +var file_steammessages_int_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_steammessages_int_proto_msgTypes = make([]protoimpl.MessageInfo, 80) var file_steammessages_int_proto_goTypes = []interface{}{ - (EMobilePaymentProvider)(0), // 0: dota.EMobilePaymentProvider - (CMsgGCRoutingInfo_RoutingMethod)(0), // 1: dota.CMsgGCRoutingInfo.RoutingMethod - (CMsgGCMsgSetOptions_Option)(0), // 2: dota.CMsgGCMsgSetOptions.Option - (CMsgGCMsgSetOptions_GCSQLVersion)(0), // 3: dota.CMsgGCMsgSetOptions.GCSQLVersion - (CMsgDPPartnerMicroTxnsResponse_EErrorCode)(0), // 4: dota.CMsgDPPartnerMicroTxnsResponse.EErrorCode - (*CMsgWebAPIKey)(nil), // 5: dota.CMsgWebAPIKey - (*CMsgHttpRequest)(nil), // 6: dota.CMsgHttpRequest - (*CMsgWebAPIRequest)(nil), // 7: dota.CMsgWebAPIRequest - (*CMsgHttpResponse)(nil), // 8: dota.CMsgHttpResponse - (*CMsgAMFindAccounts)(nil), // 9: dota.CMsgAMFindAccounts - (*CMsgAMFindAccountsResponse)(nil), // 10: dota.CMsgAMFindAccountsResponse - (*CMsgNotifyWatchdog)(nil), // 11: dota.CMsgNotifyWatchdog - (*CMsgAMGetLicenses)(nil), // 12: dota.CMsgAMGetLicenses - (*CMsgPackageLicense)(nil), // 13: dota.CMsgPackageLicense - (*CMsgAMGetLicensesResponse)(nil), // 14: dota.CMsgAMGetLicensesResponse - (*CMsgAMGetUserGameStats)(nil), // 15: dota.CMsgAMGetUserGameStats - (*CMsgAMGetUserGameStatsResponse)(nil), // 16: dota.CMsgAMGetUserGameStatsResponse - (*CMsgGCGetCommandList)(nil), // 17: dota.CMsgGCGetCommandList - (*CMsgGCGetCommandListResponse)(nil), // 18: dota.CMsgGCGetCommandListResponse - (*CGCMsgMemCachedGet)(nil), // 19: dota.CGCMsgMemCachedGet - (*CGCMsgMemCachedGetResponse)(nil), // 20: dota.CGCMsgMemCachedGetResponse - (*CGCMsgMemCachedSet)(nil), // 21: dota.CGCMsgMemCachedSet - (*CGCMsgMemCachedDelete)(nil), // 22: dota.CGCMsgMemCachedDelete - (*CGCMsgMemCachedStats)(nil), // 23: dota.CGCMsgMemCachedStats - (*CGCMsgMemCachedStatsResponse)(nil), // 24: dota.CGCMsgMemCachedStatsResponse - (*CGCMsgSQLStats)(nil), // 25: dota.CGCMsgSQLStats - (*CGCMsgSQLStatsResponse)(nil), // 26: dota.CGCMsgSQLStatsResponse - (*CMsgAMAddFreeLicense)(nil), // 27: dota.CMsgAMAddFreeLicense - (*CMsgAMAddFreeLicenseResponse)(nil), // 28: dota.CMsgAMAddFreeLicenseResponse - (*CGCMsgGetIPLocation)(nil), // 29: dota.CGCMsgGetIPLocation - (*CGCMsgGetIPASN)(nil), // 30: dota.CGCMsgGetIPASN - (*CIPASNInfo)(nil), // 31: dota.CIPASNInfo - (*CGCMsgGetIPASNResponse)(nil), // 32: dota.CGCMsgGetIPASNResponse - (*CGCMsgSystemStatsSchema)(nil), // 33: dota.CGCMsgSystemStatsSchema - (*CGCMsgGetSystemStats)(nil), // 34: dota.CGCMsgGetSystemStats - (*CGCMsgGetSystemStatsResponse)(nil), // 35: dota.CGCMsgGetSystemStatsResponse - (*CMsgAMSendEmail)(nil), // 36: dota.CMsgAMSendEmail - (*CMsgAMSendEmailResponse)(nil), // 37: dota.CMsgAMSendEmailResponse - (*CMsgGCGetEmailTemplate)(nil), // 38: dota.CMsgGCGetEmailTemplate - (*CMsgGCGetEmailTemplateResponse)(nil), // 39: dota.CMsgGCGetEmailTemplateResponse - (*CMsgAMGrantGuestPasses2)(nil), // 40: dota.CMsgAMGrantGuestPasses2 - (*CMsgAMGrantGuestPasses2Response)(nil), // 41: dota.CMsgAMGrantGuestPasses2Response - (*CMsgGCGetPersonaNames)(nil), // 42: dota.CMsgGCGetPersonaNames - (*CMsgGCGetPersonaNames_Response)(nil), // 43: dota.CMsgGCGetPersonaNames_Response - (*CMsgGCCheckFriendship)(nil), // 44: dota.CMsgGCCheckFriendship - (*CMsgGCCheckFriendship_Response)(nil), // 45: dota.CMsgGCCheckFriendship_Response - (*CMsgGCGetAppFriendsList)(nil), // 46: dota.CMsgGCGetAppFriendsList - (*CMsgGCGetAppFriendsList_Response)(nil), // 47: dota.CMsgGCGetAppFriendsList_Response - (*CMsgGCMsgMasterSetDirectory)(nil), // 48: dota.CMsgGCMsgMasterSetDirectory - (*CMsgGCMsgMasterSetDirectory_Response)(nil), // 49: dota.CMsgGCMsgMasterSetDirectory_Response - (*CMsgGCMsgWebAPIJobRequestForwardResponse)(nil), // 50: dota.CMsgGCMsgWebAPIJobRequestForwardResponse - (*CGCSystemMsg_GetPurchaseTrust_Request)(nil), // 51: dota.CGCSystemMsg_GetPurchaseTrust_Request - (*CGCSystemMsg_GetPurchaseTrust_Response)(nil), // 52: dota.CGCSystemMsg_GetPurchaseTrust_Response - (*CMsgGCHAccountVacStatusChange)(nil), // 53: dota.CMsgGCHAccountVacStatusChange - (*CMsgGCGetPartnerAccountLink)(nil), // 54: dota.CMsgGCGetPartnerAccountLink - (*CMsgGCGetPartnerAccountLink_Response)(nil), // 55: dota.CMsgGCGetPartnerAccountLink_Response - (*CMsgGCRoutingInfo)(nil), // 56: dota.CMsgGCRoutingInfo - (*CMsgGCMsgMasterSetWebAPIRouting)(nil), // 57: dota.CMsgGCMsgMasterSetWebAPIRouting - (*CMsgGCMsgMasterSetClientMsgRouting)(nil), // 58: dota.CMsgGCMsgMasterSetClientMsgRouting - (*CMsgGCMsgMasterSetWebAPIRouting_Response)(nil), // 59: dota.CMsgGCMsgMasterSetWebAPIRouting_Response - (*CMsgGCMsgMasterSetClientMsgRouting_Response)(nil), // 60: dota.CMsgGCMsgMasterSetClientMsgRouting_Response - (*CMsgGCMsgSetOptions)(nil), // 61: dota.CMsgGCMsgSetOptions - (*CMsgGCHUpdateSession)(nil), // 62: dota.CMsgGCHUpdateSession - (*CMsgNotificationOfSuspiciousActivity)(nil), // 63: dota.CMsgNotificationOfSuspiciousActivity - (*CMsgDPPartnerMicroTxns)(nil), // 64: dota.CMsgDPPartnerMicroTxns - (*CMsgDPPartnerMicroTxnsResponse)(nil), // 65: dota.CMsgDPPartnerMicroTxnsResponse - (*CMsgGCHVacVerificationChange)(nil), // 66: dota.CMsgGCHVacVerificationChange - (*CMsgGCHAccountTwoFactorChange)(nil), // 67: dota.CMsgGCHAccountTwoFactorChange - (*CMsgGCCheckClanMembership)(nil), // 68: dota.CMsgGCCheckClanMembership - (*CMsgGCCheckClanMembership_Response)(nil), // 69: dota.CMsgGCCheckClanMembership_Response - (*CMsgGCHAppCheersReceived)(nil), // 70: dota.CMsgGCHAppCheersReceived - (*CMsgGCHAppCheersGetAllowedTypes)(nil), // 71: dota.CMsgGCHAppCheersGetAllowedTypes - (*CMsgGCHAppCheersGetAllowedTypesResponse)(nil), // 72: dota.CMsgGCHAppCheersGetAllowedTypesResponse - (*CGCSystemMsg_ReportExternalPurchase_Request)(nil), // 73: dota.CGCSystemMsg_ReportExternalPurchase_Request - (*CGCSystemMsg_ReportExternalPurchase_Response)(nil), // 74: dota.CGCSystemMsg_ReportExternalPurchase_Response - (*CWorkshop_AddSpecialPayment_Request)(nil), // 75: dota.CWorkshop_AddSpecialPayment_Request - (*CWorkshop_AddSpecialPayment_Response)(nil), // 76: dota.CWorkshop_AddSpecialPayment_Response - (*CWorkshop_GetSpecialPayments_Request)(nil), // 77: dota.CWorkshop_GetSpecialPayments_Request - (*CWorkshop_GetSpecialPayments_Response)(nil), // 78: dota.CWorkshop_GetSpecialPayments_Response - (*CMsgHttpRequest_RequestHeader)(nil), // 79: dota.CMsgHttpRequest.RequestHeader - (*CMsgHttpRequest_QueryParam)(nil), // 80: dota.CMsgHttpRequest.QueryParam - (*CMsgHttpResponse_ResponseHeader)(nil), // 81: dota.CMsgHttpResponse.ResponseHeader - (*CMsgAMGetUserGameStatsResponse_Stats)(nil), // 82: dota.CMsgAMGetUserGameStatsResponse.Stats - (*CMsgAMGetUserGameStatsResponse_Achievement_Blocks)(nil), // 83: dota.CMsgAMGetUserGameStatsResponse.Achievement_Blocks - (*CGCMsgMemCachedGetResponse_ValueTag)(nil), // 84: dota.CGCMsgMemCachedGetResponse.ValueTag - (*CGCMsgMemCachedSet_KeyPair)(nil), // 85: dota.CGCMsgMemCachedSet.KeyPair - (*CMsgAMSendEmail_ReplacementToken)(nil), // 86: dota.CMsgAMSendEmail.ReplacementToken - (*CMsgAMSendEmail_PersonaNameReplacementToken)(nil), // 87: dota.CMsgAMSendEmail.PersonaNameReplacementToken - (*CMsgGCGetPersonaNames_Response_PersonaName)(nil), // 88: dota.CMsgGCGetPersonaNames_Response.PersonaName - (*CMsgGCMsgMasterSetDirectory_SubGC)(nil), // 89: dota.CMsgGCMsgMasterSetDirectory.SubGC - (*CMsgGCMsgMasterSetWebAPIRouting_Entry)(nil), // 90: dota.CMsgGCMsgMasterSetWebAPIRouting.Entry - (*CMsgGCMsgMasterSetClientMsgRouting_Entry)(nil), // 91: dota.CMsgGCMsgMasterSetClientMsgRouting.Entry - (*CMsgGCMsgSetOptions_MessageRange)(nil), // 92: dota.CMsgGCMsgSetOptions.MessageRange - (*CMsgGCHUpdateSession_ExtraField)(nil), // 93: dota.CMsgGCHUpdateSession.ExtraField - (*CMsgNotificationOfSuspiciousActivity_MultipleGameInstances)(nil), // 94: dota.CMsgNotificationOfSuspiciousActivity.MultipleGameInstances - (*CMsgDPPartnerMicroTxns_PartnerMicroTxn)(nil), // 95: dota.CMsgDPPartnerMicroTxns.PartnerMicroTxn - (*CMsgDPPartnerMicroTxns_PartnerInfo)(nil), // 96: dota.CMsgDPPartnerMicroTxns.PartnerInfo - (*CMsgGCHAppCheersReceived_CheerTypeAmount)(nil), // 97: dota.CMsgGCHAppCheersReceived.CheerTypeAmount - (*CMsgGCHAppCheersReceived_CheerTarget)(nil), // 98: dota.CMsgGCHAppCheersReceived.CheerTarget - (*CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps)(nil), // 99: dota.CMsgGCHAppCheersGetAllowedTypesResponse.CheerRemaps - (*CWorkshop_GetSpecialPayments_Response_SpecialPayment)(nil), // 100: dota.CWorkshop_GetSpecialPayments_Response.SpecialPayment + (CMsgGCRoutingInfo_RoutingMethod)(0), // 0: dota.CMsgGCRoutingInfo.RoutingMethod + (CMsgGCMsgSetOptions_Option)(0), // 1: dota.CMsgGCMsgSetOptions.Option + (CMsgGCMsgSetOptions_GCSQLVersion)(0), // 2: dota.CMsgGCMsgSetOptions.GCSQLVersion + (*CMsgWebAPIKey)(nil), // 3: dota.CMsgWebAPIKey + (*CMsgHttpRequest)(nil), // 4: dota.CMsgHttpRequest + (*CMsgWebAPIRequest)(nil), // 5: dota.CMsgWebAPIRequest + (*CMsgHttpResponse)(nil), // 6: dota.CMsgHttpResponse + (*CMsgAMFindAccounts)(nil), // 7: dota.CMsgAMFindAccounts + (*CMsgAMFindAccountsResponse)(nil), // 8: dota.CMsgAMFindAccountsResponse + (*CMsgNotifyWatchdog)(nil), // 9: dota.CMsgNotifyWatchdog + (*CMsgAMGetLicenses)(nil), // 10: dota.CMsgAMGetLicenses + (*CMsgPackageLicense)(nil), // 11: dota.CMsgPackageLicense + (*CMsgAMGetLicensesResponse)(nil), // 12: dota.CMsgAMGetLicensesResponse + (*CMsgGCGetCommandList)(nil), // 13: dota.CMsgGCGetCommandList + (*CMsgGCGetCommandListResponse)(nil), // 14: dota.CMsgGCGetCommandListResponse + (*CGCMsgMemCachedGet)(nil), // 15: dota.CGCMsgMemCachedGet + (*CGCMsgMemCachedGetResponse)(nil), // 16: dota.CGCMsgMemCachedGetResponse + (*CGCMsgMemCachedSet)(nil), // 17: dota.CGCMsgMemCachedSet + (*CGCMsgMemCachedDelete)(nil), // 18: dota.CGCMsgMemCachedDelete + (*CGCMsgMemCachedStats)(nil), // 19: dota.CGCMsgMemCachedStats + (*CGCMsgMemCachedStatsResponse)(nil), // 20: dota.CGCMsgMemCachedStatsResponse + (*CGCMsgSQLStats)(nil), // 21: dota.CGCMsgSQLStats + (*CGCMsgSQLStatsResponse)(nil), // 22: dota.CGCMsgSQLStatsResponse + (*CMsgAMAddFreeLicense)(nil), // 23: dota.CMsgAMAddFreeLicense + (*CMsgAMAddFreeLicenseResponse)(nil), // 24: dota.CMsgAMAddFreeLicenseResponse + (*CGCMsgGetIPLocation)(nil), // 25: dota.CGCMsgGetIPLocation + (*CGCMsgGetIPASN)(nil), // 26: dota.CGCMsgGetIPASN + (*CIPASNInfo)(nil), // 27: dota.CIPASNInfo + (*CGCMsgGetIPASNResponse)(nil), // 28: dota.CGCMsgGetIPASNResponse + (*CMsgAMSendEmail)(nil), // 29: dota.CMsgAMSendEmail + (*CMsgAMSendEmailResponse)(nil), // 30: dota.CMsgAMSendEmailResponse + (*CMsgGCGetEmailTemplate)(nil), // 31: dota.CMsgGCGetEmailTemplate + (*CMsgGCGetEmailTemplateResponse)(nil), // 32: dota.CMsgGCGetEmailTemplateResponse + (*CMsgAMGrantGuestPasses2)(nil), // 33: dota.CMsgAMGrantGuestPasses2 + (*CMsgAMGrantGuestPasses2Response)(nil), // 34: dota.CMsgAMGrantGuestPasses2Response + (*CMsgGCGetPersonaNames)(nil), // 35: dota.CMsgGCGetPersonaNames + (*CMsgGCGetPersonaNames_Response)(nil), // 36: dota.CMsgGCGetPersonaNames_Response + (*CMsgGCCheckFriendship)(nil), // 37: dota.CMsgGCCheckFriendship + (*CMsgGCCheckFriendship_Response)(nil), // 38: dota.CMsgGCCheckFriendship_Response + (*CMsgGCGetAppFriendsList)(nil), // 39: dota.CMsgGCGetAppFriendsList + (*CMsgGCGetAppFriendsList_Response)(nil), // 40: dota.CMsgGCGetAppFriendsList_Response + (*CMsgGCMsgMasterSetDirectory)(nil), // 41: dota.CMsgGCMsgMasterSetDirectory + (*CMsgGCMsgMasterSetDirectory_Response)(nil), // 42: dota.CMsgGCMsgMasterSetDirectory_Response + (*CMsgGCMsgWebAPIJobRequestForwardResponse)(nil), // 43: dota.CMsgGCMsgWebAPIJobRequestForwardResponse + (*CGCSystemMsg_GetPurchaseTrust_Request)(nil), // 44: dota.CGCSystemMsg_GetPurchaseTrust_Request + (*CGCSystemMsg_GetPurchaseTrust_Response)(nil), // 45: dota.CGCSystemMsg_GetPurchaseTrust_Response + (*CMsgGCHAccountVacStatusChange)(nil), // 46: dota.CMsgGCHAccountVacStatusChange + (*CMsgGCRoutingInfo)(nil), // 47: dota.CMsgGCRoutingInfo + (*CMsgGCMsgMasterSetWebAPIRouting)(nil), // 48: dota.CMsgGCMsgMasterSetWebAPIRouting + (*CMsgGCMsgMasterSetClientMsgRouting)(nil), // 49: dota.CMsgGCMsgMasterSetClientMsgRouting + (*CMsgGCMsgMasterSetWebAPIRouting_Response)(nil), // 50: dota.CMsgGCMsgMasterSetWebAPIRouting_Response + (*CMsgGCMsgMasterSetClientMsgRouting_Response)(nil), // 51: dota.CMsgGCMsgMasterSetClientMsgRouting_Response + (*CMsgGCMsgSetOptions)(nil), // 52: dota.CMsgGCMsgSetOptions + (*CMsgGCHUpdateSession)(nil), // 53: dota.CMsgGCHUpdateSession + (*CMsgNotificationOfSuspiciousActivity)(nil), // 54: dota.CMsgNotificationOfSuspiciousActivity + (*CMsgGCHVacVerificationChange)(nil), // 55: dota.CMsgGCHVacVerificationChange + (*CMsgGCCheckClanMembership)(nil), // 56: dota.CMsgGCCheckClanMembership + (*CMsgGCCheckClanMembership_Response)(nil), // 57: dota.CMsgGCCheckClanMembership_Response + (*CMsgGCHAppCheersReceived)(nil), // 58: dota.CMsgGCHAppCheersReceived + (*CMsgGCHAppCheersGetAllowedTypes)(nil), // 59: dota.CMsgGCHAppCheersGetAllowedTypes + (*CMsgGCHAppCheersGetAllowedTypesResponse)(nil), // 60: dota.CMsgGCHAppCheersGetAllowedTypesResponse + (*CWorkshop_AddSpecialPayment_Request)(nil), // 61: dota.CWorkshop_AddSpecialPayment_Request + (*CWorkshop_AddSpecialPayment_Response)(nil), // 62: dota.CWorkshop_AddSpecialPayment_Response + (*CWorkshop_GetSpecialPayments_Request)(nil), // 63: dota.CWorkshop_GetSpecialPayments_Request + (*CWorkshop_GetSpecialPayments_Response)(nil), // 64: dota.CWorkshop_GetSpecialPayments_Response + (*CMsgHttpRequest_RequestHeader)(nil), // 65: dota.CMsgHttpRequest.RequestHeader + (*CMsgHttpRequest_QueryParam)(nil), // 66: dota.CMsgHttpRequest.QueryParam + (*CMsgHttpResponse_ResponseHeader)(nil), // 67: dota.CMsgHttpResponse.ResponseHeader + (*CGCMsgMemCachedGetResponse_ValueTag)(nil), // 68: dota.CGCMsgMemCachedGetResponse.ValueTag + (*CGCMsgMemCachedSet_KeyPair)(nil), // 69: dota.CGCMsgMemCachedSet.KeyPair + (*CMsgAMSendEmail_ReplacementToken)(nil), // 70: dota.CMsgAMSendEmail.ReplacementToken + (*CMsgAMSendEmail_PersonaNameReplacementToken)(nil), // 71: dota.CMsgAMSendEmail.PersonaNameReplacementToken + (*CMsgGCGetPersonaNames_Response_PersonaName)(nil), // 72: dota.CMsgGCGetPersonaNames_Response.PersonaName + (*CMsgGCMsgMasterSetDirectory_SubGC)(nil), // 73: dota.CMsgGCMsgMasterSetDirectory.SubGC + (*CMsgGCMsgMasterSetWebAPIRouting_Entry)(nil), // 74: dota.CMsgGCMsgMasterSetWebAPIRouting.Entry + (*CMsgGCMsgMasterSetClientMsgRouting_Entry)(nil), // 75: dota.CMsgGCMsgMasterSetClientMsgRouting.Entry + (*CMsgGCMsgSetOptions_MessageRange)(nil), // 76: dota.CMsgGCMsgSetOptions.MessageRange + (*CMsgGCHUpdateSession_ExtraField)(nil), // 77: dota.CMsgGCHUpdateSession.ExtraField + (*CMsgNotificationOfSuspiciousActivity_MultipleGameInstances)(nil), // 78: dota.CMsgNotificationOfSuspiciousActivity.MultipleGameInstances + (*CMsgGCHAppCheersReceived_CheerTypeAmount)(nil), // 79: dota.CMsgGCHAppCheersReceived.CheerTypeAmount + (*CMsgGCHAppCheersReceived_CheerTarget)(nil), // 80: dota.CMsgGCHAppCheersReceived.CheerTarget + (*CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps)(nil), // 81: dota.CMsgGCHAppCheersGetAllowedTypesResponse.CheerRemaps + (*CWorkshop_GetSpecialPayments_Response_SpecialPayment)(nil), // 82: dota.CWorkshop_GetSpecialPayments_Response.SpecialPayment } var file_steammessages_int_proto_depIdxs = []int32{ - 79, // 0: dota.CMsgHttpRequest.headers:type_name -> dota.CMsgHttpRequest.RequestHeader - 80, // 1: dota.CMsgHttpRequest.get_params:type_name -> dota.CMsgHttpRequest.QueryParam - 80, // 2: dota.CMsgHttpRequest.post_params:type_name -> dota.CMsgHttpRequest.QueryParam - 5, // 3: dota.CMsgWebAPIRequest.api_key:type_name -> dota.CMsgWebAPIKey - 6, // 4: dota.CMsgWebAPIRequest.request:type_name -> dota.CMsgHttpRequest - 81, // 5: dota.CMsgHttpResponse.headers:type_name -> dota.CMsgHttpResponse.ResponseHeader - 13, // 6: dota.CMsgAMGetLicensesResponse.license:type_name -> dota.CMsgPackageLicense - 82, // 7: dota.CMsgAMGetUserGameStatsResponse.stats:type_name -> dota.CMsgAMGetUserGameStatsResponse.Stats - 83, // 8: dota.CMsgAMGetUserGameStatsResponse.achievement_blocks:type_name -> dota.CMsgAMGetUserGameStatsResponse.Achievement_Blocks - 84, // 9: dota.CGCMsgMemCachedGetResponse.values:type_name -> dota.CGCMsgMemCachedGetResponse.ValueTag - 85, // 10: dota.CGCMsgMemCachedSet.keys:type_name -> dota.CGCMsgMemCachedSet.KeyPair - 31, // 11: dota.CGCMsgGetIPASNResponse.infos:type_name -> dota.CIPASNInfo - 87, // 12: dota.CMsgAMSendEmail.persona_name_tokens:type_name -> dota.CMsgAMSendEmail.PersonaNameReplacementToken - 86, // 13: dota.CMsgAMSendEmail.tokens:type_name -> dota.CMsgAMSendEmail.ReplacementToken - 88, // 14: dota.CMsgGCGetPersonaNames_Response.succeeded_lookups:type_name -> dota.CMsgGCGetPersonaNames_Response.PersonaName - 89, // 15: dota.CMsgGCMsgMasterSetDirectory.dir:type_name -> dota.CMsgGCMsgMasterSetDirectory.SubGC - 1, // 16: dota.CMsgGCRoutingInfo.method:type_name -> dota.CMsgGCRoutingInfo.RoutingMethod - 1, // 17: dota.CMsgGCRoutingInfo.fallback:type_name -> dota.CMsgGCRoutingInfo.RoutingMethod - 90, // 18: dota.CMsgGCMsgMasterSetWebAPIRouting.entries:type_name -> dota.CMsgGCMsgMasterSetWebAPIRouting.Entry - 91, // 19: dota.CMsgGCMsgMasterSetClientMsgRouting.entries:type_name -> dota.CMsgGCMsgMasterSetClientMsgRouting.Entry - 2, // 20: dota.CMsgGCMsgSetOptions.options:type_name -> dota.CMsgGCMsgSetOptions.Option - 92, // 21: dota.CMsgGCMsgSetOptions.client_msg_ranges:type_name -> dota.CMsgGCMsgSetOptions.MessageRange - 3, // 22: dota.CMsgGCMsgSetOptions.gcsql_version:type_name -> dota.CMsgGCMsgSetOptions.GCSQLVersion - 93, // 23: dota.CMsgGCHUpdateSession.extra_fields:type_name -> dota.CMsgGCHUpdateSession.ExtraField - 94, // 24: dota.CMsgNotificationOfSuspiciousActivity.multiple_instances:type_name -> dota.CMsgNotificationOfSuspiciousActivity.MultipleGameInstances - 96, // 25: dota.CMsgDPPartnerMicroTxns.partner:type_name -> dota.CMsgDPPartnerMicroTxns.PartnerInfo - 95, // 26: dota.CMsgDPPartnerMicroTxns.transactions:type_name -> dota.CMsgDPPartnerMicroTxns.PartnerMicroTxn - 4, // 27: dota.CMsgDPPartnerMicroTxnsResponse.eerrorcode:type_name -> dota.CMsgDPPartnerMicroTxnsResponse.EErrorCode - 98, // 28: dota.CMsgGCHAppCheersReceived.cheer_targets:type_name -> dota.CMsgGCHAppCheersReceived.CheerTarget - 99, // 29: dota.CMsgGCHAppCheersGetAllowedTypesResponse.cheer_remaps:type_name -> dota.CMsgGCHAppCheersGetAllowedTypesResponse.CheerRemaps - 0, // 30: dota.CGCSystemMsg_ReportExternalPurchase_Request.provider:type_name -> dota.EMobilePaymentProvider - 100, // 31: dota.CWorkshop_GetSpecialPayments_Response.special_payments:type_name -> dota.CWorkshop_GetSpecialPayments_Response.SpecialPayment - 56, // 32: dota.CMsgGCMsgMasterSetWebAPIRouting.Entry.routing:type_name -> dota.CMsgGCRoutingInfo - 56, // 33: dota.CMsgGCMsgMasterSetClientMsgRouting.Entry.routing:type_name -> dota.CMsgGCRoutingInfo - 97, // 34: dota.CMsgGCHAppCheersReceived.CheerTarget.cheer_types:type_name -> dota.CMsgGCHAppCheersReceived.CheerTypeAmount - 35, // [35:35] is the sub-list for method output_type - 35, // [35:35] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name + 65, // 0: dota.CMsgHttpRequest.headers:type_name -> dota.CMsgHttpRequest.RequestHeader + 66, // 1: dota.CMsgHttpRequest.get_params:type_name -> dota.CMsgHttpRequest.QueryParam + 66, // 2: dota.CMsgHttpRequest.post_params:type_name -> dota.CMsgHttpRequest.QueryParam + 3, // 3: dota.CMsgWebAPIRequest.api_key:type_name -> dota.CMsgWebAPIKey + 4, // 4: dota.CMsgWebAPIRequest.request:type_name -> dota.CMsgHttpRequest + 67, // 5: dota.CMsgHttpResponse.headers:type_name -> dota.CMsgHttpResponse.ResponseHeader + 11, // 6: dota.CMsgAMGetLicensesResponse.license:type_name -> dota.CMsgPackageLicense + 68, // 7: dota.CGCMsgMemCachedGetResponse.values:type_name -> dota.CGCMsgMemCachedGetResponse.ValueTag + 69, // 8: dota.CGCMsgMemCachedSet.keys:type_name -> dota.CGCMsgMemCachedSet.KeyPair + 27, // 9: dota.CGCMsgGetIPASNResponse.infos:type_name -> dota.CIPASNInfo + 71, // 10: dota.CMsgAMSendEmail.persona_name_tokens:type_name -> dota.CMsgAMSendEmail.PersonaNameReplacementToken + 70, // 11: dota.CMsgAMSendEmail.tokens:type_name -> dota.CMsgAMSendEmail.ReplacementToken + 72, // 12: dota.CMsgGCGetPersonaNames_Response.succeeded_lookups:type_name -> dota.CMsgGCGetPersonaNames_Response.PersonaName + 73, // 13: dota.CMsgGCMsgMasterSetDirectory.dir:type_name -> dota.CMsgGCMsgMasterSetDirectory.SubGC + 0, // 14: dota.CMsgGCRoutingInfo.method:type_name -> dota.CMsgGCRoutingInfo.RoutingMethod + 0, // 15: dota.CMsgGCRoutingInfo.fallback:type_name -> dota.CMsgGCRoutingInfo.RoutingMethod + 74, // 16: dota.CMsgGCMsgMasterSetWebAPIRouting.entries:type_name -> dota.CMsgGCMsgMasterSetWebAPIRouting.Entry + 75, // 17: dota.CMsgGCMsgMasterSetClientMsgRouting.entries:type_name -> dota.CMsgGCMsgMasterSetClientMsgRouting.Entry + 1, // 18: dota.CMsgGCMsgSetOptions.options:type_name -> dota.CMsgGCMsgSetOptions.Option + 76, // 19: dota.CMsgGCMsgSetOptions.client_msg_ranges:type_name -> dota.CMsgGCMsgSetOptions.MessageRange + 2, // 20: dota.CMsgGCMsgSetOptions.gcsql_version:type_name -> dota.CMsgGCMsgSetOptions.GCSQLVersion + 77, // 21: dota.CMsgGCHUpdateSession.extra_fields:type_name -> dota.CMsgGCHUpdateSession.ExtraField + 78, // 22: dota.CMsgNotificationOfSuspiciousActivity.multiple_instances:type_name -> dota.CMsgNotificationOfSuspiciousActivity.MultipleGameInstances + 80, // 23: dota.CMsgGCHAppCheersReceived.cheer_targets:type_name -> dota.CMsgGCHAppCheersReceived.CheerTarget + 81, // 24: dota.CMsgGCHAppCheersGetAllowedTypesResponse.cheer_remaps:type_name -> dota.CMsgGCHAppCheersGetAllowedTypesResponse.CheerRemaps + 82, // 25: dota.CWorkshop_GetSpecialPayments_Response.special_payments:type_name -> dota.CWorkshop_GetSpecialPayments_Response.SpecialPayment + 47, // 26: dota.CMsgGCMsgMasterSetWebAPIRouting.Entry.routing:type_name -> dota.CMsgGCRoutingInfo + 47, // 27: dota.CMsgGCMsgMasterSetClientMsgRouting.Entry.routing:type_name -> dota.CMsgGCRoutingInfo + 79, // 28: dota.CMsgGCHAppCheersReceived.CheerTarget.cheer_types:type_name -> dota.CMsgGCHAppCheersReceived.CheerTypeAmount + 29, // [29:29] is the sub-list for method output_type + 29, // [29:29] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name } func init() { file_steammessages_int_proto_init() } @@ -7644,176 +6006,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGetLicenses); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgPackageLicense); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGetLicensesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGetUserGameStats); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGetUserGameStatsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetCommandList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetCommandListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgMemCachedGet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgMemCachedGetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgMemCachedSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgMemCachedDelete); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgMemCachedStats); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgMemCachedStatsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgSQLStats); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgSQLStatsResponse); i { + file_steammessages_int_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMGetLicenses); i { case 0: return &v.state case 1: @@ -7824,8 +6018,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMAddFreeLicense); i { + file_steammessages_int_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgPackageLicense); i { case 0: return &v.state case 1: @@ -7836,8 +6030,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMAddFreeLicenseResponse); i { + file_steammessages_int_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMGetLicensesResponse); i { case 0: return &v.state case 1: @@ -7848,8 +6042,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgGetIPLocation); i { + file_steammessages_int_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetCommandList); i { case 0: return &v.state case 1: @@ -7860,8 +6054,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgGetIPASN); i { + file_steammessages_int_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetCommandListResponse); i { case 0: return &v.state case 1: @@ -7872,8 +6066,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CIPASNInfo); i { + file_steammessages_int_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgMemCachedGet); i { case 0: return &v.state case 1: @@ -7884,8 +6078,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgGetIPASNResponse); i { + file_steammessages_int_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgMemCachedGetResponse); i { case 0: return &v.state case 1: @@ -7896,8 +6090,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgSystemStatsSchema); i { + file_steammessages_int_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgMemCachedSet); i { case 0: return &v.state case 1: @@ -7908,8 +6102,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgGetSystemStats); i { + file_steammessages_int_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgMemCachedDelete); i { case 0: return &v.state case 1: @@ -7920,8 +6114,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCMsgGetSystemStatsResponse); i { + file_steammessages_int_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgMemCachedStats); i { case 0: return &v.state case 1: @@ -7932,8 +6126,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMSendEmail); i { + file_steammessages_int_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgMemCachedStatsResponse); i { case 0: return &v.state case 1: @@ -7944,8 +6138,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMSendEmailResponse); i { + file_steammessages_int_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgSQLStats); i { case 0: return &v.state case 1: @@ -7956,8 +6150,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetEmailTemplate); i { + file_steammessages_int_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgSQLStatsResponse); i { case 0: return &v.state case 1: @@ -7968,8 +6162,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetEmailTemplateResponse); i { + file_steammessages_int_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMAddFreeLicense); i { case 0: return &v.state case 1: @@ -7980,8 +6174,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGrantGuestPasses2); i { + file_steammessages_int_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMAddFreeLicenseResponse); i { case 0: return &v.state case 1: @@ -7992,8 +6186,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGrantGuestPasses2Response); i { + file_steammessages_int_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgGetIPLocation); i { case 0: return &v.state case 1: @@ -8004,8 +6198,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetPersonaNames); i { + file_steammessages_int_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgGetIPASN); i { case 0: return &v.state case 1: @@ -8016,8 +6210,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetPersonaNames_Response); i { + file_steammessages_int_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CIPASNInfo); i { case 0: return &v.state case 1: @@ -8028,8 +6222,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCheckFriendship); i { + file_steammessages_int_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCMsgGetIPASNResponse); i { case 0: return &v.state case 1: @@ -8040,8 +6234,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCheckFriendship_Response); i { + file_steammessages_int_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMSendEmail); i { case 0: return &v.state case 1: @@ -8052,8 +6246,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetAppFriendsList); i { + file_steammessages_int_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMSendEmailResponse); i { case 0: return &v.state case 1: @@ -8064,8 +6258,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetAppFriendsList_Response); i { + file_steammessages_int_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetEmailTemplate); i { case 0: return &v.state case 1: @@ -8076,8 +6270,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgMasterSetDirectory); i { + file_steammessages_int_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetEmailTemplateResponse); i { case 0: return &v.state case 1: @@ -8088,8 +6282,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgMasterSetDirectory_Response); i { + file_steammessages_int_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMGrantGuestPasses2); i { case 0: return &v.state case 1: @@ -8100,8 +6294,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgWebAPIJobRequestForwardResponse); i { + file_steammessages_int_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgAMGrantGuestPasses2Response); i { case 0: return &v.state case 1: @@ -8112,8 +6306,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCSystemMsg_GetPurchaseTrust_Request); i { + file_steammessages_int_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetPersonaNames); i { case 0: return &v.state case 1: @@ -8124,8 +6318,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCSystemMsg_GetPurchaseTrust_Response); i { + file_steammessages_int_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetPersonaNames_Response); i { case 0: return &v.state case 1: @@ -8136,8 +6330,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCHAccountVacStatusChange); i { + file_steammessages_int_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCCheckFriendship); i { case 0: return &v.state case 1: @@ -8148,8 +6342,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetPartnerAccountLink); i { + file_steammessages_int_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCCheckFriendship_Response); i { case 0: return &v.state case 1: @@ -8160,8 +6354,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCGetPartnerAccountLink_Response); i { + file_steammessages_int_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetAppFriendsList); i { case 0: return &v.state case 1: @@ -8172,8 +6366,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCRoutingInfo); i { + file_steammessages_int_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCGetAppFriendsList_Response); i { case 0: return &v.state case 1: @@ -8184,8 +6378,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgMasterSetWebAPIRouting); i { + file_steammessages_int_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgMasterSetDirectory); i { case 0: return &v.state case 1: @@ -8196,8 +6390,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgMasterSetClientMsgRouting); i { + file_steammessages_int_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgMasterSetDirectory_Response); i { case 0: return &v.state case 1: @@ -8208,8 +6402,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgMasterSetWebAPIRouting_Response); i { + file_steammessages_int_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgWebAPIJobRequestForwardResponse); i { case 0: return &v.state case 1: @@ -8220,8 +6414,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgMasterSetClientMsgRouting_Response); i { + file_steammessages_int_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCSystemMsg_GetPurchaseTrust_Request); i { case 0: return &v.state case 1: @@ -8232,8 +6426,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCMsgSetOptions); i { + file_steammessages_int_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CGCSystemMsg_GetPurchaseTrust_Response); i { case 0: return &v.state case 1: @@ -8244,8 +6438,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCHUpdateSession); i { + file_steammessages_int_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCHAccountVacStatusChange); i { case 0: return &v.state case 1: @@ -8256,8 +6450,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgNotificationOfSuspiciousActivity); i { + file_steammessages_int_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCRoutingInfo); i { case 0: return &v.state case 1: @@ -8268,8 +6462,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDPPartnerMicroTxns); i { + file_steammessages_int_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgMasterSetWebAPIRouting); i { case 0: return &v.state case 1: @@ -8280,8 +6474,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDPPartnerMicroTxnsResponse); i { + file_steammessages_int_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgMasterSetClientMsgRouting); i { case 0: return &v.state case 1: @@ -8292,8 +6486,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCHVacVerificationChange); i { + file_steammessages_int_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgMasterSetWebAPIRouting_Response); i { case 0: return &v.state case 1: @@ -8304,8 +6498,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCHAccountTwoFactorChange); i { + file_steammessages_int_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgMasterSetClientMsgRouting_Response); i { case 0: return &v.state case 1: @@ -8316,8 +6510,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCheckClanMembership); i { + file_steammessages_int_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCMsgSetOptions); i { case 0: return &v.state case 1: @@ -8328,8 +6522,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCheckClanMembership_Response); i { + file_steammessages_int_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCHUpdateSession); i { case 0: return &v.state case 1: @@ -8340,8 +6534,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCHAppCheersReceived); i { + file_steammessages_int_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgNotificationOfSuspiciousActivity); i { case 0: return &v.state case 1: @@ -8352,8 +6546,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCHAppCheersGetAllowedTypes); i { + file_steammessages_int_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCHVacVerificationChange); i { case 0: return &v.state case 1: @@ -8364,8 +6558,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCHAppCheersGetAllowedTypesResponse); i { + file_steammessages_int_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCCheckClanMembership); i { case 0: return &v.state case 1: @@ -8376,8 +6570,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCSystemMsg_ReportExternalPurchase_Request); i { + file_steammessages_int_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCCheckClanMembership_Response); i { case 0: return &v.state case 1: @@ -8388,8 +6582,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CGCSystemMsg_ReportExternalPurchase_Response); i { + file_steammessages_int_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCHAppCheersReceived); i { case 0: return &v.state case 1: @@ -8400,8 +6594,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CWorkshop_AddSpecialPayment_Request); i { + file_steammessages_int_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCHAppCheersGetAllowedTypes); i { case 0: return &v.state case 1: @@ -8412,8 +6606,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CWorkshop_AddSpecialPayment_Response); i { + file_steammessages_int_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgGCHAppCheersGetAllowedTypesResponse); i { case 0: return &v.state case 1: @@ -8424,8 +6618,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CWorkshop_GetSpecialPayments_Request); i { + file_steammessages_int_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CWorkshop_AddSpecialPayment_Request); i { case 0: return &v.state case 1: @@ -8436,8 +6630,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CWorkshop_GetSpecialPayments_Response); i { + file_steammessages_int_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CWorkshop_AddSpecialPayment_Response); i { case 0: return &v.state case 1: @@ -8448,8 +6642,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgHttpRequest_RequestHeader); i { + file_steammessages_int_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CWorkshop_GetSpecialPayments_Request); i { case 0: return &v.state case 1: @@ -8460,8 +6654,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgHttpRequest_QueryParam); i { + file_steammessages_int_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CWorkshop_GetSpecialPayments_Response); i { case 0: return &v.state case 1: @@ -8472,8 +6666,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgHttpResponse_ResponseHeader); i { + file_steammessages_int_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgHttpRequest_RequestHeader); i { case 0: return &v.state case 1: @@ -8484,8 +6678,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGetUserGameStatsResponse_Stats); i { + file_steammessages_int_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgHttpRequest_QueryParam); i { case 0: return &v.state case 1: @@ -8496,8 +6690,8 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgAMGetUserGameStatsResponse_Achievement_Blocks); i { + file_steammessages_int_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgHttpResponse_ResponseHeader); i { case 0: return &v.state case 1: @@ -8508,7 +6702,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CGCMsgMemCachedGetResponse_ValueTag); i { case 0: return &v.state @@ -8520,7 +6714,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CGCMsgMemCachedSet_KeyPair); i { case 0: return &v.state @@ -8532,7 +6726,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgAMSendEmail_ReplacementToken); i { case 0: return &v.state @@ -8544,7 +6738,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgAMSendEmail_PersonaNameReplacementToken); i { case 0: return &v.state @@ -8556,7 +6750,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCGetPersonaNames_Response_PersonaName); i { case 0: return &v.state @@ -8568,7 +6762,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCMsgMasterSetDirectory_SubGC); i { case 0: return &v.state @@ -8580,7 +6774,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCMsgMasterSetWebAPIRouting_Entry); i { case 0: return &v.state @@ -8592,7 +6786,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCMsgMasterSetClientMsgRouting_Entry); i { case 0: return &v.state @@ -8604,7 +6798,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCMsgSetOptions_MessageRange); i { case 0: return &v.state @@ -8616,7 +6810,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCHUpdateSession_ExtraField); i { case 0: return &v.state @@ -8628,7 +6822,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgNotificationOfSuspiciousActivity_MultipleGameInstances); i { case 0: return &v.state @@ -8640,31 +6834,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDPPartnerMicroTxns_PartnerMicroTxn); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgDPPartnerMicroTxns_PartnerInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_steammessages_int_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCHAppCheersReceived_CheerTypeAmount); i { case 0: return &v.state @@ -8676,7 +6846,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCHAppCheersReceived_CheerTarget); i { case 0: return &v.state @@ -8688,7 +6858,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgGCHAppCheersGetAllowedTypesResponse_CheerRemaps); i { case 0: return &v.state @@ -8700,7 +6870,7 @@ func file_steammessages_int_proto_init() { return nil } } - file_steammessages_int_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_steammessages_int_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CWorkshop_GetSpecialPayments_Response_SpecialPayment); i { case 0: return &v.state @@ -8718,8 +6888,8 @@ func file_steammessages_int_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_steammessages_int_proto_rawDesc, - NumEnums: 5, - NumMessages: 96, + NumEnums: 3, + NumMessages: 80, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/steammessages_int.proto b/dota/steammessages_int.proto index 13162261..86b53e9a 100644 --- a/dota/steammessages_int.proto +++ b/dota/steammessages_int.proto @@ -5,12 +5,6 @@ option go_package = "github.com/dotabuff/manta/dota;dota"; import "steammessages.proto"; -enum EMobilePaymentProvider { - k_EMobilePaymentProvider_Invalid = 0; - k_EMobilePaymentProvider_GooglePlay = 1; - k_EMobilePaymentProvider_AppleAppStore = 2; -} - message CMsgWebAPIKey { optional uint32 status = 1; optional uint32 account_id = 2; @@ -95,31 +89,6 @@ message CMsgAMGetLicensesResponse { optional uint32 result = 2; } -message CMsgAMGetUserGameStats { - optional fixed64 steam_id = 1; - optional fixed64 game_id = 2; - repeated uint32 stats = 3; -} - -message CMsgAMGetUserGameStatsResponse { - message Stats { - optional uint32 stat_id = 1; - optional uint32 stat_value = 2; - } - - message Achievement_Blocks { - optional uint32 achievement_id = 1; - optional uint32 achievement_bit_id = 2; - optional fixed32 unlock_time = 3; - } - - optional fixed64 steam_id = 1; - optional fixed64 game_id = 2; - optional int32 eresult = 3; - repeated CMsgAMGetUserGameStatsResponse.Stats stats = 4; - repeated CMsgAMGetUserGameStatsResponse.Achievement_Blocks achievement_blocks = 5; -} - message CMsgGCGetCommandList { optional uint32 app_id = 1; optional string command_prefix = 2; @@ -221,30 +190,6 @@ message CGCMsgGetIPASNResponse { repeated CIPASNInfo infos = 1; } -message CGCMsgSystemStatsSchema { - optional uint32 gc_app_id = 1; - optional bytes schema_kv = 2; -} - -message CGCMsgGetSystemStats { -} - -message CGCMsgGetSystemStatsResponse { - optional uint32 gc_app_id = 1; - optional bytes stats_kv = 2; - optional uint32 active_jobs = 3; - optional uint32 yielding_jobs = 4; - optional uint32 user_sessions = 5; - optional uint32 game_server_sessions = 6; - optional uint32 socaches = 7; - optional uint32 socaches_to_unload = 8; - optional uint32 socaches_loading = 9; - optional uint32 writeback_queue = 10; - optional uint32 steamid_locks = 11; - optional uint32 logon_queue = 12; - optional uint32 logon_jobs = 13; -} - message CMsgAMSendEmail { message ReplacementToken { optional string token_name = 1; @@ -372,18 +317,6 @@ message CMsgGCHAccountVacStatusChange { optional bool is_banned_future = 5; } -message CMsgGCGetPartnerAccountLink { - optional fixed64 steamid = 1; -} - -message CMsgGCGetPartnerAccountLink_Response { - optional uint32 pwid = 1; - optional uint32 nexonid = 2; - optional int32 ageclass = 3; - optional bool id_verified = 4; - optional bool is_adult = 5; -} - message CMsgGCRoutingInfo { enum RoutingMethod { RANDOM = 0; @@ -479,69 +412,12 @@ message CMsgNotificationOfSuspiciousActivity { optional CMsgNotificationOfSuspiciousActivity.MultipleGameInstances multiple_instances = 3; } -message CMsgDPPartnerMicroTxns { - message PartnerMicroTxn { - optional uint32 init_time = 1; - optional uint32 last_update_time = 2; - optional uint64 txn_id = 3; - optional uint32 account_id = 4; - optional uint32 line_item = 5; - optional uint64 item_id = 6; - optional uint32 def_index = 7; - optional uint64 price = 8; - optional uint64 tax = 9; - optional uint64 price_usd = 10; - optional uint64 tax_usd = 11; - optional uint32 purchase_type = 12; - optional uint32 steam_txn_type = 13; - optional string country_code = 14; - optional string region_code = 15; - optional int32 quantity = 16; - optional uint64 ref_trans_id = 17; - } - - message PartnerInfo { - optional uint32 partner_id = 1; - optional string partner_name = 2; - optional string currency_code = 3; - optional string currency_name = 4; - } - - optional uint32 appid = 1; - optional string gc_name = 2; - optional CMsgDPPartnerMicroTxns.PartnerInfo partner = 3; - repeated CMsgDPPartnerMicroTxns.PartnerMicroTxn transactions = 4; -} - -message CMsgDPPartnerMicroTxnsResponse { - enum EErrorCode { - k_MsgValid = 0; - k_MsgInvalidAppID = 1; - k_MsgInvalidPartnerInfo = 2; - k_MsgNoTransactions = 3; - k_MsgSQLFailure = 4; - k_MsgPartnerInfoDiscrepancy = 5; - k_MsgTransactionInsertFailed = 7; - k_MsgAlreadyRunning = 8; - k_MsgInvalidTransactionData = 9; - } - - optional uint32 eresult = 1; - optional CMsgDPPartnerMicroTxnsResponse.EErrorCode eerrorcode = 2; -} - message CMsgGCHVacVerificationChange { optional fixed64 steamid = 1; optional uint32 appid = 2; optional bool is_verified = 3; } -message CMsgGCHAccountTwoFactorChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional bool twofactor_enabled = 3; -} - message CMsgGCCheckClanMembership { optional fixed64 steamid = 1; optional uint32 clanid = 2; @@ -583,27 +459,6 @@ message CMsgGCHAppCheersGetAllowedTypesResponse { optional uint32 cache_duration = 3; } -message CGCSystemMsg_ReportExternalPurchase_Request { - optional uint32 appid = 1; - optional fixed64 steamid = 2; - optional EMobilePaymentProvider provider = 3; - optional uint64 orderid = 4; - optional string provider_orderid = 5; - optional int64 amount = 6; - optional string currency = 7; - optional uint32 quantity = 8; - optional uint32 itemid = 9; - optional string item_description = 10; - optional string language = 11; - optional string category = 12; - optional uint32 time_created = 13; -} - -message CGCSystemMsg_ReportExternalPurchase_Response { - optional fixed64 transid = 1; - optional uint64 orderid = 2; -} - message CWorkshop_AddSpecialPayment_Request { optional uint32 appid = 1; optional uint32 gameitemid = 2; diff --git a/dota/steammessages_oauth.steamworkssdk.pb.go b/dota/steammessages_oauth.steamworkssdk.pb.go index 6046d549..e394c730 100644 --- a/dota/steammessages_oauth.steamworkssdk.pb.go +++ b/dota/steammessages_oauth.steamworkssdk.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_oauth.steamworkssdk.proto package dota diff --git a/dota/steammessages_player.steamworkssdk.pb.go b/dota/steammessages_player.steamworkssdk.pb.go index e5524af1..236b404c 100644 --- a/dota/steammessages_player.steamworkssdk.pb.go +++ b/dota/steammessages_player.steamworkssdk.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_player.steamworkssdk.proto package dota diff --git a/dota/steammessages_publishedfile.steamworkssdk.pb.go b/dota/steammessages_publishedfile.steamworkssdk.pb.go index a3e16d29..ee23f2d6 100644 --- a/dota/steammessages_publishedfile.steamworkssdk.pb.go +++ b/dota/steammessages_publishedfile.steamworkssdk.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_publishedfile.steamworkssdk.proto package dota diff --git a/dota/steammessages_steamlearn.steamworkssdk.pb.go b/dota/steammessages_steamlearn.steamworkssdk.pb.go index 885053ab..3cbd726a 100644 --- a/dota/steammessages_steamlearn.steamworkssdk.pb.go +++ b/dota/steammessages_steamlearn.steamworkssdk.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_steamlearn.steamworkssdk.proto package dota @@ -1869,7 +1869,9 @@ type CMsgSteamLearn_InferenceMetadata_Response struct { Ranges []*CMsgSteamLearn_InferenceMetadata_Response_Range `protobuf:"bytes,3,rep,name=ranges" json:"ranges,omitempty"` StdDevs []*CMsgSteamLearn_InferenceMetadata_Response_StdDev `protobuf:"bytes,4,rep,name=std_devs,json=stdDevs" json:"std_devs,omitempty"` CompactTables []*CMsgSteamLearn_InferenceMetadata_Response_CompactTable `protobuf:"bytes,5,rep,name=compact_tables,json=compactTables" json:"compact_tables,omitempty"` + SequenceTables []*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable `protobuf:"bytes,9,rep,name=sequence_tables,json=sequenceTables" json:"sequence_tables,omitempty"` Kmeans []*CMsgSteamLearn_InferenceMetadata_Response_KMeans `protobuf:"bytes,6,rep,name=kmeans" json:"kmeans,omitempty"` + AppInfo []*CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry `protobuf:"bytes,8,rep,name=app_info,json=appInfo" json:"app_info,omitempty"` SnapshotHistogram *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram `protobuf:"bytes,7,opt,name=snapshot_histogram,json=snapshotHistogram" json:"snapshot_histogram,omitempty"` } @@ -1940,6 +1942,13 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response) GetCompactTables() []*CMsgSt return nil } +func (x *CMsgSteamLearn_InferenceMetadata_Response) GetSequenceTables() []*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable { + if x != nil { + return x.SequenceTables + } + return nil +} + func (x *CMsgSteamLearn_InferenceMetadata_Response) GetKmeans() []*CMsgSteamLearn_InferenceMetadata_Response_KMeans { if x != nil { return x.Kmeans @@ -1947,6 +1956,13 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response) GetKmeans() []*CMsgSteamLear return nil } +func (x *CMsgSteamLearn_InferenceMetadata_Response) GetAppInfo() []*CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry { + if x != nil { + return x.AppInfo + } + return nil +} + func (x *CMsgSteamLearn_InferenceMetadata_Response) GetSnapshotHistogram() *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram { if x != nil { return x.SnapshotHistogram @@ -2473,6 +2489,77 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable) GetMapMappings( return nil } +type CMsgSteamLearn_InferenceMetadata_Response_SequenceTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + MapValues []*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry `protobuf:"bytes,2,rep,name=map_values,json=mapValues" json:"map_values,omitempty"` + MapMappings []*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry `protobuf:"bytes,3,rep,name=map_mappings,json=mapMappings" json:"map_mappings,omitempty"` + TotalCount *uint64 `protobuf:"varint,4,opt,name=total_count,json=totalCount" json:"total_count,omitempty"` +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) Reset() { + *x = CMsgSteamLearn_InferenceMetadata_Response_SequenceTable{} + if protoimpl.UnsafeEnabled { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) ProtoMessage() {} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_SequenceTable.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) Descriptor() ([]byte, []int) { + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 4} +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) GetMapValues() []*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry { + if x != nil { + return x.MapValues + } + return nil +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) GetMapMappings() []*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry { + if x != nil { + return x.MapMappings + } + return nil +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable) GetTotalCount() uint64 { + if x != nil && x.TotalCount != nil { + return *x.TotalCount + } + return 0 +} + type CMsgSteamLearn_InferenceMetadata_Response_KMeans struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2485,7 +2572,7 @@ type CMsgSteamLearn_InferenceMetadata_Response_KMeans struct { func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans) Reset() { *x = CMsgSteamLearn_InferenceMetadata_Response_KMeans{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[31] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2498,7 +2585,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans) String() string { func (*CMsgSteamLearn_InferenceMetadata_Response_KMeans) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[31] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2511,7 +2598,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans) ProtoReflect() protor // Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_KMeans.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceMetadata_Response_KMeans) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 4} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 5} } func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans) GetName() string { @@ -2542,7 +2629,7 @@ type CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram struct { func (x *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) Reset() { *x = CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[32] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2555,7 +2642,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) String() s func (*CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[32] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2568,7 +2655,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) ProtoRefle // Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 5} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 6} } func (x *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) GetMinValue() float32 { @@ -2599,6 +2686,156 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram) GetBucketC return nil } +type CMsgSteamLearn_InferenceMetadata_Response_AppInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CountryAllow *string `protobuf:"bytes,1,opt,name=country_allow,json=countryAllow" json:"country_allow,omitempty"` + CountryDeny *string `protobuf:"bytes,2,opt,name=country_deny,json=countryDeny" json:"country_deny,omitempty"` + PlatformWin *bool `protobuf:"varint,3,opt,name=platform_win,json=platformWin" json:"platform_win,omitempty"` + PlatformMac *bool `protobuf:"varint,4,opt,name=platform_mac,json=platformMac" json:"platform_mac,omitempty"` + PlatformLinux *bool `protobuf:"varint,5,opt,name=platform_linux,json=platformLinux" json:"platform_linux,omitempty"` + AdultViolence *bool `protobuf:"varint,6,opt,name=adult_violence,json=adultViolence" json:"adult_violence,omitempty"` + AdultSex *bool `protobuf:"varint,7,opt,name=adult_sex,json=adultSex" json:"adult_sex,omitempty"` +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) Reset() { + *x = CMsgSteamLearn_InferenceMetadata_Response_AppInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearn_InferenceMetadata_Response_AppInfo) ProtoMessage() {} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_AppInfo.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearn_InferenceMetadata_Response_AppInfo) Descriptor() ([]byte, []int) { + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 7} +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) GetCountryAllow() string { + if x != nil && x.CountryAllow != nil { + return *x.CountryAllow + } + return "" +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) GetCountryDeny() string { + if x != nil && x.CountryDeny != nil { + return *x.CountryDeny + } + return "" +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) GetPlatformWin() bool { + if x != nil && x.PlatformWin != nil { + return *x.PlatformWin + } + return false +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) GetPlatformMac() bool { + if x != nil && x.PlatformMac != nil { + return *x.PlatformMac + } + return false +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) GetPlatformLinux() bool { + if x != nil && x.PlatformLinux != nil { + return *x.PlatformLinux + } + return false +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) GetAdultViolence() bool { + if x != nil && x.AdultViolence != nil { + return *x.AdultViolence + } + return false +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfo) GetAdultSex() bool { + if x != nil && x.AdultSex != nil { + return *x.AdultSex + } + return false +} + +type CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value *CMsgSteamLearn_InferenceMetadata_Response_AppInfo `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry) Reset() { + *x = CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry) ProtoMessage() {} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry) Descriptor() ([]byte, []int) { + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 8} +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry) GetKey() uint32 { + if x != nil && x.Key != nil { + return *x.Key + } + return 0 +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry) GetValue() *CMsgSteamLearn_InferenceMetadata_Response_AppInfo { + if x != nil { + return x.Value + } + return nil +} + type CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2612,7 +2849,7 @@ type CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry struct { func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry) Reset() { *x = CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[33] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2625,7 +2862,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry) String() func (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[33] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2674,7 +2911,7 @@ type CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry struc func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry) Reset() { *x = CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[34] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2687,7 +2924,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry) func (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[34] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2729,7 +2966,7 @@ type CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry str func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry) Reset() { *x = CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[35] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2742,7 +2979,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry func (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[35] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2762,10 +2999,183 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry if x != nil && x.Key != nil { return *x.Key } - return 0 + return 0 +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry) GetValue() *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry { + if x != nil { + return x.Value + } + return nil +} + +type CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Values []uint32 `protobuf:"varint,1,rep,name=values" json:"values,omitempty"` + Crc *uint32 `protobuf:"varint,2,opt,name=crc" json:"crc,omitempty"` + Count *uint32 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"` +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) Reset() { + *x = CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry{} + if protoimpl.UnsafeEnabled { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) ProtoMessage() {} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) Descriptor() ([]byte, []int) { + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 4, 0} +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) GetValues() []uint32 { + if x != nil { + return x.Values + } + return nil +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) GetCrc() uint32 { + if x != nil && x.Crc != nil { + return *x.Crc + } + return 0 +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +type CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry) Reset() { + *x = CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry) ProtoMessage() {} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry) Descriptor() ([]byte, []int) { + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 4, 1} +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry) GetKey() uint32 { + if x != nil && x.Key != nil { + return *x.Key + } + return 0 +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry) GetValue() *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry { + if x != nil { + return x.Value + } + return nil +} + +type CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` + Value *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry) Reset() { + *x = CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry) ProtoMessage() {} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry) Descriptor() ([]byte, []int) { + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 4, 2} +} + +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry) GetKey() string { + if x != nil && x.Key != nil { + return *x.Key + } + return "" } -func (x *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry) GetValue() *CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry { +func (x *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry) GetValue() *CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry { if x != nil { return x.Value } @@ -2788,7 +3198,7 @@ type CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster struct { func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) Reset() { *x = CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[36] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2801,7 +3211,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) String() stri func (*CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[36] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2814,7 +3224,7 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) ProtoReflect( // Deprecated: Use CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 4, 0} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{21, 5, 0} } func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) GetX() float32 { @@ -2859,6 +3269,53 @@ func (x *CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster) GetRadius_25P return 0 } +type CMsgSteamLearn_InferenceBackend_Response_Sequence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value []float32 `protobuf:"fixed32,1,rep,name=value" json:"value,omitempty"` +} + +func (x *CMsgSteamLearn_InferenceBackend_Response_Sequence) Reset() { + *x = CMsgSteamLearn_InferenceBackend_Response_Sequence{} + if protoimpl.UnsafeEnabled { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgSteamLearn_InferenceBackend_Response_Sequence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgSteamLearn_InferenceBackend_Response_Sequence) ProtoMessage() {} + +func (x *CMsgSteamLearn_InferenceBackend_Response_Sequence) ProtoReflect() protoreflect.Message { + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgSteamLearn_InferenceBackend_Response_Sequence.ProtoReflect.Descriptor instead. +func (*CMsgSteamLearn_InferenceBackend_Response_Sequence) Descriptor() ([]byte, []int) { + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 0} +} + +func (x *CMsgSteamLearn_InferenceBackend_Response_Sequence) GetValue() []float32 { + if x != nil { + return x.Value + } + return nil +} + type CMsgSteamLearn_InferenceBackend_Response_RegressionOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2870,7 +3327,7 @@ type CMsgSteamLearn_InferenceBackend_Response_RegressionOutput struct { func (x *CMsgSteamLearn_InferenceBackend_Response_RegressionOutput) Reset() { *x = CMsgSteamLearn_InferenceBackend_Response_RegressionOutput{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[37] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2883,7 +3340,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_RegressionOutput) String() str func (*CMsgSteamLearn_InferenceBackend_Response_RegressionOutput) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceBackend_Response_RegressionOutput) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[37] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2896,7 +3353,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_RegressionOutput) ProtoReflect // Deprecated: Use CMsgSteamLearn_InferenceBackend_Response_RegressionOutput.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceBackend_Response_RegressionOutput) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 0} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 1} } func (x *CMsgSteamLearn_InferenceBackend_Response_RegressionOutput) GetValue() float32 { @@ -2917,7 +3374,7 @@ type CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput struct { func (x *CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput) Reset() { *x = CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[38] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2930,7 +3387,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput) Stri func (*CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[38] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2943,7 +3400,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput) Prot // Deprecated: Use CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 1} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 2} } func (x *CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput) GetValue() float32 { @@ -2958,14 +3415,15 @@ type CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput stru sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Weight []float32 `protobuf:"fixed32,1,rep,name=weight" json:"weight,omitempty"` - Value []float32 `protobuf:"fixed32,2,rep,name=value" json:"value,omitempty"` + Weight []float32 `protobuf:"fixed32,1,rep,name=weight" json:"weight,omitempty"` + Value []float32 `protobuf:"fixed32,2,rep,name=value" json:"value,omitempty"` + ValueSequence []*CMsgSteamLearn_InferenceBackend_Response_Sequence `protobuf:"bytes,3,rep,name=value_sequence,json=valueSequence" json:"value_sequence,omitempty"` } func (x *CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) Reset() { *x = CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[39] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2978,7 +3436,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) func (*CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[39] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2991,7 +3449,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) // Deprecated: Use CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 2} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 3} } func (x *CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) GetWeight() []float32 { @@ -3008,19 +3466,27 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) return nil } +func (x *CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput) GetValueSequence() []*CMsgSteamLearn_InferenceBackend_Response_Sequence { + if x != nil { + return x.ValueSequence + } + return nil +} + type CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Weight []float32 `protobuf:"fixed32,1,rep,name=weight" json:"weight,omitempty"` - Value []float32 `protobuf:"fixed32,2,rep,name=value" json:"value,omitempty"` + Weight []float32 `protobuf:"fixed32,1,rep,name=weight" json:"weight,omitempty"` + Value []float32 `protobuf:"fixed32,2,rep,name=value" json:"value,omitempty"` + ValueSequence []*CMsgSteamLearn_InferenceBackend_Response_Sequence `protobuf:"bytes,3,rep,name=value_sequence,json=valueSequence" json:"value_sequence,omitempty"` } func (x *CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) Reset() { *x = CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[40] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3033,7 +3499,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) func (*CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[40] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3046,7 +3512,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) // Deprecated: Use CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 3} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 4} } func (x *CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) GetWeight() []float32 { @@ -3063,6 +3529,13 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) return nil } +func (x *CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput) GetValueSequence() []*CMsgSteamLearn_InferenceBackend_Response_Sequence { + if x != nil { + return x.ValueSequence + } + return nil +} + type CMsgSteamLearn_InferenceBackend_Response_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3080,7 +3553,7 @@ type CMsgSteamLearn_InferenceBackend_Response_Output struct { func (x *CMsgSteamLearn_InferenceBackend_Response_Output) Reset() { *x = CMsgSteamLearn_InferenceBackend_Response_Output{} if protoimpl.UnsafeEnabled { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[41] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3093,7 +3566,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_Output) String() string { func (*CMsgSteamLearn_InferenceBackend_Response_Output) ProtoMessage() {} func (x *CMsgSteamLearn_InferenceBackend_Response_Output) ProtoReflect() protoreflect.Message { - mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[41] + mi := &file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3106,7 +3579,7 @@ func (x *CMsgSteamLearn_InferenceBackend_Response_Output) ProtoReflect() protore // Deprecated: Use CMsgSteamLearn_InferenceBackend_Response_Output.ProtoReflect.Descriptor instead. func (*CMsgSteamLearn_InferenceBackend_Response_Output) Descriptor() ([]byte, []int) { - return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 4} + return file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP(), []int{22, 5} } func (m *CMsgSteamLearn_InferenceBackend_Response_Output) GetResponseType() isCMsgSteamLearn_InferenceBackend_Response_Output_ResponseType { @@ -3456,7 +3929,7 @@ var file_steammessages_steamlearn_steamworkssdk_proto_rawDesc = []byte{ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x65, 0x74, - 0x63, 0x68, 0x49, 0x64, 0x22, 0xcb, 0x0f, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, + 0x63, 0x68, 0x49, 0x64, 0x22, 0xf2, 0x18, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x19, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, @@ -3487,456 +3960,545 @@ var file_steammessages_steamlearn_steamworkssdk_proto_rawDesc = []byte{ 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x06, 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b, 0x4d, 0x65, 0x61, 0x6e, 0x73, 0x52, 0x06, - 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x1a, 0x3c, 0x0a, 0x08, 0x52, 0x6f, 0x77, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x6f, 0x77, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x52, 0x6f, 0x77, 0x12, 0x17, 0x0a, - 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x1a, 0x6d, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, - 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x61, 0x0a, 0x06, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x12, - 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6d, - 0x65, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6e, 0x12, - 0x17, 0x0a, 0x07, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x06, 0x73, 0x74, 0x64, 0x44, 0x65, 0x76, 0x1a, 0xcd, 0x04, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6a, 0x0a, - 0x0a, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x4b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, - 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, - 0x6d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x0c, 0x6d, 0x61, 0x70, - 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x4d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4d, 0x61, - 0x70, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, - 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x4d, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x7c, 0x0a, 0x0e, 0x4d, 0x61, - 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x58, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, - 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x7e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x4d, + 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x0e, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x4e, + 0x0a, 0x06, 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x4b, 0x4d, 0x65, 0x61, 0x6e, 0x73, 0x52, 0x06, 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x12, 0x57, + 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x61, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x70, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x1a, 0x3c, 0x0a, 0x08, 0x52, 0x6f, 0x77, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x6f, 0x77, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x52, 0x6f, 0x77, 0x12, 0x17, + 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x1a, 0x6d, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, + 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x61, 0x0a, 0x06, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, + 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, + 0x6d, 0x65, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6e, + 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x06, 0x73, 0x74, 0x64, 0x44, 0x65, 0x76, 0x1a, 0xcd, 0x04, 0x0a, 0x0c, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6a, + 0x0a, 0x0a, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x2e, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x09, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x0c, 0x6d, 0x61, + 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x4d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4d, + 0x61, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0b, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x4d, 0x0a, 0x05, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x7c, 0x0a, 0x0e, 0x4d, + 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x58, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x7e, 0x0a, 0x10, 0x4d, 0x61, 0x70, + 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x58, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xed, 0x04, 0x0a, 0x0d, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x6b, 0x0a, 0x0a, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x09, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x0c, + 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x1a, 0x47, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x63, 0x72, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x7d, 0x0a, 0x0e, 0x4d, 0x61, 0x70, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, + 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x7f, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x58, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xa1, 0x02, 0x0a, 0x06, 0x4b, 0x4d, 0x65, - 0x61, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xa1, 0x02, 0x0a, 0x06, 0x4b, 0x4d, + 0x65, 0x61, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, + 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b, 0x4d, 0x65, 0x61, + 0x6e, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x1a, 0xa6, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, + 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x72, 0x61, + 0x64, 0x69, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 0x37, + 0x35, 0x70, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x61, 0x64, 0x69, + 0x75, 0x73, 0x37, 0x35, 0x70, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x75, + 0x73, 0x5f, 0x35, 0x30, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, + 0x61, 0x64, 0x69, 0x75, 0x73, 0x35, 0x30, 0x70, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, + 0x64, 0x69, 0x75, 0x73, 0x5f, 0x32, 0x35, 0x70, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x32, 0x35, 0x70, 0x63, 0x74, 0x1a, 0x93, 0x01, + 0x0a, 0x11, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x1a, 0x82, 0x02, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, + 0x64, 0x65, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x57, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6d, 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x63, 0x12, 0x25, 0x0a, + 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x69, + 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x64, + 0x75, 0x6c, 0x74, 0x56, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x64, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x61, 0x64, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x78, 0x1a, 0x6f, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x49, + 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b, 0x4d, 0x65, 0x61, 0x6e, - 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x1a, 0xa6, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, - 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x72, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 0x37, 0x35, - 0x70, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x75, - 0x73, 0x37, 0x35, 0x70, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, - 0x5f, 0x35, 0x30, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x61, - 0x64, 0x69, 0x75, 0x73, 0x35, 0x30, 0x70, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x5f, 0x32, 0x35, 0x70, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0b, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x32, 0x35, 0x70, 0x63, 0x74, 0x1a, 0x93, 0x01, 0x0a, - 0x11, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x23, 0x0a, - 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x22, 0x88, 0x07, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4f, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x1a, 0x28, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x30, 0x0a, 0x18, 0x42, 0x69, + 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xec, 0x08, 0x0a, 0x28, 0x43, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x1a, 0x20, 0x0a, 0x08, 0x53, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x28, 0x0a, 0x10, 0x52, 0x65, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x1a, 0x30, 0x0a, 0x18, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xad, 0x01, 0x0a, 0x1d, 0x4d, 0x75, 0x74, 0x6c, 0x69, 0x42, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, + 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, + 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0xad, 0x01, 0x0a, 0x1d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, + 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, + 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x90, 0x04, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x12, 0x7a, 0x0a, 0x13, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, + 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, + 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4d, 0x0a, 0x1d, - 0x4d, 0x75, 0x74, 0x6c, 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, 0x73, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4d, 0x0a, 0x1d, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x90, 0x04, 0x0a, 0x06, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x7a, 0x0a, 0x13, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, - 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x12, 0x62, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, - 0x79, 0x12, 0x89, 0x01, 0x0a, 0x18, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, - 0x6c, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, - 0x43, 0x72, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x48, 0x00, 0x52, 0x17, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, - 0x6c, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x12, 0x8a, 0x01, - 0x0a, 0x19, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, - 0x72, 0x6f, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x4c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x4d, 0x75, 0x74, 0x6c, 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, - 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, - 0x00, 0x52, 0x17, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, - 0x6f, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x12, 0x61, 0x0a, 0x0a, 0x72, 0x65, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, - 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, - 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, - 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xdf, 0x01, - 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, - 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, - 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x0f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x59, 0x0a, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, - 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x2a, - 0xd4, 0x01, 0x0a, 0x13, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x45, 0x41, 0x4d, - 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x45, 0x41, - 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x45, 0x41, 0x4d, - 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, - 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x45, 0x41, - 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, - 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, - 0x52, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, - 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x10, 0x05, 0x2a, 0xbc, 0x05, 0x0a, 0x24, 0x45, 0x53, 0x74, 0x65, 0x61, - 0x6d, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x30, 0x0a, 0x2c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, - 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x00, 0x12, 0x3a, 0x0a, 0x36, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, - 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x38, 0x0a, - 0x34, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, - 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x38, 0x0a, 0x34, 0x53, 0x54, 0x45, 0x41, 0x4d, - 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, - 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, - 0x03, 0x12, 0x3d, 0x0a, 0x39, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, - 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x04, - 0x12, 0x40, 0x0a, 0x3c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, - 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x05, 0x12, 0x3d, 0x0a, 0x39, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x12, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x43, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x12, 0x89, 0x01, 0x0a, + 0x18, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x6f, 0x73, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, + 0x17, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x12, 0x8a, 0x01, 0x0a, 0x19, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, + 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x75, 0x74, + 0x6c, 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x17, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x6e, + 0x74, 0x72, 0x6f, 0x70, 0x79, 0x12, 0x61, 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, + 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, + 0x0a, 0x10, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x69, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x59, 0x0a, 0x10, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x04, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x2a, 0xd4, 0x01, 0x0a, 0x13, 0x45, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, + 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x33, + 0x32, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, + 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, + 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, + 0x05, 0x2a, 0xbc, 0x05, 0x0a, 0x24, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x4c, 0x65, 0x61, + 0x72, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x2c, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, + 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, + 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x3a, 0x0a, 0x36, + 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, + 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x38, 0x0a, 0x34, 0x53, 0x54, 0x45, 0x41, + 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, + 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, + 0x10, 0x02, 0x12, 0x38, 0x0a, 0x34, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, - 0x06, 0x12, 0x3d, 0x0a, 0x39, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, - 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x07, - 0x12, 0x3a, 0x0a, 0x36, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, - 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x08, 0x12, 0x42, 0x0a, 0x3e, + 0x4f, 0x52, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x03, 0x12, 0x3d, 0x0a, 0x39, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x09, - 0x12, 0x33, 0x0a, 0x2f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, - 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, - 0x4c, 0x45, 0x44, 0x10, 0x0a, 0x2a, 0xfb, 0x02, 0x0a, 0x1a, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, - 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, - 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, - 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x33, 0x0a, 0x2f, 0x53, 0x54, 0x45, 0x41, - 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x02, 0x12, 0x34, 0x0a, - 0x30, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, - 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x43, - 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x10, 0x03, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x04, 0x12, 0x40, 0x0a, 0x3c, 0x53, + 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, + 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x3d, 0x0a, + 0x39, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, + 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x06, 0x12, 0x3d, 0x0a, 0x39, + 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, + 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x07, 0x12, 0x3a, 0x0a, 0x36, 0x53, + 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, + 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x42, + 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x08, 0x12, 0x42, 0x0a, 0x3e, 0x53, 0x54, 0x45, 0x41, 0x4d, + 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, + 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, + 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x09, 0x12, 0x33, 0x0a, 0x2f, 0x53, + 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x52, + 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x0a, + 0x2a, 0xfb, 0x02, 0x0a, 0x1a, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, + 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, + 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, + 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x01, 0x12, 0x33, 0x0a, 0x2f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, - 0x04, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, - 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2d, + 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x02, 0x12, 0x34, 0x0a, 0x30, 0x53, 0x54, 0x45, 0x41, + 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x43, 0x41, 0x43, 0x48, 0x45, 0x44, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x03, 0x12, 0x2c, + 0x0a, 0x28, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, + 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x06, 0x12, - 0x22, 0x0a, 0x1e, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, - 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0x07, 0x2a, 0xed, 0x05, 0x0a, 0x20, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, - 0x61, 0x72, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x45, 0x41, - 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, - 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, - 0x2e, 0x0a, 0x2a, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, - 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, - 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, - 0x2e, 0x0a, 0x2a, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, - 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, - 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x02, 0x12, - 0x38, 0x0a, 0x34, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, - 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, - 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, - 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x10, 0x04, 0x12, 0x3d, 0x0a, 0x39, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, - 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4b, 0x45, - 0x59, 0x10, 0x05, 0x12, 0x3c, 0x0a, 0x38, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x42, + 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x54, 0x45, 0x41, 0x4d, + 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, + 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x2a, 0xed, + 0x05, 0x0a, 0x20, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, - 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x06, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, - 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, - 0x48, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x12, 0x2f, 0x0a, 0x2b, + 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x2a, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, + 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, + 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x02, 0x12, 0x38, 0x0a, 0x34, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, + 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x49, 0x44, 0x10, 0x03, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, + 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x04, 0x12, + 0x3d, 0x0a, 0x39, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, + 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x05, 0x12, 0x3c, + 0x0a, 0x38, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, + 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x43, 0x48, + 0x45, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x08, 0x12, 0x37, 0x0a, - 0x33, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, - 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, - 0x54, 0x41, 0x4d, 0x50, 0x10, 0x09, 0x12, 0x40, 0x0a, 0x3c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, - 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0a, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x54, 0x45, 0x41, + 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x12, 0x2f, 0x0a, 0x2b, 0x53, 0x54, 0x45, 0x41, 0x4d, + 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, + 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x08, 0x12, 0x37, 0x0a, 0x33, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, - 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x10, 0x0b, 0x12, 0x3f, 0x0a, 0x3b, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, - 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, - 0x4e, 0x10, 0x0c, 0x2a, 0x74, 0x0a, 0x20, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, - 0x72, 0x6e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x45, 0x41, 0x4d, - 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, - 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, - 0x28, 0x0a, 0x24, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x47, 0x45, - 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x5f, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0xf1, 0x03, 0x0a, 0x1a, 0x45, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x45, 0x41, - 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x54, 0x45, 0x41, + 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, + 0x09, 0x12, 0x40, 0x0a, 0x3c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, + 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x0a, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x3f, 0x0a, + 0x3b, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x53, 0x4e, 0x41, 0x50, + 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x53, 0x48, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0c, 0x2a, 0x74, + 0x0a, 0x20, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, + 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x4b, 0x45, + 0x4e, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, + 0x53, 0x53, 0x10, 0x01, 0x2a, 0xf1, 0x03, 0x0a, 0x1a, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, + 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, - 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x54, - 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, - 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x39, 0x0a, - 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, - 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4d, 0x49, 0x53, 0x53, - 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, - 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x53, 0x54, 0x45, 0x41, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x43, + 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x54, 0x45, 0x41, 0x4d, + 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, + 0x05, 0x12, 0x30, 0x0a, 0x2c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, + 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, + 0x50, 0x10, 0x06, 0x12, 0x38, 0x0a, 0x34, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, + 0x48, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x30, 0x0a, + 0x2c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, + 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, + 0x45, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x08, 0x12, + 0x27, 0x0a, 0x23, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, + 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x4f, + 0x4f, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x10, 0x09, 0x2a, 0xdd, 0x03, 0x0a, 0x22, 0x45, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x27, 0x0a, 0x23, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, + 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, + 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x01, 0x12, 0x3a, 0x0a, 0x36, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, + 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, + 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, + 0x3b, 0x0a, 0x37, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, + 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, - 0x48, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, + 0x48, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x03, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, - 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, - 0x44, 0x44, 0x45, 0x4e, 0x10, 0x05, 0x12, 0x30, 0x0a, 0x2c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, - 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, - 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x06, 0x12, 0x38, 0x0a, 0x34, 0x53, 0x54, 0x45, 0x41, - 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x07, 0x12, 0x30, 0x0a, 0x2c, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, - 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, - 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x10, 0x09, 0x2a, 0xdd, 0x03, - 0x0a, 0x22, 0x45, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, - 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, - 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x29, 0x0a, - 0x25, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, - 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, - 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x3a, 0x0a, 0x36, 0x53, 0x54, 0x45, 0x41, - 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, - 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x49, 0x44, 0x10, 0x02, 0x12, 0x3b, 0x0a, 0x37, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, - 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, - 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, - 0x03, 0x12, 0x31, 0x0a, 0x2d, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, - 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, - 0x45, 0x4e, 0x10, 0x04, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, - 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, - 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x05, 0x12, - 0x41, 0x0a, 0x3d, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, + 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x04, 0x12, + 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x06, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, - 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x45, 0x54, - 0x43, 0x48, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x07, 0x32, 0xd9, 0x0a, - 0x0a, 0x0a, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x12, 0xc5, 0x01, 0x0a, - 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xb5, 0x18, 0x48, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x64, 0x65, 0x73, - 0x63, 0x20, 0x28, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x73, 0x20, 0x61, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x64, 0x65, 0x73, 0x63, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x27, 0x73, 0x20, - 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x29, 0x2e, 0x12, 0x7e, 0x0a, 0x09, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, - 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x20, 0x82, 0xb5, 0x18, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x61, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x12, 0x9d, 0x01, 0x0a, 0x0f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x12, 0xc4, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x57, 0x82, 0xb5, 0x18, 0x53, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, - 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, - 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0xe2, 0x01, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, - 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, - 0x61, 0x72, 0x6e, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xb5, - 0x18, 0x6e, 0x47, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x6d, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0xac, 0x01, 0x0a, 0x09, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x26, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, + 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x05, 0x12, 0x41, 0x0a, 0x3d, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, + 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, + 0x48, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x39, 0x0a, + 0x35, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x45, + 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x44, + 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x07, 0x32, 0xd9, 0x0a, 0x0a, 0x0a, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x12, 0xc5, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, - 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4e, 0x82, 0xb5, 0x18, 0x4a, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, - 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x12, - 0xba, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x2e, 0x1a, 0x4b, 0x82, 0xb5, - 0x18, 0x47, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x2e, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, - 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x4c, 0x82, 0xb5, 0x18, 0x48, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x64, 0x65, 0x73, 0x63, 0x20, 0x28, 0x6f, 0x72, + 0x20, 0x66, 0x69, 0x6e, 0x64, 0x73, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x64, 0x65, + 0x73, 0x63, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x27, 0x73, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, + 0x64, 0x79, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, + 0x7e, 0x0a, 0x09, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, + 0x72, 0x6e, 0x5f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, + 0xb5, 0x18, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x12, + 0x9d, 0x01, 0x0a, 0x0f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x12, + 0xc4, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, + 0xb5, 0x18, 0x53, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x2c, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, + 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0xe2, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, + 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xb5, 0x18, 0x6e, 0x47, 0x65, 0x74, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x6d, + 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x09, + 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, + 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xb5, 0x18, 0x4a, + 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, + 0x20, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, + 0x6f, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x12, 0xba, 0x01, 0x0a, 0x11, 0x49, + 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x44, 0x82, 0xb5, 0x18, 0x40, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x2e, 0x1a, 0x4b, 0x82, 0xb5, 0x18, 0x47, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, + 0x61, 0x72, 0x6e, 0x2e, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, + 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -3952,57 +4514,64 @@ func file_steammessages_steamlearn_steamworkssdk_proto_rawDescGZIP() []byte { } var file_steammessages_steamlearn_steamworkssdk_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_steammessages_steamlearn_steamworkssdk_proto_msgTypes = make([]protoimpl.MessageInfo, 42) +var file_steammessages_steamlearn_steamworkssdk_proto_msgTypes = make([]protoimpl.MessageInfo, 49) var file_steammessages_steamlearn_steamworkssdk_proto_goTypes = []interface{}{ - (ESteamLearnDataType)(0), // 0: dota.ESteamLearnDataType - (ESteammLearnRegisterDataSourceResult)(0), // 1: dota.ESteammLearnRegisterDataSourceResult - (ESteamLearnCacheDataResult)(0), // 2: dota.ESteamLearnCacheDataResult - (ESteamLearnSnapshotProjectResult)(0), // 3: dota.ESteamLearnSnapshotProjectResult - (ESteamLearnGetAccessTokensResult)(0), // 4: dota.ESteamLearnGetAccessTokensResult - (ESteamLearnInferenceResult)(0), // 5: dota.ESteamLearnInferenceResult - (ESteamLearnInferenceMetadataResult)(0), // 6: dota.ESteamLearnInferenceMetadataResult - (*CMsgSteamLearnDataSourceDescObject)(nil), // 7: dota.CMsgSteamLearnDataSourceDescObject - (*CMsgSteamLearnDataSourceDescElement)(nil), // 8: dota.CMsgSteamLearnDataSourceDescElement - (*CMsgSteamLearnDataSource)(nil), // 9: dota.CMsgSteamLearnDataSource - (*CMsgSteamLearnDataObject)(nil), // 10: dota.CMsgSteamLearnDataObject - (*CMsgSteamLearnDataElement)(nil), // 11: dota.CMsgSteamLearnDataElement - (*CMsgSteamLearnData)(nil), // 12: dota.CMsgSteamLearnData - (*CMsgSteamLearnDataList)(nil), // 13: dota.CMsgSteamLearnDataList - (*CMsgSteamLearn_RegisterDataSource_Request)(nil), // 14: dota.CMsgSteamLearn_RegisterDataSource_Request - (*CMsgSteamLearn_RegisterDataSource_Response)(nil), // 15: dota.CMsgSteamLearn_RegisterDataSource_Response - (*CMsgSteamLearn_CacheData_Request)(nil), // 16: dota.CMsgSteamLearn_CacheData_Request - (*CMsgSteamLearn_CacheData_Response)(nil), // 17: dota.CMsgSteamLearn_CacheData_Response - (*CMsgSteamLearn_SnapshotProject_Request)(nil), // 18: dota.CMsgSteamLearn_SnapshotProject_Request - (*CMsgSteamLearn_SnapshotProject_Response)(nil), // 19: dota.CMsgSteamLearn_SnapshotProject_Response - (*CMsgSteamLearn_BatchOperation_Request)(nil), // 20: dota.CMsgSteamLearn_BatchOperation_Request - (*CMsgSteamLearn_BatchOperation_Response)(nil), // 21: dota.CMsgSteamLearn_BatchOperation_Response - (*CMsgSteamLearnAccessTokens)(nil), // 22: dota.CMsgSteamLearnAccessTokens - (*CMsgSteamLearn_GetAccessTokens_Request)(nil), // 23: dota.CMsgSteamLearn_GetAccessTokens_Request - (*CMsgSteamLearn_GetAccessTokens_Response)(nil), // 24: dota.CMsgSteamLearn_GetAccessTokens_Response - (*CMsgSteamLearn_Inference_Request)(nil), // 25: dota.CMsgSteamLearn_Inference_Request - (*CMsgSteamLearn_InferenceMetadata_Request)(nil), // 26: dota.CMsgSteamLearn_InferenceMetadata_Request - (*CMsgSteamLearn_InferenceMetadataBackend_Request)(nil), // 27: dota.CMsgSteamLearn_InferenceMetadataBackend_Request - (*CMsgSteamLearn_InferenceMetadata_Response)(nil), // 28: dota.CMsgSteamLearn_InferenceMetadata_Response - (*CMsgSteamLearn_InferenceBackend_Response)(nil), // 29: dota.CMsgSteamLearn_InferenceBackend_Response - (*CMsgSteamLearn_Inference_Response)(nil), // 30: dota.CMsgSteamLearn_Inference_Response - (*CMsgSteamLearnAccessTokens_CacheDataAccessToken)(nil), // 31: dota.CMsgSteamLearnAccessTokens.CacheDataAccessToken - (*CMsgSteamLearnAccessTokens_SnapshotProjectAccessToken)(nil), // 32: dota.CMsgSteamLearnAccessTokens.SnapshotProjectAccessToken - (*CMsgSteamLearnAccessTokens_InferenceAccessToken)(nil), // 33: dota.CMsgSteamLearnAccessTokens.InferenceAccessToken - (*CMsgSteamLearn_InferenceMetadata_Response_RowRange)(nil), // 34: dota.CMsgSteamLearn_InferenceMetadata_Response.RowRange - (*CMsgSteamLearn_InferenceMetadata_Response_Range)(nil), // 35: dota.CMsgSteamLearn_InferenceMetadata_Response.Range - (*CMsgSteamLearn_InferenceMetadata_Response_StdDev)(nil), // 36: dota.CMsgSteamLearn_InferenceMetadata_Response.StdDev - (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable)(nil), // 37: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable - (*CMsgSteamLearn_InferenceMetadata_Response_KMeans)(nil), // 38: dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans - (*CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram)(nil), // 39: dota.CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram - (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry)(nil), // 40: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry - (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry)(nil), // 41: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry - (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry)(nil), // 42: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry - (*CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster)(nil), // 43: dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans.Cluster - (*CMsgSteamLearn_InferenceBackend_Response_RegressionOutput)(nil), // 44: dota.CMsgSteamLearn_InferenceBackend_Response.RegressionOutput - (*CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput)(nil), // 45: dota.CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput - (*CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput)(nil), // 46: dota.CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput - (*CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput)(nil), // 47: dota.CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput - (*CMsgSteamLearn_InferenceBackend_Response_Output)(nil), // 48: dota.CMsgSteamLearn_InferenceBackend_Response.Output + (ESteamLearnDataType)(0), // 0: dota.ESteamLearnDataType + (ESteammLearnRegisterDataSourceResult)(0), // 1: dota.ESteammLearnRegisterDataSourceResult + (ESteamLearnCacheDataResult)(0), // 2: dota.ESteamLearnCacheDataResult + (ESteamLearnSnapshotProjectResult)(0), // 3: dota.ESteamLearnSnapshotProjectResult + (ESteamLearnGetAccessTokensResult)(0), // 4: dota.ESteamLearnGetAccessTokensResult + (ESteamLearnInferenceResult)(0), // 5: dota.ESteamLearnInferenceResult + (ESteamLearnInferenceMetadataResult)(0), // 6: dota.ESteamLearnInferenceMetadataResult + (*CMsgSteamLearnDataSourceDescObject)(nil), // 7: dota.CMsgSteamLearnDataSourceDescObject + (*CMsgSteamLearnDataSourceDescElement)(nil), // 8: dota.CMsgSteamLearnDataSourceDescElement + (*CMsgSteamLearnDataSource)(nil), // 9: dota.CMsgSteamLearnDataSource + (*CMsgSteamLearnDataObject)(nil), // 10: dota.CMsgSteamLearnDataObject + (*CMsgSteamLearnDataElement)(nil), // 11: dota.CMsgSteamLearnDataElement + (*CMsgSteamLearnData)(nil), // 12: dota.CMsgSteamLearnData + (*CMsgSteamLearnDataList)(nil), // 13: dota.CMsgSteamLearnDataList + (*CMsgSteamLearn_RegisterDataSource_Request)(nil), // 14: dota.CMsgSteamLearn_RegisterDataSource_Request + (*CMsgSteamLearn_RegisterDataSource_Response)(nil), // 15: dota.CMsgSteamLearn_RegisterDataSource_Response + (*CMsgSteamLearn_CacheData_Request)(nil), // 16: dota.CMsgSteamLearn_CacheData_Request + (*CMsgSteamLearn_CacheData_Response)(nil), // 17: dota.CMsgSteamLearn_CacheData_Response + (*CMsgSteamLearn_SnapshotProject_Request)(nil), // 18: dota.CMsgSteamLearn_SnapshotProject_Request + (*CMsgSteamLearn_SnapshotProject_Response)(nil), // 19: dota.CMsgSteamLearn_SnapshotProject_Response + (*CMsgSteamLearn_BatchOperation_Request)(nil), // 20: dota.CMsgSteamLearn_BatchOperation_Request + (*CMsgSteamLearn_BatchOperation_Response)(nil), // 21: dota.CMsgSteamLearn_BatchOperation_Response + (*CMsgSteamLearnAccessTokens)(nil), // 22: dota.CMsgSteamLearnAccessTokens + (*CMsgSteamLearn_GetAccessTokens_Request)(nil), // 23: dota.CMsgSteamLearn_GetAccessTokens_Request + (*CMsgSteamLearn_GetAccessTokens_Response)(nil), // 24: dota.CMsgSteamLearn_GetAccessTokens_Response + (*CMsgSteamLearn_Inference_Request)(nil), // 25: dota.CMsgSteamLearn_Inference_Request + (*CMsgSteamLearn_InferenceMetadata_Request)(nil), // 26: dota.CMsgSteamLearn_InferenceMetadata_Request + (*CMsgSteamLearn_InferenceMetadataBackend_Request)(nil), // 27: dota.CMsgSteamLearn_InferenceMetadataBackend_Request + (*CMsgSteamLearn_InferenceMetadata_Response)(nil), // 28: dota.CMsgSteamLearn_InferenceMetadata_Response + (*CMsgSteamLearn_InferenceBackend_Response)(nil), // 29: dota.CMsgSteamLearn_InferenceBackend_Response + (*CMsgSteamLearn_Inference_Response)(nil), // 30: dota.CMsgSteamLearn_Inference_Response + (*CMsgSteamLearnAccessTokens_CacheDataAccessToken)(nil), // 31: dota.CMsgSteamLearnAccessTokens.CacheDataAccessToken + (*CMsgSteamLearnAccessTokens_SnapshotProjectAccessToken)(nil), // 32: dota.CMsgSteamLearnAccessTokens.SnapshotProjectAccessToken + (*CMsgSteamLearnAccessTokens_InferenceAccessToken)(nil), // 33: dota.CMsgSteamLearnAccessTokens.InferenceAccessToken + (*CMsgSteamLearn_InferenceMetadata_Response_RowRange)(nil), // 34: dota.CMsgSteamLearn_InferenceMetadata_Response.RowRange + (*CMsgSteamLearn_InferenceMetadata_Response_Range)(nil), // 35: dota.CMsgSteamLearn_InferenceMetadata_Response.Range + (*CMsgSteamLearn_InferenceMetadata_Response_StdDev)(nil), // 36: dota.CMsgSteamLearn_InferenceMetadata_Response.StdDev + (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable)(nil), // 37: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable + (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable)(nil), // 38: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable + (*CMsgSteamLearn_InferenceMetadata_Response_KMeans)(nil), // 39: dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans + (*CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram)(nil), // 40: dota.CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram + (*CMsgSteamLearn_InferenceMetadata_Response_AppInfo)(nil), // 41: dota.CMsgSteamLearn_InferenceMetadata_Response.AppInfo + (*CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry)(nil), // 42: dota.CMsgSteamLearn_InferenceMetadata_Response.AppInfoEntry + (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry)(nil), // 43: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry + (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry)(nil), // 44: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry + (*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry)(nil), // 45: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry + (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry)(nil), // 46: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry + (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry)(nil), // 47: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapValuesEntry + (*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry)(nil), // 48: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapMappingsEntry + (*CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster)(nil), // 49: dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans.Cluster + (*CMsgSteamLearn_InferenceBackend_Response_Sequence)(nil), // 50: dota.CMsgSteamLearn_InferenceBackend_Response.Sequence + (*CMsgSteamLearn_InferenceBackend_Response_RegressionOutput)(nil), // 51: dota.CMsgSteamLearn_InferenceBackend_Response.RegressionOutput + (*CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput)(nil), // 52: dota.CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput + (*CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput)(nil), // 53: dota.CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput + (*CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput)(nil), // 54: dota.CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput + (*CMsgSteamLearn_InferenceBackend_Response_Output)(nil), // 55: dota.CMsgSteamLearn_InferenceBackend_Response.Output } var file_steammessages_steamlearn_steamworkssdk_proto_depIdxs = []int32{ 8, // 0: dota.CMsgSteamLearnDataSourceDescObject.elements:type_name -> dota.CMsgSteamLearnDataSourceDescElement @@ -4037,39 +4606,48 @@ var file_steammessages_steamlearn_steamworkssdk_proto_depIdxs = []int32{ 35, // 29: dota.CMsgSteamLearn_InferenceMetadata_Response.ranges:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.Range 36, // 30: dota.CMsgSteamLearn_InferenceMetadata_Response.std_devs:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.StdDev 37, // 31: dota.CMsgSteamLearn_InferenceMetadata_Response.compact_tables:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable - 38, // 32: dota.CMsgSteamLearn_InferenceMetadata_Response.kmeans:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans - 39, // 33: dota.CMsgSteamLearn_InferenceMetadata_Response.snapshot_histogram:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram - 48, // 34: dota.CMsgSteamLearn_InferenceBackend_Response.outputs:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.Output - 5, // 35: dota.CMsgSteamLearn_Inference_Response.inference_result:type_name -> dota.ESteamLearnInferenceResult - 29, // 36: dota.CMsgSteamLearn_Inference_Response.backend_response:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response - 41, // 37: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.map_values:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry - 42, // 38: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.map_mappings:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry - 43, // 39: dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans.clusters:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans.Cluster - 40, // 40: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry.value:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry - 40, // 41: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry.value:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry - 45, // 42: dota.CMsgSteamLearn_InferenceBackend_Response.Output.binary_crossentropy:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput - 47, // 43: dota.CMsgSteamLearn_InferenceBackend_Response.Output.categorical_crossentropy:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput - 46, // 44: dota.CMsgSteamLearn_InferenceBackend_Response.Output.multi_binary_crossentropy:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput - 44, // 45: dota.CMsgSteamLearn_InferenceBackend_Response.Output.regression:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.RegressionOutput - 14, // 46: dota.SteamLearn.RegisterDataSource:input_type -> dota.CMsgSteamLearn_RegisterDataSource_Request - 16, // 47: dota.SteamLearn.CacheData:input_type -> dota.CMsgSteamLearn_CacheData_Request - 18, // 48: dota.SteamLearn.SnapshotProject:input_type -> dota.CMsgSteamLearn_SnapshotProject_Request - 20, // 49: dota.SteamLearn.BatchOperation:input_type -> dota.CMsgSteamLearn_BatchOperation_Request - 23, // 50: dota.SteamLearn.GetAccessTokens:input_type -> dota.CMsgSteamLearn_GetAccessTokens_Request - 25, // 51: dota.SteamLearn.Inference:input_type -> dota.CMsgSteamLearn_Inference_Request - 26, // 52: dota.SteamLearn.InferenceMetadata:input_type -> dota.CMsgSteamLearn_InferenceMetadata_Request - 15, // 53: dota.SteamLearn.RegisterDataSource:output_type -> dota.CMsgSteamLearn_RegisterDataSource_Response - 17, // 54: dota.SteamLearn.CacheData:output_type -> dota.CMsgSteamLearn_CacheData_Response - 19, // 55: dota.SteamLearn.SnapshotProject:output_type -> dota.CMsgSteamLearn_SnapshotProject_Response - 21, // 56: dota.SteamLearn.BatchOperation:output_type -> dota.CMsgSteamLearn_BatchOperation_Response - 24, // 57: dota.SteamLearn.GetAccessTokens:output_type -> dota.CMsgSteamLearn_GetAccessTokens_Response - 30, // 58: dota.SteamLearn.Inference:output_type -> dota.CMsgSteamLearn_Inference_Response - 28, // 59: dota.SteamLearn.InferenceMetadata:output_type -> dota.CMsgSteamLearn_InferenceMetadata_Response - 53, // [53:60] is the sub-list for method output_type - 46, // [46:53] is the sub-list for method input_type - 46, // [46:46] is the sub-list for extension type_name - 46, // [46:46] is the sub-list for extension extendee - 0, // [0:46] is the sub-list for field type_name + 38, // 32: dota.CMsgSteamLearn_InferenceMetadata_Response.sequence_tables:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable + 39, // 33: dota.CMsgSteamLearn_InferenceMetadata_Response.kmeans:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans + 42, // 34: dota.CMsgSteamLearn_InferenceMetadata_Response.app_info:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.AppInfoEntry + 40, // 35: dota.CMsgSteamLearn_InferenceMetadata_Response.snapshot_histogram:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram + 55, // 36: dota.CMsgSteamLearn_InferenceBackend_Response.outputs:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.Output + 5, // 37: dota.CMsgSteamLearn_Inference_Response.inference_result:type_name -> dota.ESteamLearnInferenceResult + 29, // 38: dota.CMsgSteamLearn_Inference_Response.backend_response:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response + 44, // 39: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.map_values:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry + 45, // 40: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.map_mappings:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry + 47, // 41: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.map_values:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapValuesEntry + 48, // 42: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.map_mappings:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapMappingsEntry + 49, // 43: dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans.clusters:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.KMeans.Cluster + 41, // 44: dota.CMsgSteamLearn_InferenceMetadata_Response.AppInfoEntry.value:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.AppInfo + 43, // 45: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry.value:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry + 43, // 46: dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry.value:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry + 46, // 47: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapValuesEntry.value:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry + 46, // 48: dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapMappingsEntry.value:type_name -> dota.CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry + 50, // 49: dota.CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput.value_sequence:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.Sequence + 50, // 50: dota.CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput.value_sequence:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.Sequence + 52, // 51: dota.CMsgSteamLearn_InferenceBackend_Response.Output.binary_crossentropy:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput + 54, // 52: dota.CMsgSteamLearn_InferenceBackend_Response.Output.categorical_crossentropy:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput + 53, // 53: dota.CMsgSteamLearn_InferenceBackend_Response.Output.multi_binary_crossentropy:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput + 51, // 54: dota.CMsgSteamLearn_InferenceBackend_Response.Output.regression:type_name -> dota.CMsgSteamLearn_InferenceBackend_Response.RegressionOutput + 14, // 55: dota.SteamLearn.RegisterDataSource:input_type -> dota.CMsgSteamLearn_RegisterDataSource_Request + 16, // 56: dota.SteamLearn.CacheData:input_type -> dota.CMsgSteamLearn_CacheData_Request + 18, // 57: dota.SteamLearn.SnapshotProject:input_type -> dota.CMsgSteamLearn_SnapshotProject_Request + 20, // 58: dota.SteamLearn.BatchOperation:input_type -> dota.CMsgSteamLearn_BatchOperation_Request + 23, // 59: dota.SteamLearn.GetAccessTokens:input_type -> dota.CMsgSteamLearn_GetAccessTokens_Request + 25, // 60: dota.SteamLearn.Inference:input_type -> dota.CMsgSteamLearn_Inference_Request + 26, // 61: dota.SteamLearn.InferenceMetadata:input_type -> dota.CMsgSteamLearn_InferenceMetadata_Request + 15, // 62: dota.SteamLearn.RegisterDataSource:output_type -> dota.CMsgSteamLearn_RegisterDataSource_Response + 17, // 63: dota.SteamLearn.CacheData:output_type -> dota.CMsgSteamLearn_CacheData_Response + 19, // 64: dota.SteamLearn.SnapshotProject:output_type -> dota.CMsgSteamLearn_SnapshotProject_Response + 21, // 65: dota.SteamLearn.BatchOperation:output_type -> dota.CMsgSteamLearn_BatchOperation_Response + 24, // 66: dota.SteamLearn.GetAccessTokens:output_type -> dota.CMsgSteamLearn_GetAccessTokens_Response + 30, // 67: dota.SteamLearn.Inference:output_type -> dota.CMsgSteamLearn_Inference_Response + 28, // 68: dota.SteamLearn.InferenceMetadata:output_type -> dota.CMsgSteamLearn_InferenceMetadata_Response + 62, // [62:69] is the sub-list for method output_type + 55, // [55:62] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 55, // [55:55] is the sub-list for extension extendee + 0, // [0:55] is the sub-list for field type_name } func init() { file_steammessages_steamlearn_steamworkssdk_proto_init() } @@ -4452,7 +5030,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_KMeans); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable); i { case 0: return &v.state case 1: @@ -4464,7 +5042,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_KMeans); i { case 0: return &v.state case 1: @@ -4476,7 +5054,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_SnapshotHistogram); i { case 0: return &v.state case 1: @@ -4488,7 +5066,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_AppInfo); i { case 0: return &v.state case 1: @@ -4500,7 +5078,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_AppInfoEntry); i { case 0: return &v.state case 1: @@ -4512,7 +5090,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_Entry); i { case 0: return &v.state case 1: @@ -4524,7 +5102,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_RegressionOutput); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapValuesEntry); i { case 0: return &v.state case 1: @@ -4536,7 +5114,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_CompactTable_MapMappingsEntry); i { case 0: return &v.state case 1: @@ -4548,7 +5126,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_Entry); i { case 0: return &v.state case 1: @@ -4560,7 +5138,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput); i { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapValuesEntry); i { case 0: return &v.state case 1: @@ -4572,6 +5150,90 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_SequenceTable_MapMappingsEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamLearn_InferenceMetadata_Response_KMeans_Cluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_Sequence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_RegressionOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_BinaryCrossEntropyOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_MutliBinaryCrossEntropyOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_CategoricalCrossEntropyOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgSteamLearn_InferenceBackend_Response_Output); i { case 0: return &v.state @@ -4584,7 +5246,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { } } } - file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[41].OneofWrappers = []interface{}{ + file_steammessages_steamlearn_steamworkssdk_proto_msgTypes[48].OneofWrappers = []interface{}{ (*CMsgSteamLearn_InferenceBackend_Response_Output_BinaryCrossentropy)(nil), (*CMsgSteamLearn_InferenceBackend_Response_Output_CategoricalCrossentropy)(nil), (*CMsgSteamLearn_InferenceBackend_Response_Output_MultiBinaryCrossentropy)(nil), @@ -4596,7 +5258,7 @@ func file_steammessages_steamlearn_steamworkssdk_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_steammessages_steamlearn_steamworkssdk_proto_rawDesc, NumEnums: 7, - NumMessages: 42, + NumMessages: 49, NumExtensions: 0, NumServices: 1, }, diff --git a/dota/steammessages_steamlearn.steamworkssdk.proto b/dota/steammessages_steamlearn.steamworkssdk.proto index ebabd854..50da6417 100644 --- a/dota/steammessages_steamlearn.steamworkssdk.proto +++ b/dota/steammessages_steamlearn.steamworkssdk.proto @@ -264,6 +264,29 @@ message CMsgSteamLearn_InferenceMetadata_Response { repeated CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry map_mappings = 3; } + message SequenceTable { + message Entry { + repeated uint32 values = 1; + optional uint32 crc = 2; + optional uint32 count = 3; + } + + message MapValuesEntry { + optional uint32 key = 1; + optional CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; + } + + message MapMappingsEntry { + optional string key = 1; + optional CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; + } + + optional string name = 1; + repeated CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapValuesEntry map_values = 2; + repeated CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapMappingsEntry map_mappings = 3; + optional uint64 total_count = 4; + } + message KMeans { message Cluster { optional float x = 1; @@ -285,16 +308,37 @@ message CMsgSteamLearn_InferenceMetadata_Response { repeated uint32 bucket_counts = 4; } + message AppInfo { + optional string country_allow = 1; + optional string country_deny = 2; + optional bool platform_win = 3; + optional bool platform_mac = 4; + optional bool platform_linux = 5; + optional bool adult_violence = 6; + optional bool adult_sex = 7; + } + + message AppInfoEntry { + optional uint32 key = 1; + optional CMsgSteamLearn_InferenceMetadata_Response.AppInfo value = 2; + } + optional ESteamLearnInferenceMetadataResult inference_metadata_result = 1; optional CMsgSteamLearn_InferenceMetadata_Response.RowRange row_range = 2; repeated CMsgSteamLearn_InferenceMetadata_Response.Range ranges = 3; repeated CMsgSteamLearn_InferenceMetadata_Response.StdDev std_devs = 4; repeated CMsgSteamLearn_InferenceMetadata_Response.CompactTable compact_tables = 5; + repeated CMsgSteamLearn_InferenceMetadata_Response.SequenceTable sequence_tables = 9; repeated CMsgSteamLearn_InferenceMetadata_Response.KMeans kmeans = 6; + repeated CMsgSteamLearn_InferenceMetadata_Response.AppInfoEntry app_info = 8; optional CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram snapshot_histogram = 7; } message CMsgSteamLearn_InferenceBackend_Response { + message Sequence { + repeated float value = 1; + } + message RegressionOutput { optional float value = 1; } @@ -306,11 +350,13 @@ message CMsgSteamLearn_InferenceBackend_Response { message MutliBinaryCrossEntropyOutput { repeated float weight = 1; repeated float value = 2; + repeated CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; } message CategoricalCrossEntropyOutput { repeated float weight = 1; repeated float value = 2; + repeated CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; } message Output { diff --git a/dota/steammessages_unified_base.steamworkssdk.pb.go b/dota/steammessages_unified_base.steamworkssdk.pb.go index ba874382..94c182d3 100644 --- a/dota/steammessages_unified_base.steamworkssdk.pb.go +++ b/dota/steammessages_unified_base.steamworkssdk.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steammessages_unified_base.steamworkssdk.proto package dota diff --git a/dota/steamnetworkingsockets_messages.pb.go b/dota/steamnetworkingsockets_messages.pb.go index 93bbfce3..9acb6223 100644 --- a/dota/steamnetworkingsockets_messages.pb.go +++ b/dota/steamnetworkingsockets_messages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steamnetworkingsockets_messages.proto package dota diff --git a/dota/steamnetworkingsockets_messages_certs.pb.go b/dota/steamnetworkingsockets_messages_certs.pb.go index 4bfd0e27..ce695b44 100644 --- a/dota/steamnetworkingsockets_messages_certs.pb.go +++ b/dota/steamnetworkingsockets_messages_certs.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steamnetworkingsockets_messages_certs.proto package dota diff --git a/dota/steamnetworkingsockets_messages_udp.pb.go b/dota/steamnetworkingsockets_messages_udp.pb.go index 3dcf285d..ab171a44 100644 --- a/dota/steamnetworkingsockets_messages_udp.pb.go +++ b/dota/steamnetworkingsockets_messages_udp.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: steamnetworkingsockets_messages_udp.proto package dota diff --git a/dota/te.pb.go b/dota/te.pb.go index dd054931..3266c1bb 100644 --- a/dota/te.pb.go +++ b/dota/te.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: te.proto package dota @@ -1687,15 +1687,12 @@ type CMsgTEExplosion struct { unknownFields protoimpl.UnknownFields Origin *CMsgVector `protobuf:"bytes,1,opt,name=origin" json:"origin,omitempty"` - Framerate *uint32 `protobuf:"varint,2,opt,name=framerate" json:"framerate,omitempty"` Flags *uint32 `protobuf:"varint,3,opt,name=flags" json:"flags,omitempty"` Normal *CMsgVector `protobuf:"bytes,4,opt,name=normal" json:"normal,omitempty"` - Materialtype *uint32 `protobuf:"varint,5,opt,name=materialtype" json:"materialtype,omitempty"` Radius *uint32 `protobuf:"varint,6,opt,name=radius" json:"radius,omitempty"` Magnitude *uint32 `protobuf:"varint,7,opt,name=magnitude" json:"magnitude,omitempty"` - Scale *float32 `protobuf:"fixed32,8,opt,name=scale" json:"scale,omitempty"` AffectRagdolls *bool `protobuf:"varint,9,opt,name=affect_ragdolls,json=affectRagdolls" json:"affect_ragdolls,omitempty"` - EffectName *string `protobuf:"bytes,10,opt,name=effect_name,json=effectName" json:"effect_name,omitempty"` + SoundName *string `protobuf:"bytes,10,opt,name=sound_name,json=soundName" json:"sound_name,omitempty"` ExplosionType *uint32 `protobuf:"varint,11,opt,name=explosion_type,json=explosionType" json:"explosion_type,omitempty"` CreateDebris *bool `protobuf:"varint,12,opt,name=create_debris,json=createDebris" json:"create_debris,omitempty"` DebrisOrigin *CMsgVector `protobuf:"bytes,13,opt,name=debris_origin,json=debrisOrigin" json:"debris_origin,omitempty"` @@ -1741,13 +1738,6 @@ func (x *CMsgTEExplosion) GetOrigin() *CMsgVector { return nil } -func (x *CMsgTEExplosion) GetFramerate() uint32 { - if x != nil && x.Framerate != nil { - return *x.Framerate - } - return 0 -} - func (x *CMsgTEExplosion) GetFlags() uint32 { if x != nil && x.Flags != nil { return *x.Flags @@ -1762,13 +1752,6 @@ func (x *CMsgTEExplosion) GetNormal() *CMsgVector { return nil } -func (x *CMsgTEExplosion) GetMaterialtype() uint32 { - if x != nil && x.Materialtype != nil { - return *x.Materialtype - } - return 0 -} - func (x *CMsgTEExplosion) GetRadius() uint32 { if x != nil && x.Radius != nil { return *x.Radius @@ -1783,13 +1766,6 @@ func (x *CMsgTEExplosion) GetMagnitude() uint32 { return 0 } -func (x *CMsgTEExplosion) GetScale() float32 { - if x != nil && x.Scale != nil { - return *x.Scale - } - return 0 -} - func (x *CMsgTEExplosion) GetAffectRagdolls() bool { if x != nil && x.AffectRagdolls != nil { return *x.AffectRagdolls @@ -1797,9 +1773,9 @@ func (x *CMsgTEExplosion) GetAffectRagdolls() bool { return false } -func (x *CMsgTEExplosion) GetEffectName() string { - if x != nil && x.EffectName != nil { - return *x.EffectName +func (x *CMsgTEExplosion) GetSoundName() string { + if x != nil && x.SoundName != nil { + return *x.SoundName } return "" } @@ -2652,162 +2628,156 @@ var file_te_proto_rawDesc = []byte{ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x85, 0x04, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x45, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xab, 0x03, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x67, 0x64, 0x6f, - 0x6c, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x52, 0x61, 0x67, 0x64, 0x6f, 0x6c, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x66, 0x66, - 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, - 0x70, 0x6c, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x62, 0x72, - 0x69, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x65, 0x62, 0x72, 0x69, 0x73, 0x12, 0x35, 0x0a, 0x0d, 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, - 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x0c, 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2d, 0x0a, - 0x12, 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x70, - 0x72, 0x6f, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x07, 0x52, 0x11, 0x64, 0x65, 0x62, 0x72, 0x69, - 0x73, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x90, 0x01, 0x0a, - 0x0a, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x44, 0x75, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, - 0x2e, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x59, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x46, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x0c, 0x43, - 0x4d, 0x73, 0x67, 0x54, 0x45, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, - 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x03, 0x0a, 0x11, - 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, - 0x70, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, + 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, + 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x5f, 0x72, 0x61, 0x67, 0x64, 0x6f, 0x6c, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x52, 0x61, 0x67, 0x64, 0x6f, 0x6c, 0x6c, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x73, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x62, 0x72, 0x69, 0x73, 0x12, 0x35, 0x0a, 0x0d, + 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, 0x4f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, 0x5f, 0x73, 0x75, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x11, 0x64, 0x65, 0x62, 0x72, 0x69, 0x73, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x70, 0x72, + 0x6f, 0x70, 0x22, 0x90, 0x01, 0x0a, 0x0a, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x44, 0x75, 0x73, + 0x74, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x76, - 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x06, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x06, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3f, 0x0a, - 0x1b, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x6e, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x61, 0x6b, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x1a, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x6e, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x61, 0x6b, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x64, 0x6d, 0x67, 0x70, 0x6f, 0x73, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x64, 0x6d, 0x67, 0x70, 0x6f, 0x73, 0x12, 0x28, - 0x0a, 0x06, 0x64, 0x6d, 0x67, 0x64, 0x69, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x52, 0x06, 0x64, 0x6d, 0x67, 0x64, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6d, 0x67, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x6d, 0x67, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x6d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, + 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, + 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x4c, + 0x61, 0x72, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x02, + 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, + 0x22, 0x9e, 0x01, 0x0a, 0x0c, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x53, 0x70, 0x61, 0x72, 0x6b, + 0x73, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x12, 0x2e, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, - 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x22, 0x4d, 0x0a, 0x0b, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x53, 0x6d, 0x6f, 0x6b, 0x65, 0x12, - 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, - 0x7c, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, - 0x63, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xd4, 0x03, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x50, 0x68, 0x79, 0x73, + 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x28, 0x0a, - 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, + 0x28, 0x0a, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, + 0x65, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x3f, 0x0a, 0x1b, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x72, + 0x65, 0x61, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x6e, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x61, + 0x6b, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x6e, 0x6f, 0x74, 0x74, 0x6f, + 0x6d, 0x61, 0x6b, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x64, 0x6d, + 0x67, 0x70, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x64, 0x6d, + 0x67, 0x70, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x64, 0x6d, 0x67, 0x64, 0x69, 0x72, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x64, 0x6d, 0x67, 0x64, 0x69, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x6d, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x64, 0x6d, 0x67, 0x74, 0x79, 0x70, 0x65, 0x22, 0x6d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, + 0x54, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, 0x28, 0x0a, + 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2a, 0xbd, 0x04, - 0x0a, 0x0e, 0x45, 0x54, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x49, 0x64, 0x73, - 0x12, 0x18, 0x0a, 0x13, 0x54, 0x45, 0x5f, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x10, 0x90, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x54, 0x45, - 0x5f, 0x41, 0x72, 0x6d, 0x6f, 0x72, 0x52, 0x69, 0x63, 0x6f, 0x63, 0x68, 0x65, 0x74, 0x49, 0x64, - 0x10, 0x91, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x45, 0x5f, 0x42, 0x65, 0x61, 0x6d, 0x45, 0x6e, - 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x10, 0x92, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x54, - 0x45, 0x5f, 0x42, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x73, 0x49, 0x64, 0x10, 0x93, 0x03, 0x12, - 0x14, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x42, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x49, 0x64, 0x10, 0x94, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x45, 0x5f, 0x42, 0x65, 0x61, 0x6d, - 0x52, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x10, 0x95, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x45, 0x5f, - 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, 0x97, 0x03, 0x12, 0x11, 0x0a, - 0x0c, 0x54, 0x45, 0x5f, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x73, 0x49, 0x64, 0x10, 0x98, 0x03, - 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, - 0x69, 0x6c, 0x49, 0x64, 0x10, 0x99, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x45, 0x5f, 0x44, 0x65, - 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, 0x9a, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x57, - 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, 0x9b, 0x03, 0x12, 0x16, - 0x0a, 0x11, 0x54, 0x45, 0x5f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x53, 0x70, 0x6c, 0x61, 0x73, - 0x68, 0x49, 0x64, 0x10, 0x9c, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x45, 0x5f, 0x46, 0x69, 0x7a, - 0x7a, 0x49, 0x64, 0x10, 0x9d, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x45, 0x5f, 0x53, 0x68, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x64, 0x10, 0x9e, 0x03, - 0x12, 0x14, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x47, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x72, 0x69, 0x74, - 0x65, 0x49, 0x64, 0x10, 0x9f, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x45, 0x5f, 0x49, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x49, 0x64, 0x10, 0xa0, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x4d, - 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x49, 0x64, 0x10, 0xa1, 0x03, 0x12, - 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x49, 0x64, 0x10, 0xa2, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x45, 0x5f, 0x45, 0x78, 0x70, - 0x6c, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x10, 0xa3, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x54, - 0x45, 0x5f, 0x44, 0x75, 0x73, 0x74, 0x49, 0x64, 0x10, 0xa4, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, - 0x45, 0x5f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x10, - 0xa5, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x45, 0x5f, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x73, 0x49, - 0x64, 0x10, 0xa6, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x50, 0x68, 0x79, 0x73, 0x69, - 0x63, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x64, 0x10, 0xa7, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, - 0x45, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, - 0xa8, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, 0xa9, 0x03, 0x12, 0x0f, 0x0a, 0x0a, - 0x54, 0x45, 0x5f, 0x53, 0x6d, 0x6f, 0x6b, 0x65, 0x49, 0x64, 0x10, 0xaa, 0x03, 0x42, 0x25, 0x5a, - 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, - 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, - 0x64, 0x6f, 0x74, 0x61, + 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, + 0x54, 0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x61, 0x6c, + 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x06, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x06, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4d, 0x0a, 0x0b, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, + 0x53, 0x6d, 0x6f, 0x6b, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x7c, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x45, 0x57, + 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x2a, 0xbd, 0x04, 0x0a, 0x0e, 0x45, 0x54, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x45, 0x5f, 0x45, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x10, 0x90, 0x03, + 0x12, 0x17, 0x0a, 0x12, 0x54, 0x45, 0x5f, 0x41, 0x72, 0x6d, 0x6f, 0x72, 0x52, 0x69, 0x63, 0x6f, + 0x63, 0x68, 0x65, 0x74, 0x49, 0x64, 0x10, 0x91, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x45, 0x5f, + 0x42, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x10, 0x92, + 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x45, 0x5f, 0x42, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x73, + 0x49, 0x64, 0x10, 0x93, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x42, 0x65, 0x61, 0x6d, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x49, 0x64, 0x10, 0x94, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x54, + 0x45, 0x5f, 0x42, 0x65, 0x61, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x10, 0x95, 0x03, 0x12, + 0x12, 0x0a, 0x0d, 0x54, 0x45, 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, 0x64, + 0x10, 0x97, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x45, 0x5f, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, + 0x73, 0x49, 0x64, 0x10, 0x98, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x42, 0x75, 0x62, + 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x10, 0x99, 0x03, 0x12, 0x0f, 0x0a, + 0x0a, 0x54, 0x45, 0x5f, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, 0x9a, 0x03, 0x12, 0x14, + 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, + 0x64, 0x10, 0x9b, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x45, 0x5f, 0x45, 0x6e, 0x65, 0x72, 0x67, + 0x79, 0x53, 0x70, 0x6c, 0x61, 0x73, 0x68, 0x49, 0x64, 0x10, 0x9c, 0x03, 0x12, 0x0e, 0x0a, 0x09, + 0x54, 0x45, 0x5f, 0x46, 0x69, 0x7a, 0x7a, 0x49, 0x64, 0x10, 0x9d, 0x03, 0x12, 0x18, 0x0a, 0x13, + 0x54, 0x45, 0x5f, 0x53, 0x68, 0x61, 0x74, 0x74, 0x65, 0x72, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x49, 0x64, 0x10, 0x9e, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x54, 0x45, 0x5f, 0x47, 0x6c, 0x6f, + 0x77, 0x53, 0x70, 0x72, 0x69, 0x74, 0x65, 0x49, 0x64, 0x10, 0x9f, 0x03, 0x12, 0x10, 0x0a, 0x0b, + 0x54, 0x45, 0x5f, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x49, 0x64, 0x10, 0xa0, 0x03, 0x12, 0x15, + 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x4d, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x73, 0x68, + 0x49, 0x64, 0x10, 0xa1, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x42, 0x6c, 0x6f, 0x6f, + 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x10, 0xa2, 0x03, 0x12, 0x13, 0x0a, 0x0e, + 0x54, 0x45, 0x5f, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x10, 0xa3, + 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x45, 0x5f, 0x44, 0x75, 0x73, 0x74, 0x49, 0x64, 0x10, 0xa4, + 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x46, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x10, 0xa5, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x45, 0x5f, 0x53, + 0x70, 0x61, 0x72, 0x6b, 0x73, 0x49, 0x64, 0x10, 0xa6, 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, + 0x5f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x64, 0x10, 0xa7, + 0x03, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x45, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, + 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, 0xa8, 0x03, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x45, 0x5f, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x10, + 0xa9, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x45, 0x5f, 0x53, 0x6d, 0x6f, 0x6b, 0x65, 0x49, 0x64, + 0x10, 0xaa, 0x03, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, + 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( diff --git a/dota/te.proto b/dota/te.proto index 43cf705f..60ce81ac 100644 --- a/dota/te.proto +++ b/dota/te.proto @@ -192,15 +192,12 @@ message CMsgTEBloodStream { message CMsgTEExplosion { optional CMsgVector origin = 1; - optional uint32 framerate = 2; optional uint32 flags = 3; optional CMsgVector normal = 4; - optional uint32 materialtype = 5; optional uint32 radius = 6; optional uint32 magnitude = 7; - optional float scale = 8; optional bool affect_ragdolls = 9; - optional string effect_name = 10; + optional string sound_name = 10; optional uint32 explosion_type = 11; optional bool create_debris = 12; optional CMsgVector debris_origin = 13; diff --git a/dota/uifontfile_format.pb.go b/dota/uifontfile_format.pb.go index e52aaa0b..af48caf5 100644 --- a/dota/uifontfile_format.pb.go +++ b/dota/uifontfile_format.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: uifontfile_format.proto package dota diff --git a/dota/usercmd.pb.go b/dota/usercmd.pb.go index 7080263b..00ecca0e 100644 --- a/dota/usercmd.pb.go +++ b/dota/usercmd.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: usercmd.proto package dota @@ -93,6 +93,8 @@ type CSubtickMoveStep struct { When *float32 `protobuf:"fixed32,3,opt,name=when" json:"when,omitempty"` AnalogForwardDelta *float32 `protobuf:"fixed32,4,opt,name=analog_forward_delta,json=analogForwardDelta" json:"analog_forward_delta,omitempty"` AnalogLeftDelta *float32 `protobuf:"fixed32,5,opt,name=analog_left_delta,json=analogLeftDelta" json:"analog_left_delta,omitempty"` + AnalogPitchDelta *float32 `protobuf:"fixed32,6,opt,name=analog_pitch_delta,json=analogPitchDelta" json:"analog_pitch_delta,omitempty"` + AnalogYawDelta *float32 `protobuf:"fixed32,7,opt,name=analog_yaw_delta,json=analogYawDelta" json:"analog_yaw_delta,omitempty"` } func (x *CSubtickMoveStep) Reset() { @@ -162,6 +164,20 @@ func (x *CSubtickMoveStep) GetAnalogLeftDelta() float32 { return 0 } +func (x *CSubtickMoveStep) GetAnalogPitchDelta() float32 { + if x != nil && x.AnalogPitchDelta != nil { + return *x.AnalogPitchDelta + } + return 0 +} + +func (x *CSubtickMoveStep) GetAnalogYawDelta() float32 { + if x != nil && x.AnalogYawDelta != nil { + return *x.AnalogYawDelta + } + return 0 +} + type CBaseUserCmdPB struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -397,7 +413,7 @@ var file_usercmd_proto_rawDesc = []byte{ 0x74, 0x61, 0x74, 0x65, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x32, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x33, 0x22, 0xb6, 0x01, + 0x0c, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x33, 0x22, 0x8e, 0x02, 0x0a, 0x10, 0x43, 0x53, 0x75, 0x62, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, @@ -409,55 +425,61 @@ var file_usercmd_proto_rawDesc = []byte{ 0x72, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x66, - 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x9d, 0x05, 0x0a, 0x0e, 0x43, 0x42, 0x61, 0x73, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x50, 0x42, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x65, 0x67, - 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x35, - 0x0a, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x62, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x49, 0x6e, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x42, 0x52, 0x09, 0x62, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x73, 0x50, 0x62, 0x12, 0x30, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x0a, 0x76, 0x69, 0x65, - 0x77, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x66, - 0x74, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x65, 0x66, - 0x74, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x6d, 0x6f, 0x76, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x75, 0x70, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x69, 0x6d, 0x70, 0x75, 0x6c, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x69, 0x6d, 0x70, 0x75, 0x6c, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, - 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, - 0x6f, 0x75, 0x73, 0x65, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, - 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x79, - 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x61, - 0x77, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3b, - 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x18, - 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x75, - 0x62, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0c, 0x73, - 0x75, 0x62, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, - 0x6f, 0x76, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, - 0x6f, 0x76, 0x65, 0x43, 0x72, 0x63, 0x12, 0x41, 0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x6e, 0x67, - 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6d, 0x64, - 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6d, - 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x43, - 0x6d, 0x64, 0x42, 0x61, 0x73, 0x65, 0x50, 0x42, 0x12, 0x28, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x42, - 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x50, 0x42, 0x52, 0x04, 0x62, 0x61, - 0x73, 0x65, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, - 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, + 0x5f, 0x70, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x10, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x50, 0x69, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x6c, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x79, + 0x61, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, + 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x59, 0x61, 0x77, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x9d, + 0x05, 0x0a, 0x0e, 0x43, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x50, + 0x42, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x13, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x73, 0x5f, 0x70, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x49, 0x6e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x50, 0x42, 0x52, 0x09, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x50, 0x62, 0x12, 0x30, 0x0a, + 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, + 0x67, 0x6c, 0x65, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x6d, 0x6f, 0x76, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x75, 0x70, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x75, + 0x70, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x70, 0x75, 0x6c, 0x73, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x70, 0x75, 0x6c, 0x73, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x65, + 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x53, 0x65, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x78, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x78, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x77, 0x6e, + 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x61, 0x77, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x53, 0x75, 0x62, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x6f, 0x76, + 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x74, 0x69, 0x63, 0x6b, 0x4d, 0x6f, + 0x76, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x72, 0x63, 0x12, 0x41, + 0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6d, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x3a, + 0x0a, 0x0e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x42, 0x61, 0x73, 0x65, 0x50, 0x42, + 0x12, 0x28, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, + 0x6d, 0x64, 0x50, 0x42, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, + 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, + 0x61, } var ( diff --git a/dota/usercmd.proto b/dota/usercmd.proto index 8aaba9eb..3f4c9228 100644 --- a/dota/usercmd.proto +++ b/dota/usercmd.proto @@ -17,6 +17,8 @@ message CSubtickMoveStep { optional float when = 3; optional float analog_forward_delta = 4; optional float analog_left_delta = 5; + optional float analog_pitch_delta = 6; + optional float analog_yaw_delta = 7; } message CBaseUserCmdPB { diff --git a/dota/usermessages.pb.go b/dota/usermessages.pb.go index 9c374e31..fe63925e 100644 --- a/dota/usermessages.pb.go +++ b/dota/usermessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: usermessages.proto package dota @@ -59,7 +59,6 @@ const ( EBaseUserMessages_UM_AnimGraphUpdate EBaseUserMessages = 149 EBaseUserMessages_UM_HapticsManagerPulse EBaseUserMessages = 150 EBaseUserMessages_UM_HapticsManagerEffect EBaseUserMessages = 151 - EBaseUserMessages_UM_CommandQueueState EBaseUserMessages = 152 EBaseUserMessages_UM_UpdateCssClasses EBaseUserMessages = 153 EBaseUserMessages_UM_ServerFrameTime EBaseUserMessages = 154 EBaseUserMessages_UM_LagCompensationError EBaseUserMessages = 155 @@ -116,7 +115,6 @@ var ( 149: "UM_AnimGraphUpdate", 150: "UM_HapticsManagerPulse", 151: "UM_HapticsManagerEffect", - 152: "UM_CommandQueueState", 153: "UM_UpdateCssClasses", 154: "UM_ServerFrameTime", 155: "UM_LagCompensationError", @@ -170,7 +168,6 @@ var ( "UM_AnimGraphUpdate": 149, "UM_HapticsManagerPulse": 150, "UM_HapticsManagerEffect": 151, - "UM_CommandQueueState": 152, "UM_UpdateCssClasses": 153, "UM_ServerFrameTime": 154, "UM_LagCompensationError": 155, @@ -397,6 +394,10 @@ const ( PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM PARTICLE_MESSAGE = 32 PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM PARTICLE_MESSAGE = 33 PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_VDATA PARTICLE_MESSAGE = 34 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_MATERIAL_OVERRIDE PARTICLE_MESSAGE = 35 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_ADD_FAN PARTICLE_MESSAGE = 36 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE_FAN PARTICLE_MESSAGE = 37 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_CLUSTER_GROWTH PARTICLE_MESSAGE = 38 ) // Enum value maps for PARTICLE_MESSAGE. @@ -437,6 +438,10 @@ var ( 32: "GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM", 33: "GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM", 34: "GAME_PARTICLE_MANAGER_EVENT_SET_VDATA", + 35: "GAME_PARTICLE_MANAGER_EVENT_SET_MATERIAL_OVERRIDE", + 36: "GAME_PARTICLE_MANAGER_EVENT_ADD_FAN", + 37: "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FAN", + 38: "GAME_PARTICLE_MANAGER_EVENT_SET_CLUSTER_GROWTH", } PARTICLE_MESSAGE_value = map[string]int32{ "GAME_PARTICLE_MANAGER_EVENT_CREATE": 0, @@ -474,6 +479,10 @@ var ( "GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM": 32, "GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM": 33, "GAME_PARTICLE_MANAGER_EVENT_SET_VDATA": 34, + "GAME_PARTICLE_MANAGER_EVENT_SET_MATERIAL_OVERRIDE": 35, + "GAME_PARTICLE_MANAGER_EVENT_ADD_FAN": 36, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FAN": 37, + "GAME_PARTICLE_MANAGER_EVENT_SET_CLUSTER_GROWTH": 38, } ) @@ -2872,6 +2881,10 @@ type CUserMsg_ParticleManager struct { CreatePhysicsSim *CUserMsg_ParticleManager_CreatePhysicsSim `protobuf:"bytes,35,opt,name=create_physics_sim,json=createPhysicsSim" json:"create_physics_sim,omitempty"` DestroyPhysicsSim *CUserMsg_ParticleManager_DestroyPhysicsSim `protobuf:"bytes,36,opt,name=destroy_physics_sim,json=destroyPhysicsSim" json:"destroy_physics_sim,omitempty"` SetVdata *CUserMsg_ParticleManager_SetVData `protobuf:"bytes,37,opt,name=set_vdata,json=setVdata" json:"set_vdata,omitempty"` + SetMaterialOverride *CUserMsg_ParticleManager_SetMaterialOverride `protobuf:"bytes,38,opt,name=set_material_override,json=setMaterialOverride" json:"set_material_override,omitempty"` + AddFan *CUserMsg_ParticleManager_AddFan `protobuf:"bytes,39,opt,name=add_fan,json=addFan" json:"add_fan,omitempty"` + UpdateFan *CUserMsg_ParticleManager_UpdateFan `protobuf:"bytes,40,opt,name=update_fan,json=updateFan" json:"update_fan,omitempty"` + SetParticleClusterGrowth *CUserMsg_ParticleManager_SetParticleClusterGrowth `protobuf:"bytes,41,opt,name=set_particle_cluster_growth,json=setParticleClusterGrowth" json:"set_particle_cluster_growth,omitempty"` } func (x *CUserMsg_ParticleManager) Reset() { @@ -3158,6 +3171,34 @@ func (x *CUserMsg_ParticleManager) GetSetVdata() *CUserMsg_ParticleManager_SetVD return nil } +func (x *CUserMsg_ParticleManager) GetSetMaterialOverride() *CUserMsg_ParticleManager_SetMaterialOverride { + if x != nil { + return x.SetMaterialOverride + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetAddFan() *CUserMsg_ParticleManager_AddFan { + if x != nil { + return x.AddFan + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateFan() *CUserMsg_ParticleManager_UpdateFan { + if x != nil { + return x.UpdateFan + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetParticleClusterGrowth() *CUserMsg_ParticleManager_SetParticleClusterGrowth { + if x != nil { + return x.SetParticleClusterGrowth + } + return nil +} + type CUserMsg_HudError struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4413,6 +4454,7 @@ type CUserMessage_NotifyResponseFound struct { FloatCriteriaValues []float32 `protobuf:"fixed32,9,rep,name=float_criteria_values,json=floatCriteriaValues" json:"float_criteria_values,omitempty"` SymbolCriteriaNames []uint32 `protobuf:"varint,10,rep,name=symbol_criteria_names,json=symbolCriteriaNames" json:"symbol_criteria_names,omitempty"` SymbolCriteriaValues []uint32 `protobuf:"varint,11,rep,name=symbol_criteria_values,json=symbolCriteriaValues" json:"symbol_criteria_values,omitempty"` + SpeakResult *int32 `protobuf:"varint,12,opt,name=speak_result,json=speakResult" json:"speak_result,omitempty"` } func (x *CUserMessage_NotifyResponseFound) Reset() { @@ -4524,6 +4566,13 @@ func (x *CUserMessage_NotifyResponseFound) GetSymbolCriteriaValues() []uint32 { return nil } +func (x *CUserMessage_NotifyResponseFound) GetSpeakResult() int32 { + if x != nil && x.SpeakResult != nil { + return *x.SpeakResult + } + return 0 +} + type CUserMessage_PlayResponseConditional struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4534,6 +4583,7 @@ type CUserMessage_PlayResponseConditional struct { Response *string `protobuf:"bytes,3,opt,name=response" json:"response,omitempty"` EntOrigin *CMsgVector `protobuf:"bytes,4,opt,name=ent_origin,json=entOrigin" json:"ent_origin,omitempty"` PreDelay *float32 `protobuf:"fixed32,5,opt,name=pre_delay,json=preDelay" json:"pre_delay,omitempty"` + MixPriority *int32 `protobuf:"varint,6,opt,name=mix_priority,json=mixPriority" json:"mix_priority,omitempty"` } func (x *CUserMessage_PlayResponseConditional) Reset() { @@ -4603,6 +4653,13 @@ func (x *CUserMessage_PlayResponseConditional) GetPreDelay() float32 { return 0 } +func (x *CUserMessage_PlayResponseConditional) GetMixPriority() int32 { + if x != nil && x.MixPriority != nil { + return *x.MixPriority + } + return 0 +} + type CUserMessageCameraTransition_Transition_DataDriven struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6654,6 +6711,346 @@ func (x *CUserMsg_ParticleManager_SetVData) GetVdataName() string { return "" } +type CUserMsg_ParticleManager_SetMaterialOverride struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaterialName *string `protobuf:"bytes,1,opt,name=material_name,json=materialName" json:"material_name,omitempty"` + IncludeChildren *bool `protobuf:"varint,2,opt,name=include_children,json=includeChildren" json:"include_children,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetMaterialOverride) Reset() { + *x = CUserMsg_ParticleManager_SetMaterialOverride{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetMaterialOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetMaterialOverride) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetMaterialOverride) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[91] + 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 CUserMsg_ParticleManager_SetMaterialOverride.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetMaterialOverride) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{36, 34} +} + +func (x *CUserMsg_ParticleManager_SetMaterialOverride) GetMaterialName() string { + if x != nil && x.MaterialName != nil { + return *x.MaterialName + } + return "" +} + +func (x *CUserMsg_ParticleManager_SetMaterialOverride) GetIncludeChildren() bool { + if x != nil && x.IncludeChildren != nil { + return *x.IncludeChildren + } + return false +} + +type CUserMsg_ParticleManager_AddFan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Active *bool `protobuf:"varint,1,opt,name=active" json:"active,omitempty"` + BoundsMins *CMsgVector `protobuf:"bytes,2,opt,name=bounds_mins,json=boundsMins" json:"bounds_mins,omitempty"` + BoundsMaxs *CMsgVector `protobuf:"bytes,3,opt,name=bounds_maxs,json=boundsMaxs" json:"bounds_maxs,omitempty"` + FanOrigin *CMsgVector `protobuf:"bytes,4,opt,name=fan_origin,json=fanOrigin" json:"fan_origin,omitempty"` + FanOriginOffset *CMsgVector `protobuf:"bytes,5,opt,name=fan_origin_offset,json=fanOriginOffset" json:"fan_origin_offset,omitempty"` + FanDirection *CMsgVector `protobuf:"bytes,6,opt,name=fan_direction,json=fanDirection" json:"fan_direction,omitempty"` + Force *float32 `protobuf:"fixed32,7,opt,name=force" json:"force,omitempty"` + FanForceCurve *string `protobuf:"bytes,8,opt,name=fan_force_curve,json=fanForceCurve" json:"fan_force_curve,omitempty"` + Falloff *bool `protobuf:"varint,9,opt,name=falloff" json:"falloff,omitempty"` + PullTowardsPoint *bool `protobuf:"varint,10,opt,name=pull_towards_point,json=pullTowardsPoint" json:"pull_towards_point,omitempty"` + CurveMinDist *float32 `protobuf:"fixed32,11,opt,name=curve_min_dist,json=curveMinDist" json:"curve_min_dist,omitempty"` + CurveMaxDist *float32 `protobuf:"fixed32,12,opt,name=curve_max_dist,json=curveMaxDist" json:"curve_max_dist,omitempty"` +} + +func (x *CUserMsg_ParticleManager_AddFan) Reset() { + *x = CUserMsg_ParticleManager_AddFan{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_AddFan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_AddFan) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_AddFan) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[92] + 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 CUserMsg_ParticleManager_AddFan.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_AddFan) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{36, 35} +} + +func (x *CUserMsg_ParticleManager_AddFan) GetActive() bool { + if x != nil && x.Active != nil { + return *x.Active + } + return false +} + +func (x *CUserMsg_ParticleManager_AddFan) GetBoundsMins() *CMsgVector { + if x != nil { + return x.BoundsMins + } + return nil +} + +func (x *CUserMsg_ParticleManager_AddFan) GetBoundsMaxs() *CMsgVector { + if x != nil { + return x.BoundsMaxs + } + return nil +} + +func (x *CUserMsg_ParticleManager_AddFan) GetFanOrigin() *CMsgVector { + if x != nil { + return x.FanOrigin + } + return nil +} + +func (x *CUserMsg_ParticleManager_AddFan) GetFanOriginOffset() *CMsgVector { + if x != nil { + return x.FanOriginOffset + } + return nil +} + +func (x *CUserMsg_ParticleManager_AddFan) GetFanDirection() *CMsgVector { + if x != nil { + return x.FanDirection + } + return nil +} + +func (x *CUserMsg_ParticleManager_AddFan) GetForce() float32 { + if x != nil && x.Force != nil { + return *x.Force + } + return 0 +} + +func (x *CUserMsg_ParticleManager_AddFan) GetFanForceCurve() string { + if x != nil && x.FanForceCurve != nil { + return *x.FanForceCurve + } + return "" +} + +func (x *CUserMsg_ParticleManager_AddFan) GetFalloff() bool { + if x != nil && x.Falloff != nil { + return *x.Falloff + } + return false +} + +func (x *CUserMsg_ParticleManager_AddFan) GetPullTowardsPoint() bool { + if x != nil && x.PullTowardsPoint != nil { + return *x.PullTowardsPoint + } + return false +} + +func (x *CUserMsg_ParticleManager_AddFan) GetCurveMinDist() float32 { + if x != nil && x.CurveMinDist != nil { + return *x.CurveMinDist + } + return 0 +} + +func (x *CUserMsg_ParticleManager_AddFan) GetCurveMaxDist() float32 { + if x != nil && x.CurveMaxDist != nil { + return *x.CurveMaxDist + } + return 0 +} + +type CUserMsg_ParticleManager_UpdateFan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Active *bool `protobuf:"varint,1,opt,name=active" json:"active,omitempty"` + FanOrigin *CMsgVector `protobuf:"bytes,2,opt,name=fan_origin,json=fanOrigin" json:"fan_origin,omitempty"` + FanOriginOffset *CMsgVector `protobuf:"bytes,3,opt,name=fan_origin_offset,json=fanOriginOffset" json:"fan_origin_offset,omitempty"` + FanDirection *CMsgVector `protobuf:"bytes,4,opt,name=fan_direction,json=fanDirection" json:"fan_direction,omitempty"` + FanRampRatio *float32 `protobuf:"fixed32,7,opt,name=fan_ramp_ratio,json=fanRampRatio" json:"fan_ramp_ratio,omitempty"` + BoundsMins *CMsgVector `protobuf:"bytes,5,opt,name=bounds_mins,json=boundsMins" json:"bounds_mins,omitempty"` + BoundsMaxs *CMsgVector `protobuf:"bytes,6,opt,name=bounds_maxs,json=boundsMaxs" json:"bounds_maxs,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateFan) Reset() { + *x = CUserMsg_ParticleManager_UpdateFan{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateFan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateFan) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateFan) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[93] + 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 CUserMsg_ParticleManager_UpdateFan.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateFan) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{36, 36} +} + +func (x *CUserMsg_ParticleManager_UpdateFan) GetActive() bool { + if x != nil && x.Active != nil { + return *x.Active + } + return false +} + +func (x *CUserMsg_ParticleManager_UpdateFan) GetFanOrigin() *CMsgVector { + if x != nil { + return x.FanOrigin + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateFan) GetFanOriginOffset() *CMsgVector { + if x != nil { + return x.FanOriginOffset + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateFan) GetFanDirection() *CMsgVector { + if x != nil { + return x.FanDirection + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateFan) GetFanRampRatio() float32 { + if x != nil && x.FanRampRatio != nil { + return *x.FanRampRatio + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateFan) GetBoundsMins() *CMsgVector { + if x != nil { + return x.BoundsMins + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateFan) GetBoundsMaxs() *CMsgVector { + if x != nil { + return x.BoundsMaxs + } + return nil +} + +type CUserMsg_ParticleManager_SetParticleClusterGrowth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Duration *float32 `protobuf:"fixed32,1,opt,name=duration" json:"duration,omitempty"` + Origin *CMsgVector `protobuf:"bytes,2,opt,name=origin" json:"origin,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetParticleClusterGrowth) Reset() { + *x = CUserMsg_ParticleManager_SetParticleClusterGrowth{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetParticleClusterGrowth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetParticleClusterGrowth) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetParticleClusterGrowth) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[94] + 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 CUserMsg_ParticleManager_SetParticleClusterGrowth.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetParticleClusterGrowth) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{36, 37} +} + +func (x *CUserMsg_ParticleManager_SetParticleClusterGrowth) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CUserMsg_ParticleManager_SetParticleClusterGrowth) GetOrigin() *CMsgVector { + if x != nil { + return x.Origin + } + return nil +} + type CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6666,7 +7063,7 @@ type CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue str func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue) Reset() { *x = CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[91] + mi := &file_usermessages_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6679,7 +7076,7 @@ func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue func (*CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue) ProtoMessage() {} func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[91] + mi := &file_usermessages_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6721,7 +7118,7 @@ type CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue st func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue) Reset() { *x = CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[92] + mi := &file_usermessages_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6734,7 +7131,7 @@ func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValu func (*CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue) ProtoMessage() {} func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[92] + mi := &file_usermessages_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6777,7 +7174,7 @@ type CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue) Reset() { *x = CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[93] + mi := &file_usermessages_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6790,7 +7187,7 @@ func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextV func (*CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue) ProtoMessage() {} func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[93] + mi := &file_usermessages_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6839,7 +7236,7 @@ type CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext struct func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext) Reset() { *x = CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[94] + mi := &file_usermessages_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6852,7 +7249,7 @@ func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext) S func (*CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext) ProtoMessage() {} func (x *CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[94] + mi := &file_usermessages_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6896,7 +7293,7 @@ type CUserMessage_UtilMsg_Response_ItemDetail struct { func (x *CUserMessage_UtilMsg_Response_ItemDetail) Reset() { *x = CUserMessage_UtilMsg_Response_ItemDetail{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[95] + mi := &file_usermessages_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6909,7 +7306,7 @@ func (x *CUserMessage_UtilMsg_Response_ItemDetail) String() string { func (*CUserMessage_UtilMsg_Response_ItemDetail) ProtoMessage() {} func (x *CUserMessage_UtilMsg_Response_ItemDetail) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[95] + mi := &file_usermessages_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6967,7 +7364,7 @@ type CUserMessage_DllStatus_CVDiagnostic struct { func (x *CUserMessage_DllStatus_CVDiagnostic) Reset() { *x = CUserMessage_DllStatus_CVDiagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[96] + mi := &file_usermessages_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6980,7 +7377,7 @@ func (x *CUserMessage_DllStatus_CVDiagnostic) String() string { func (*CUserMessage_DllStatus_CVDiagnostic) ProtoMessage() {} func (x *CUserMessage_DllStatus_CVDiagnostic) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[96] + mi := &file_usermessages_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7038,7 +7435,7 @@ type CUserMessage_DllStatus_CModule struct { func (x *CUserMessage_DllStatus_CModule) Reset() { *x = CUserMessage_DllStatus_CModule{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[97] + mi := &file_usermessages_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7051,7 +7448,7 @@ func (x *CUserMessage_DllStatus_CModule) String() string { func (*CUserMessage_DllStatus_CModule) ProtoMessage() {} func (x *CUserMessage_DllStatus_CModule) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[97] + mi := &file_usermessages_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7115,7 +7512,7 @@ type CUserMessage_Inventory_Response_InventoryDetail struct { func (x *CUserMessage_Inventory_Response_InventoryDetail) Reset() { *x = CUserMessage_Inventory_Response_InventoryDetail{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[98] + mi := &file_usermessages_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7128,7 +7525,7 @@ func (x *CUserMessage_Inventory_Response_InventoryDetail) String() string { func (*CUserMessage_Inventory_Response_InventoryDetail) ProtoMessage() {} func (x *CUserMessage_Inventory_Response_InventoryDetail) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[98] + mi := &file_usermessages_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7237,7 +7634,7 @@ type CUserMessageRequestDiagnostic_Diagnostic struct { func (x *CUserMessageRequestDiagnostic_Diagnostic) Reset() { *x = CUserMessageRequestDiagnostic_Diagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[99] + mi := &file_usermessages_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7250,7 +7647,7 @@ func (x *CUserMessageRequestDiagnostic_Diagnostic) String() string { func (*CUserMessageRequestDiagnostic_Diagnostic) ProtoMessage() {} func (x *CUserMessageRequestDiagnostic_Diagnostic) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[99] + mi := &file_usermessages_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7382,7 +7779,7 @@ type CUserMessage_Diagnostic_Response_Diagnostic struct { func (x *CUserMessage_Diagnostic_Response_Diagnostic) Reset() { *x = CUserMessage_Diagnostic_Response_Diagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[100] + mi := &file_usermessages_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7395,7 +7792,7 @@ func (x *CUserMessage_Diagnostic_Response_Diagnostic) String() string { func (*CUserMessage_Diagnostic_Response_Diagnostic) ProtoMessage() {} func (x *CUserMessage_Diagnostic_Response_Diagnostic) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[100] + mi := &file_usermessages_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7528,7 +7925,7 @@ type CUserMessage_NotifyResponseFound_Criteria struct { func (x *CUserMessage_NotifyResponseFound_Criteria) Reset() { *x = CUserMessage_NotifyResponseFound_Criteria{} if protoimpl.UnsafeEnabled { - mi := &file_usermessages_proto_msgTypes[101] + mi := &file_usermessages_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7541,7 +7938,7 @@ func (x *CUserMessage_NotifyResponseFound_Criteria) String() string { func (*CUserMessage_NotifyResponseFound_Criteria) ProtoMessage() {} func (x *CUserMessage_NotifyResponseFound_Criteria) ProtoReflect() protoreflect.Message { - mi := &file_usermessages_proto_msgTypes[101] + mi := &file_usermessages_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7852,7 +8249,7 @@ var file_usermessages_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xa8, 0x45, 0x0a, 0x18, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x6f, 0x6e, 0x22, 0xb3, 0x50, 0x0a, 0x18, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x45, @@ -8091,863 +8488,966 @@ var file_usermessages_proto_rawDesc = []byte{ 0x5f, 0x76, 0x64, 0x61, 0x74, 0x61, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, - 0x56, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x73, 0x65, 0x74, 0x56, 0x64, 0x61, 0x74, 0x61, 0x1a, - 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0xdd, 0x03, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, - 0x31, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x62, - 0x61, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, - 0x61, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x61, 0x6e, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x42, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x14, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x56, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x73, 0x65, 0x74, 0x56, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x66, 0x0a, 0x15, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, + 0x65, 0x74, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x52, 0x13, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x5f, 0x66, + 0x61, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x61, 0x6e, 0x52, + 0x06, 0x61, 0x64, 0x64, 0x46, 0x61, 0x6e, 0x12, 0x47, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x66, 0x61, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x46, 0x61, 0x6e, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x6e, + 0x12, 0x76, 0x0a, 0x1b, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x18, + 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x52, 0x18, + 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x1a, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x1a, 0xdd, 0x03, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x5f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x6f, + 0x69, 0x63, 0x65, 0x42, 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, + 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, + 0x64, 0x63, 0x61, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x65, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x14, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x42, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x69, + 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x74, 0x65, 0x6c, 0x79, 0x1a, 0x70, 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, + 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, + 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0xbd, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x12, + 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, + 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, + 0x64, 0x63, 0x61, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x45, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x1a, 0x6c, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, + 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x77, 0x64, 0x5f, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, + 0x54, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x1a, 0xf5, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x4f, 0x42, 0x53, + 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3b, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x42, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x1a, 0x70, 0x0a, 0x18, 0x44, - 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, - 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x49, 0x6d, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0xbd, 0x01, - 0x0a, 0x14, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, - 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, - 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, - 0x79, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x1a, 0x6c, 0x0a, - 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, - 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, - 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6f, 0x72, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x1a, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x77, 0x64, - 0x5f, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, - 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x1a, 0xf5, 0x01, 0x0a, 0x1d, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4f, 0x72, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3b, 0x0a, - 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x69, 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x02, 0x75, 0x70, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x02, 0x75, 0x70, 0x12, 0x24, 0x0a, 0x04, - 0x6c, 0x65, 0x66, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, - 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x6c, 0x65, - 0x66, 0x74, 0x1a, 0xdb, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x23, + 0x72, 0x52, 0x02, 0x75, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x1a, 0xdb, 0x01, 0x0a, 0x17, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x72, + 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x75, 0x61, 0x74, 0x65, + 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x6b, 0x0a, 0x16, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa7, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x0c, 0x61, + 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, + 0x67, 0x6c, 0x65, 0x52, 0x0b, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x1a, 0xfc, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x3d, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, + 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, + 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x61, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x57, 0x65, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, + 0x0f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0d, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, + 0x65, 0x52, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x1a, + 0x69, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x53, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, + 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x73, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3b, 0x0a, 0x18, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x75, + 0x6c, 0x64, 0x44, 0x72, 0x61, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, + 0x5f, 0x64, 0x72, 0x61, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, + 0x75, 0x6c, 0x64, 0x44, 0x72, 0x61, 0x77, 0x1a, 0x91, 0x01, 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6c, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x65, + 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0x69, 0x0a, 0x14, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, + 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x93, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x6f, 0x57, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, + 0x66, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x2c, 0x0a, 0x12, 0x66, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x6f, 0x77, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x32, 0x12, 0x1d, 0x0a, + 0x0a, 0x66, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x09, 0x66, 0x6f, 0x77, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x1a, 0x38, 0x0a, 0x19, + 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x75, 0x6c, + 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x57, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x77, 0x1a, 0x5a, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x72, - 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x16, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x1a, 0x6b, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa7, 0x01, - 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, - 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x0d, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x33, 0x0a, 0x0c, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x0b, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x1a, 0xfc, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x12, 0x23, 0x0a, + 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x1a, 0x63, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x77, 0x65, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x65, 0x61, 0x72, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x0e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x35, 0x0a, 0x0d, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x7a, 0x65, - 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, - 0x12, 0x2f, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x3b, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x44, 0x72, 0x61, 0x77, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x64, 0x72, 0x61, 0x77, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x44, 0x72, 0x61, 0x77, 0x1a, 0x91, - 0x01, 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6c, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x4f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x77, 0x12, 0x23, 0x0a, + 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x25, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, + 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x5f, + 0x0a, 0x13, 0x53, 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, + 0x3a, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, + 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x66, 0x6c, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x46, 0x0a, 0x1a, 0x53, + 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6e, + 0x74, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x73, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x74, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x64, 0x65, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, + 0x73, 0x61, 0x74, 0x1a, 0x36, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, + 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x6b, 0x69, + 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x32, 0x0a, 0x11, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x61, 0x6e, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x1a, + 0x60, 0x0a, 0x20, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x72, 0x65, 0x65, 0x7a, + 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x1a, 0x8e, 0x01, 0x0a, 0x17, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x73, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x2f, 0x0a, 0x13, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x1a, 0x69, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, - 0x2c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x93, 0x01, - 0x0a, 0x18, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x6f, 0x57, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, - 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x6f, 0x77, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x32, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x10, 0x66, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x64, 0x69, - 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x6f, 0x77, 0x52, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x1a, 0x38, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x57, - 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x77, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x77, 0x1a, 0x5a, 0x0a, - 0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x63, 0x0a, 0x17, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x25, - 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x65, 0x78, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x5f, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x75, - 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, - 0x6e, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, - 0x6c, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x6c, 0x61, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x1a, 0x46, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x73, 0x61, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, - 0x74, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x73, 0x61, 0x74, 0x1a, 0x36, 0x0a, 0x12, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, - 0x6d, 0x65, 0x1a, 0x32, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x61, - 0x6e, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x5f, 0x66, - 0x72, 0x65, 0x65, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, - 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x1a, 0x60, 0x0a, 0x20, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x6c, 0x65, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x66, 0x72, - 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, - 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x8e, 0x01, 0x0a, 0x17, 0x46, 0x72, 0x65, - 0x65, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x6c, - 0x76, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x7a, - 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x74, 0x46, 0x72, 0x6f, - 0x7a, 0x65, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0x83, 0x01, 0x0a, 0x1b, 0x41, 0x64, - 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x61, 0x77, - 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x1a, - 0x32, 0x0a, 0x16, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x6c, 0x69, 0x73, - 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x69, 0x64, 0x1a, 0xa6, 0x07, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x70, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x64, 0x6f, 0x74, + 0x6c, 0x65, 0x1a, 0x83, 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x6c, + 0x69, 0x73, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x73, 0x70, + 0x61, 0x77, 0x6e, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x1a, 0x32, 0x0a, 0x16, 0x43, 0x6c, 0x65, 0x61, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x1a, 0xa6, 0x07, 0x0a, + 0x1c, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x70, 0x0a, + 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x73, 0x0a, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, + 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, + 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x71, 0x0a, 0x0e, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, - 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x76, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x7c, 0x0a, 0x10, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x0e, 0x65, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x4a, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x45, - 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x65, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x11, - 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, - 0x64, 0x0a, 0x12, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x9d, 0x01, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, - 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x55, 0x0a, 0x0e, 0x45, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0xa7, 0x01, 0x0a, - 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x53, 0x69, - 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x75, 0x73, 0x65, - 0x5f, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x69, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, - 0x75, 0x73, 0x65, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, - 0x79, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x53, 0x69, 0x6d, 0x1a, 0x29, 0x0a, 0x08, 0x53, - 0x65, 0x74, 0x56, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64, 0x61, - 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0x05, 0x08, 0x64, 0x10, 0xca, 0x01, 0x22, 0x2e, 0x0a, - 0x11, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, - 0x18, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, - 0x1f, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x70, - 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x75, 0x6c, 0x73, 0x65, - 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, - 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x41, 0x6d, 0x70, 0x6c, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x66, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, - 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, - 0x27, 0x0a, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x20, 0x43, 0x55, 0x73, - 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, - 0x07, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x68, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x66, 0x66, - 0x65, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0b, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x58, 0x0a, 0x1f, - 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x69, 0x6d, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x84, 0x01, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x73, 0x73, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, - 0x50, 0x61, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x73, 0x73, 0x5f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x73, 0x73, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x41, 0x64, 0x64, 0x22, 0x3c, 0x0a, - 0x1b, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x20, 0x43, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x61, 0x67, 0x43, 0x6f, - 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1c, 0x43, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, - 0x6c, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, - 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x1d, - 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x75, 0x74, 0x69, 0x6c, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, - 0x69, 0x6c, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x32, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, - 0x6c, 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x33, 0x12, - 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x75, 0x74, 0x69, 0x6c, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x22, 0x96, 0x04, 0x0a, 0x1d, - 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x55, 0x74, 0x69, - 0x6c, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, - 0x1d, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x72, 0x63, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x63, 0x72, - 0x63, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x72, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x63, 0x72, 0x63, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x63, 0x72, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x08, 0x63, 0x72, 0x63, 0x50, 0x61, 0x72, 0x74, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x50, 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x55, 0x74, 0x69, 0x6c, - 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x1a, 0x5c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x10, - 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, 0x63, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x04, 0x0a, 0x16, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, - 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x44, 0x6c, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, - 0x3e, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x1a, - 0x73, 0x0a, 0x0c, 0x43, 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x6c, 0x0a, 0x07, 0x43, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x22, 0x6e, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0xf0, 0x06, 0x0a, 0x1f, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, - 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x65, 0x72, 0x66, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x57, 0x0a, 0x0b, 0x69, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, - 0x73, 0x32, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, - 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x49, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, - 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x32, 0x12, 0x59, 0x0a, - 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x33, 0x18, 0x0e, 0x20, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x64, 0x0a, 0x12, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, + 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x9d, + 0x01, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x28, 0x0a, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, + 0x6c, 0x65, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x55, + 0x0a, 0x0e, 0x45, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0xa7, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x53, 0x69, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, + 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x71, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x75, 0x73, 0x65, 0x48, 0x69, 0x67, 0x68, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, + 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, + 0x13, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, + 0x73, 0x53, 0x69, 0x6d, 0x1a, 0x29, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x56, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x1a, + 0x65, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x68, + 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x1a, 0xfe, 0x03, 0x0a, 0x06, 0x41, 0x64, 0x64, 0x46, 0x61, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0a, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x69, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0b, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x73, 0x12, + 0x2f, 0x0a, 0x0a, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x12, 0x3c, 0x0a, 0x11, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x66, + 0x61, 0x6e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x35, + 0x0a, 0x0d, 0x66, 0x61, 0x6e, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x66, 0x61, 0x6e, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x66, + 0x61, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x61, 0x6e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, + 0x72, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x6c, 0x6c, 0x6f, 0x66, 0x66, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x61, 0x6c, 0x6c, 0x6f, 0x66, 0x66, 0x12, 0x2c, 0x0a, + 0x12, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x75, 0x6c, 0x6c, 0x54, + 0x6f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, + 0x75, 0x72, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x44, 0x69, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x76, 0x65, + 0x4d, 0x61, 0x78, 0x44, 0x69, 0x73, 0x74, 0x1a, 0xd5, 0x02, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x46, 0x61, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2f, 0x0a, + 0x0a, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x09, 0x66, 0x61, 0x6e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x3c, + 0x0a, 0x11, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x66, 0x61, 0x6e, + 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x0d, + 0x66, 0x61, 0x6e, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x66, 0x61, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x61, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x70, 0x5f, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x66, 0x61, 0x6e, + 0x52, 0x61, 0x6d, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x31, 0x0a, 0x0b, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0a, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x69, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0b, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x73, 0x1a, + 0x60, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x2a, 0x05, 0x08, 0x64, 0x10, 0xca, 0x01, 0x22, 0x2e, 0x0a, 0x11, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x18, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x1f, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, + 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, + 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x61, + 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x41, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x20, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x49, + 0x64, 0x12, 0x31, 0x0a, 0x15, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x65, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x58, 0x0a, 0x1f, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x84, 0x01, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, + 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x6e, 0x65, 0x6c, + 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x73, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, + 0x73, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x69, 0x73, 0x41, 0x64, 0x64, 0x22, 0x3c, 0x0a, 0x1b, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x72, + 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x20, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x6c, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6c, 0x6c, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6c, 0x6c, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x1d, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x55, 0x74, + 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, + 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x31, 0x12, 0x14, + 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, + 0x74, 0x69, 0x6c, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x33, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x33, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, + 0x69, 0x6c, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x34, + 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x22, 0x96, 0x04, 0x0a, 0x1d, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x5f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, 0x63, + 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x63, 0x72, 0x63, 0x32, 0x12, 0x1f, 0x0a, + 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x12, 0x19, + 0x0a, 0x08, 0x63, 0x72, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x07, 0x63, 0x72, 0x63, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x63, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x63, 0x72, + 0x63, 0x50, 0x61, 0x72, 0x74, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x50, 0x0a, + 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x52, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x0a, + 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x32, 0x1a, 0x5c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xcb, 0x04, 0x0a, 0x16, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, + 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x43, 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x73, 0x0a, 0x0c, 0x43, 0x56, + 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, + 0x6c, 0x0a, 0x07, 0x43, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, + 0x61, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x6e, 0x0a, + 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf0, 0x06, + 0x0a, 0x1f, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, + 0x63, 0x72, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x65, 0x72, 0x66, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x57, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, + 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, + 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x32, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x33, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x1a, 0x8f, 0x02, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, - 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, - 0x73, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x62, 0x61, 0x73, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x62, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, - 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0xac, 0x03, 0x0a, 0x1d, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x50, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, - 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x1a, 0xb8, 0x02, 0x0a, 0x0a, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x76, 0x61, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x76, 0x61, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x22, 0xfc, 0x04, 0x0a, 0x20, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0b, 0x64, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, + 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x32, 0x12, 0x59, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x33, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, + 0x67, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x33, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, + 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0xe8, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, - 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x07, 0x61, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x62, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x62, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x1a, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x31, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x31, 0x12, 0x16, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x31, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x31, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x32, 0x22, 0xec, 0x04, 0x0a, 0x20, 0x43, - 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x63, 0x65, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x63, - 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x08, - 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x74, 0x5f, - 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, - 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, - 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x34, 0x0a, 0x16, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x14, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x08, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x24, 0x43, 0x55, - 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, - 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, - 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x2a, 0xac, 0x09, 0x0a, - 0x11, 0x45, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, - 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x66, - 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0x67, 0x12, 0x17, 0x0a, 0x13, 0x55, - 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x10, 0x68, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, - 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x69, 0x12, 0x0b, 0x0a, - 0x07, 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x64, 0x65, 0x10, 0x6a, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4d, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x10, 0x6b, 0x12, 0x0d, 0x0a, 0x09, - 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x4d, 0x73, 0x67, 0x10, 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x55, - 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0x6f, 0x12, 0x12, 0x0a, 0x0e, 0x55, - 0x4d, 0x5f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0x71, 0x12, - 0x13, 0x0a, 0x0f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x10, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, - 0x48, 0x55, 0x44, 0x10, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4d, 0x5f, 0x52, 0x75, 0x6d, 0x62, - 0x6c, 0x65, 0x10, 0x74, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, - 0x78, 0x74, 0x10, 0x75, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, - 0x78, 0x74, 0x32, 0x10, 0x76, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, - 0x65, 0x78, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x10, 0x77, 0x12, 0x0c, 0x0a, 0x08, - 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x78, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4d, - 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x10, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x55, - 0x4d, 0x5f, 0x57, 0x61, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x7a, 0x12, 0x0e, - 0x0a, 0x0a, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0x7c, 0x12, 0x11, - 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6c, 0x74, 0x10, - 0x7d, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, - 0x6b, 0x10, 0x80, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, - 0x75, 0x64, 0x69, 0x6f, 0x10, 0x82, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x49, 0x74, - 0x65, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x10, 0x83, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x55, - 0x4d, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x10, 0x84, 0x01, 0x12, - 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x86, - 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x4d, - 0x73, 0x67, 0x10, 0x87, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x10, 0x8e, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x43, 0x61, 0x6d, - 0x65, 0x72, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x8f, 0x01, - 0x12, 0x16, 0x0a, 0x11, 0x55, 0x4d, 0x5f, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x90, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4d, 0x5f, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x10, 0x91, - 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0x92, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x94, 0x01, 0x12, 0x17, 0x0a, 0x12, - 0x55, 0x4d, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x47, 0x72, 0x61, 0x70, 0x68, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x10, 0x95, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x55, 0x4d, 0x5f, 0x48, 0x61, 0x70, 0x74, - 0x69, 0x63, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x10, - 0x96, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x55, 0x4d, 0x5f, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x10, 0x97, 0x01, - 0x12, 0x19, 0x0a, 0x14, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x98, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x55, - 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x10, 0x99, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x9a, 0x01, 0x12, 0x1c, - 0x0a, 0x17, 0x55, 0x4d, 0x5f, 0x4c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x9b, 0x01, 0x12, 0x18, 0x0a, 0x13, - 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x10, 0x9c, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x9d, - 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x55, 0x4d, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9e, 0x01, 0x12, 0x19, 0x0a, - 0x14, 0x55, 0x4d, 0x5f, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9f, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, - 0xa0, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x4d, 0x5f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa1, 0x01, 0x12, 0x19, 0x0a, - 0x14, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x10, 0xa2, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x55, 0x4d, 0x5f, 0x44, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x10, 0xa3, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x55, 0x4d, 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, - 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xa4, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x55, - 0x4d, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa5, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x55, 0x4d, 0x5f, 0x50, - 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0xa6, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, - 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0xc8, 0x01, 0x2a, 0x94, 0x01, 0x0a, 0x13, - 0x45, 0x42, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0d, 0x45, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x4a, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x88, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x45, 0x4d, 0x5f, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x10, 0x89, 0x01, 0x12, 0x17, - 0x0a, 0x12, 0x45, 0x4d, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x65, - 0x63, 0x61, 0x6c, 0x73, 0x10, 0x8a, 0x01, 0x12, 0x16, 0x0a, 0x11, 0x45, 0x4d, 0x5f, 0x50, 0x72, - 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x10, 0x8b, 0x01, 0x12, - 0x0f, 0x0a, 0x0a, 0x45, 0x4d, 0x5f, 0x44, 0x6f, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x10, 0x8c, 0x01, - 0x12, 0x10, 0x0a, 0x0b, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x10, - 0x8d, 0x01, 0x2a, 0x6f, 0x0a, 0x09, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x16, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, - 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x4c, - 0x4c, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x4c, 0x4f, 0x47, 0x4f, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x54, 0x52, - 0x4f, 0x10, 0x03, 0x2a, 0xfe, 0x0d, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4d, 0x45, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, - 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, - 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x47, 0x41, 0x4d, 0x45, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, - 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, 0x4d, 0x45, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4f, - 0x52, 0x49, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x2f, 0x0a, 0x2b, - 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, - 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x2a, 0x0a, - 0x26, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, - 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x47, 0x41, 0x4d, - 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, - 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, - 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x41, 0x4d, 0x45, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, - 0x07, 0x12, 0x31, 0x0a, 0x2d, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4c, 0x56, 0x49, - 0x4e, 0x47, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x09, 0x12, 0x27, 0x0a, - 0x23, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, - 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x41, 0x54, - 0x45, 0x4e, 0x43, 0x59, 0x10, 0x0a, 0x12, 0x2b, 0x0a, 0x27, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x8f, + 0x02, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, + 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x62, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x73, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x48, 0x61, 0x73, 0x68, + 0x22, 0xac, 0x03, 0x0a, 0x1d, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x12, 0x50, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x1a, 0xb8, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x61, 0x72, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, + 0xfc, 0x04, 0x0a, 0x20, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x6f, 0x74, 0x61, + 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x73, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x1a, 0xe8, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x75, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x22, 0x94, + 0x01, 0x0a, 0x1a, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x69, 0x74, 0x65, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x32, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x31, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x32, 0x22, 0x8f, 0x05, 0x0a, 0x20, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, + 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x2e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x08, 0x63, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x10, 0x69, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x11, + 0x69, 0x6e, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x12, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x63, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x02, 0x52, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x43, 0x72, + 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x41, 0x0a, 0x08, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x24, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0a, + 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, + 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x6d, 0x69, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x2a, 0x91, 0x09, + 0x0a, 0x11, 0x45, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x65, 0x12, 0x13, 0x0a, 0x0f, + 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0x66, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0x67, 0x12, 0x17, 0x0a, 0x13, + 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x10, 0x68, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x69, + 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x69, 0x12, 0x0b, + 0x0a, 0x07, 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x64, 0x65, 0x10, 0x6a, 0x12, 0x10, 0x0a, 0x0c, 0x55, + 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x10, 0x6b, 0x12, 0x0d, 0x0a, + 0x09, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x4d, 0x73, 0x67, 0x10, 0x6e, 0x12, 0x0e, 0x0a, 0x0a, + 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0x6f, 0x12, 0x12, 0x0a, 0x0e, + 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0x71, + 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x10, 0x72, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x48, 0x55, 0x44, 0x10, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4d, 0x5f, 0x52, 0x75, 0x6d, + 0x62, 0x6c, 0x65, 0x10, 0x74, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, + 0x65, 0x78, 0x74, 0x10, 0x75, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, + 0x65, 0x78, 0x74, 0x32, 0x10, 0x76, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, + 0x54, 0x65, 0x78, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x10, 0x77, 0x12, 0x0c, 0x0a, + 0x08, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x78, 0x12, 0x0f, 0x0a, 0x0b, 0x55, + 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x10, 0x79, 0x12, 0x11, 0x0a, 0x0d, + 0x55, 0x4d, 0x5f, 0x57, 0x61, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x7a, 0x12, + 0x0e, 0x0a, 0x0a, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0x7c, 0x12, + 0x11, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6c, 0x74, + 0x10, 0x7d, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x10, 0x80, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, + 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0x82, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x49, + 0x74, 0x65, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x10, 0x83, 0x01, 0x12, 0x12, 0x0a, 0x0d, + 0x55, 0x4d, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x10, 0x84, 0x01, + 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x10, + 0x86, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, + 0x4d, 0x73, 0x67, 0x10, 0x87, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x10, 0x8e, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x43, 0x61, + 0x6d, 0x65, 0x72, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x8f, + 0x01, 0x12, 0x16, 0x0a, 0x11, 0x55, 0x4d, 0x5f, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x90, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4d, 0x5f, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x10, + 0x91, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0x92, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x94, 0x01, 0x12, 0x17, 0x0a, + 0x12, 0x55, 0x4d, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x47, 0x72, 0x61, 0x70, 0x68, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x10, 0x95, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x55, 0x4d, 0x5f, 0x48, 0x61, 0x70, + 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x75, 0x6c, 0x73, 0x65, + 0x10, 0x96, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x55, 0x4d, 0x5f, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, + 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x10, 0x97, + 0x01, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x73, + 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x10, 0x99, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, + 0x4d, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x10, 0x9a, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x55, 0x4d, 0x5f, 0x4c, 0x61, 0x67, 0x43, 0x6f, + 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, + 0x9b, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x9c, 0x01, 0x12, 0x19, 0x0a, 0x14, + 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x9d, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x55, 0x4d, 0x5f, 0x55, 0x74, + 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0x9e, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x4d, 0x5f, 0x44, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x9f, 0x01, 0x12, 0x18, + 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xa0, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x4d, 0x5f, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x10, 0xa1, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x10, 0xa2, 0x01, 0x12, 0x1a, + 0x0a, 0x15, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa3, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x55, 0x4d, + 0x5f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xa4, + 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x55, 0x4d, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa5, 0x01, 0x12, 0x1f, + 0x0a, 0x1a, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x10, 0xa6, 0x01, 0x12, + 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0xc8, + 0x01, 0x2a, 0x94, 0x01, 0x0a, 0x13, 0x45, 0x42, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0d, 0x45, 0x4d, 0x5f, + 0x50, 0x6c, 0x61, 0x79, 0x4a, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x88, 0x01, 0x12, 0x15, 0x0a, + 0x10, 0x45, 0x4d, 0x5f, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, + 0x79, 0x10, 0x89, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x4d, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x73, 0x10, 0x8a, 0x01, 0x12, 0x16, 0x0a, + 0x11, 0x45, 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, + 0x63, 0x65, 0x10, 0x8b, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x45, 0x4d, 0x5f, 0x44, 0x6f, 0x53, 0x70, + 0x61, 0x72, 0x6b, 0x10, 0x8c, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x78, + 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x8d, 0x01, 0x2a, 0x6f, 0x0a, 0x09, 0x65, 0x52, 0x6f, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, + 0x0c, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x53, 0x10, 0x01, 0x12, + 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x4a, 0x4f, 0x49, + 0x4e, 0x5f, 0x4c, 0x4f, 0x47, 0x4f, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x4c, + 0x5f, 0x4f, 0x55, 0x54, 0x54, 0x52, 0x4f, 0x10, 0x03, 0x2a, 0xbe, 0x0f, 0x0a, 0x10, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x26, + 0x0a, 0x22, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x5f, 0x44, 0x52, 0x41, - 0x57, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x2e, + 0x0a, 0x2a, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x32, + 0x0a, 0x2e, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x52, 0x49, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x03, 0x12, 0x2f, 0x0a, 0x2b, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, + 0x4b, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x5a, 0x45, 0x4e, 0x10, 0x0c, 0x12, 0x3f, 0x0a, 0x3b, 0x47, - 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, - 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0d, 0x12, 0x36, 0x0a, 0x32, + 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, + 0x2d, 0x0a, 0x29, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x06, 0x12, 0x27, + 0x0a, 0x23, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, + 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, 0x07, 0x12, 0x31, 0x0a, 0x2d, 0x47, 0x41, 0x4d, 0x45, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x5f, 0x49, + 0x4e, 0x56, 0x4f, 0x4c, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, + 0x45, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x0a, 0x12, 0x2b, 0x0a, 0x27, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, - 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x0e, 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x4f, 0x50, - 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x0f, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x41, 0x4d, 0x45, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, - 0x10, 0x10, 0x12, 0x34, 0x0a, 0x30, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x55, + 0x4c, 0x44, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4d, + 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x5a, 0x45, 0x4e, 0x10, + 0x0c, 0x12, 0x3f, 0x0a, 0x3b, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, + 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, + 0x10, 0x0d, 0x12, 0x36, 0x0a, 0x32, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x5f, 0x43, 0x48, 0x45, - 0x43, 0x4b, 0x5f, 0x46, 0x4f, 0x57, 0x10, 0x11, 0x12, 0x37, 0x0a, 0x33, 0x47, 0x41, 0x4d, 0x45, + 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, + 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0e, 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x4f, + 0x57, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x0f, 0x12, 0x28, + 0x0a, 0x24, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x10, 0x12, 0x34, 0x0a, 0x30, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x10, - 0x12, 0x12, 0x3a, 0x0a, 0x36, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x49, - 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x13, 0x12, 0x35, 0x0a, - 0x31, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, - 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, - 0x5f, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, - 0x54, 0x45, 0x10, 0x14, 0x12, 0x3d, 0x0a, 0x39, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x46, 0x4c, 0x41, - 0x47, 0x10, 0x15, 0x12, 0x3f, 0x0a, 0x3b, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x55, + 0x4c, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, 0x4f, 0x57, 0x10, 0x11, 0x12, 0x37, + 0x0a, 0x33, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x10, 0x12, 0x12, 0x3a, 0x0a, 0x36, 0x47, 0x41, 0x4d, 0x45, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, + 0x54, 0x10, 0x13, 0x12, 0x35, 0x0a, 0x31, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x4f, 0x42, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4e, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x44, 0x45, 0x53, - 0x41, 0x54, 0x10, 0x16, 0x12, 0x2d, 0x0a, 0x29, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x44, 0x10, 0x17, 0x12, 0x2c, 0x0a, 0x28, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x10, 0x14, 0x12, 0x3d, 0x0a, 0x39, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x45, 0x4e, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, + 0x49, 0x43, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x15, 0x12, 0x3f, 0x0a, 0x3b, 0x47, 0x41, 0x4d, + 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, + 0x4e, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4e, 0x54, 0x5f, 0x41, + 0x4e, 0x44, 0x5f, 0x44, 0x45, 0x53, 0x41, 0x54, 0x10, 0x16, 0x12, 0x2d, 0x0a, 0x29, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, + 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x10, 0x17, 0x12, 0x2c, 0x0a, 0x28, 0x47, 0x41, 0x4d, + 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x5f, 0x54, 0x4f, + 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x18, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x41, 0x4d, 0x45, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5a, + 0x45, 0x10, 0x19, 0x12, 0x37, 0x0a, 0x33, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, - 0x18, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, 0x10, 0x19, 0x12, 0x37, 0x0a, - 0x33, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, - 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x45, 0x58, 0x54, 0x10, 0x1a, 0x12, 0x30, 0x0a, 0x2c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x1b, 0x12, 0x3a, 0x0a, 0x36, 0x47, 0x41, 0x4d, 0x45, - 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, - 0x44, 0x45, 0x10, 0x1c, 0x12, 0x30, 0x0a, 0x2c, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4c, - 0x56, 0x49, 0x4e, 0x47, 0x10, 0x1d, 0x12, 0x3e, 0x0a, 0x3a, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, + 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x10, 0x1a, 0x12, 0x30, 0x0a, 0x2c, + 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x1b, 0x12, 0x3a, + 0x0a, 0x36, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x52, + 0x45, 0x45, 0x5a, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x1c, 0x12, 0x30, 0x0a, 0x2c, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, + 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4c, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x1d, 0x12, 0x3e, 0x0a, 0x3a, + 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, + 0x44, 0x45, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x1e, 0x12, 0x38, 0x0a, 0x34, + 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x45, 0x41, + 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, + 0x52, 0x49, 0x44, 0x45, 0x10, 0x1f, 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x4c, - 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x5f, 0x45, 0x4c, 0x45, - 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x1e, 0x12, 0x38, 0x0a, 0x34, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x48, 0x59, + 0x53, 0x49, 0x43, 0x53, 0x5f, 0x53, 0x49, 0x4d, 0x10, 0x20, 0x12, 0x33, 0x0a, 0x2f, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, + 0x59, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x53, 0x5f, 0x53, 0x49, 0x4d, 0x10, 0x21, 0x12, + 0x29, 0x0a, 0x25, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, + 0x45, 0x54, 0x5f, 0x56, 0x44, 0x41, 0x54, 0x41, 0x10, 0x22, 0x12, 0x35, 0x0a, 0x31, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4d, 0x41, + 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, + 0x23, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x41, 0x4e, 0x10, 0x24, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x46, 0x41, 0x4e, 0x10, 0x25, 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x4c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x1f, - 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, - 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x53, 0x5f, 0x53, - 0x49, 0x4d, 0x10, 0x20, 0x12, 0x33, 0x0a, 0x2f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x5f, 0x50, 0x48, 0x59, 0x53, - 0x49, 0x43, 0x53, 0x5f, 0x53, 0x49, 0x4d, 0x10, 0x21, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x41, 0x4d, - 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, - 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x56, 0x44, 0x41, - 0x54, 0x41, 0x10, 0x22, 0x2a, 0x74, 0x0a, 0x10, 0x45, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x50, - 0x75, 0x6c, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x52, 0x5f, 0x48, - 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, - 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x52, 0x5f, 0x48, - 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, - 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x52, 0x5f, - 0x48, 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x55, 0x4c, 0x53, - 0x45, 0x5f, 0x53, 0x54, 0x52, 0x4f, 0x4e, 0x47, 0x10, 0x02, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, - 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, - 0x61, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, + 0x52, 0x5f, 0x47, 0x52, 0x4f, 0x57, 0x54, 0x48, 0x10, 0x26, 0x2a, 0x74, 0x0a, 0x10, 0x45, 0x48, + 0x61, 0x70, 0x74, 0x69, 0x63, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, + 0x0a, 0x1a, 0x56, 0x52, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, + 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x00, 0x12, 0x1f, + 0x0a, 0x1b, 0x56, 0x52, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, + 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, + 0x1f, 0x0a, 0x1b, 0x56, 0x52, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, + 0x43, 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x4f, 0x4e, 0x47, 0x10, 0x02, + 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, + 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, + 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, } var ( @@ -8963,7 +9463,7 @@ func file_usermessages_proto_rawDescGZIP() []byte { } var file_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 102) +var file_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 106) var file_usermessages_proto_goTypes = []interface{}{ (EBaseUserMessages)(0), // 0: dota.EBaseUserMessages (EBaseEntityMessages)(0), // 1: dota.EBaseEntityMessages @@ -9061,36 +9561,40 @@ var file_usermessages_proto_goTypes = []interface{}{ (*CUserMsg_ParticleManager_CreatePhysicsSim)(nil), // 93: dota.CUserMsg_ParticleManager.CreatePhysicsSim (*CUserMsg_ParticleManager_DestroyPhysicsSim)(nil), // 94: dota.CUserMsg_ParticleManager.DestroyPhysicsSim (*CUserMsg_ParticleManager_SetVData)(nil), // 95: dota.CUserMsg_ParticleManager.SetVData - (*CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue)(nil), // 96: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue - (*CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue)(nil), // 97: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue - (*CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue)(nil), // 98: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue - (*CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext)(nil), // 99: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.EHandleContext - (*CUserMessage_UtilMsg_Response_ItemDetail)(nil), // 100: dota.CUserMessage_UtilMsg_Response.ItemDetail - (*CUserMessage_DllStatus_CVDiagnostic)(nil), // 101: dota.CUserMessage_DllStatus.CVDiagnostic - (*CUserMessage_DllStatus_CModule)(nil), // 102: dota.CUserMessage_DllStatus.CModule - (*CUserMessage_Inventory_Response_InventoryDetail)(nil), // 103: dota.CUserMessage_Inventory_Response.InventoryDetail - (*CUserMessageRequestDiagnostic_Diagnostic)(nil), // 104: dota.CUserMessageRequestDiagnostic.Diagnostic - (*CUserMessage_Diagnostic_Response_Diagnostic)(nil), // 105: dota.CUserMessage_Diagnostic_Response.Diagnostic - (*CUserMessage_NotifyResponseFound_Criteria)(nil), // 106: dota.CUserMessage_NotifyResponseFound.Criteria - (*CMsgVector)(nil), // 107: dota.CMsgVector - (*CEntityMsg)(nil), // 108: dota.CEntityMsg - (*CMsgQAngle)(nil), // 109: dota.CMsgQAngle - (*CMsgQuaternion)(nil), // 110: dota.CMsgQuaternion + (*CUserMsg_ParticleManager_SetMaterialOverride)(nil), // 96: dota.CUserMsg_ParticleManager.SetMaterialOverride + (*CUserMsg_ParticleManager_AddFan)(nil), // 97: dota.CUserMsg_ParticleManager.AddFan + (*CUserMsg_ParticleManager_UpdateFan)(nil), // 98: dota.CUserMsg_ParticleManager.UpdateFan + (*CUserMsg_ParticleManager_SetParticleClusterGrowth)(nil), // 99: dota.CUserMsg_ParticleManager.SetParticleClusterGrowth + (*CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue)(nil), // 100: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue + (*CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue)(nil), // 101: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue + (*CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue)(nil), // 102: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue + (*CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext)(nil), // 103: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.EHandleContext + (*CUserMessage_UtilMsg_Response_ItemDetail)(nil), // 104: dota.CUserMessage_UtilMsg_Response.ItemDetail + (*CUserMessage_DllStatus_CVDiagnostic)(nil), // 105: dota.CUserMessage_DllStatus.CVDiagnostic + (*CUserMessage_DllStatus_CModule)(nil), // 106: dota.CUserMessage_DllStatus.CModule + (*CUserMessage_Inventory_Response_InventoryDetail)(nil), // 107: dota.CUserMessage_Inventory_Response.InventoryDetail + (*CUserMessageRequestDiagnostic_Diagnostic)(nil), // 108: dota.CUserMessageRequestDiagnostic.Diagnostic + (*CUserMessage_Diagnostic_Response_Diagnostic)(nil), // 109: dota.CUserMessage_Diagnostic_Response.Diagnostic + (*CUserMessage_NotifyResponseFound_Criteria)(nil), // 110: dota.CUserMessage_NotifyResponseFound.Criteria + (*CMsgVector)(nil), // 111: dota.CMsgVector + (*CEntityMsg)(nil), // 112: dota.CEntityMsg + (*CMsgQAngle)(nil), // 113: dota.CMsgQAngle + (*CMsgQuaternion)(nil), // 114: dota.CMsgQuaternion } var file_usermessages_proto_depIdxs = []int32{ 12, // 0: dota.CUserMessageShakeDir.shake:type_name -> dota.CUserMessageShake - 107, // 1: dota.CUserMessageShakeDir.direction:type_name -> dota.CMsgVector - 107, // 2: dota.CUserMessageScreenTilt.angle:type_name -> dota.CMsgVector + 111, // 1: dota.CUserMessageShakeDir.direction:type_name -> dota.CMsgVector + 111, // 2: dota.CUserMessageScreenTilt.angle:type_name -> dota.CMsgVector 2, // 3: dota.CUserMessageCreditsMsg.rolltype:type_name -> dota.eRollType - 108, // 4: dota.CEntityMessagePlayJingle.entity_msg:type_name -> dota.CEntityMsg - 108, // 5: dota.CEntityMessageScreenOverlay.entity_msg:type_name -> dota.CEntityMsg - 108, // 6: dota.CEntityMessageRemoveAllDecals.entity_msg:type_name -> dota.CEntityMsg - 107, // 7: dota.CEntityMessagePropagateForce.impulse:type_name -> dota.CMsgVector - 108, // 8: dota.CEntityMessagePropagateForce.entity_msg:type_name -> dota.CEntityMsg - 107, // 9: dota.CEntityMessageDoSpark.origin:type_name -> dota.CMsgVector - 108, // 10: dota.CEntityMessageDoSpark.entity_msg:type_name -> dota.CEntityMsg - 109, // 11: dota.CEntityMessageFixAngle.angle:type_name -> dota.CMsgQAngle - 108, // 12: dota.CEntityMessageFixAngle.entity_msg:type_name -> dota.CEntityMsg + 112, // 4: dota.CEntityMessagePlayJingle.entity_msg:type_name -> dota.CEntityMsg + 112, // 5: dota.CEntityMessageScreenOverlay.entity_msg:type_name -> dota.CEntityMsg + 112, // 6: dota.CEntityMessageRemoveAllDecals.entity_msg:type_name -> dota.CEntityMsg + 111, // 7: dota.CEntityMessagePropagateForce.impulse:type_name -> dota.CMsgVector + 112, // 8: dota.CEntityMessagePropagateForce.entity_msg:type_name -> dota.CEntityMsg + 111, // 9: dota.CEntityMessageDoSpark.origin:type_name -> dota.CMsgVector + 112, // 10: dota.CEntityMessageDoSpark.entity_msg:type_name -> dota.CEntityMsg + 113, // 11: dota.CEntityMessageFixAngle.angle:type_name -> dota.CMsgQAngle + 112, // 12: dota.CEntityMessageFixAngle.entity_msg:type_name -> dota.CEntityMsg 61, // 13: dota.CUserMessageCameraTransition.params_data_driven:type_name -> dota.CUserMessageCameraTransition.Transition_DataDriven 3, // 14: dota.CUserMsg_ParticleManager.type:type_name -> dota.PARTICLE_MESSAGE 62, // 15: dota.CUserMsg_ParticleManager.release_particle_index:type_name -> dota.CUserMsg_ParticleManager.ReleaseParticleIndex @@ -9127,44 +9631,59 @@ var file_usermessages_proto_depIdxs = []int32{ 93, // 46: dota.CUserMsg_ParticleManager.create_physics_sim:type_name -> dota.CUserMsg_ParticleManager.CreatePhysicsSim 94, // 47: dota.CUserMsg_ParticleManager.destroy_physics_sim:type_name -> dota.CUserMsg_ParticleManager.DestroyPhysicsSim 95, // 48: dota.CUserMsg_ParticleManager.set_vdata:type_name -> dota.CUserMsg_ParticleManager.SetVData - 100, // 49: dota.CUserMessage_UtilMsg_Response.itemdetails:type_name -> dota.CUserMessage_UtilMsg_Response.ItemDetail - 101, // 50: dota.CUserMessage_DllStatus.diagnostics:type_name -> dota.CUserMessage_DllStatus.CVDiagnostic - 102, // 51: dota.CUserMessage_DllStatus.modules:type_name -> dota.CUserMessage_DllStatus.CModule - 103, // 52: dota.CUserMessage_Inventory_Response.inventories:type_name -> dota.CUserMessage_Inventory_Response.InventoryDetail - 103, // 53: dota.CUserMessage_Inventory_Response.inventories2:type_name -> dota.CUserMessage_Inventory_Response.InventoryDetail - 103, // 54: dota.CUserMessage_Inventory_Response.inventories3:type_name -> dota.CUserMessage_Inventory_Response.InventoryDetail - 104, // 55: dota.CUserMessageRequestDiagnostic.diagnostics:type_name -> dota.CUserMessageRequestDiagnostic.Diagnostic - 105, // 56: dota.CUserMessage_Diagnostic_Response.diagnostics:type_name -> dota.CUserMessage_Diagnostic_Response.Diagnostic - 106, // 57: dota.CUserMessage_NotifyResponseFound.criteria:type_name -> dota.CUserMessage_NotifyResponseFound.Criteria - 107, // 58: dota.CUserMessage_PlayResponseConditional.ent_origin:type_name -> dota.CMsgVector - 107, // 59: dota.CUserMsg_ParticleManager.CreateParticle.aggregation_position:type_name -> dota.CMsgVector - 107, // 60: dota.CUserMsg_ParticleManager.UpdateParticle_OBSOLETE.position:type_name -> dota.CMsgVector - 107, // 61: dota.CUserMsg_ParticleManager.UpdateParticleFwd_OBSOLETE.forward:type_name -> dota.CMsgVector - 107, // 62: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.forward:type_name -> dota.CMsgVector - 107, // 63: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.deprecated_right:type_name -> dota.CMsgVector - 107, // 64: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.up:type_name -> dota.CMsgVector - 107, // 65: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.left:type_name -> dota.CMsgVector - 107, // 66: dota.CUserMsg_ParticleManager.UpdateParticleTransform.position:type_name -> dota.CMsgVector - 110, // 67: dota.CUserMsg_ParticleManager.UpdateParticleTransform.orientation:type_name -> dota.CMsgQuaternion - 107, // 68: dota.CUserMsg_ParticleManager.UpdateParticleFallback.position:type_name -> dota.CMsgVector - 107, // 69: dota.CUserMsg_ParticleManager.UpdateParticleOffset.origin_offset:type_name -> dota.CMsgVector - 109, // 70: dota.CUserMsg_ParticleManager.UpdateParticleOffset.angle_offset:type_name -> dota.CMsgQAngle - 107, // 71: dota.CUserMsg_ParticleManager.UpdateParticleEnt.fallback_position:type_name -> dota.CMsgVector - 107, // 72: dota.CUserMsg_ParticleManager.UpdateParticleEnt.offset_position:type_name -> dota.CMsgVector - 109, // 73: dota.CUserMsg_ParticleManager.UpdateParticleEnt.offset_angles:type_name -> dota.CMsgQAngle - 107, // 74: dota.CUserMsg_ParticleManager.UpdateEntityPosition.position:type_name -> dota.CMsgVector - 96, // 75: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.float_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue - 97, // 76: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.vector_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue - 98, // 77: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.transform_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue - 99, // 78: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.ehandle_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.EHandleContext - 107, // 79: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue.value:type_name -> dota.CMsgVector - 109, // 80: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue.angles:type_name -> dota.CMsgQAngle - 107, // 81: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue.translation:type_name -> dota.CMsgVector - 82, // [82:82] is the sub-list for method output_type - 82, // [82:82] is the sub-list for method input_type - 82, // [82:82] is the sub-list for extension type_name - 82, // [82:82] is the sub-list for extension extendee - 0, // [0:82] is the sub-list for field type_name + 96, // 49: dota.CUserMsg_ParticleManager.set_material_override:type_name -> dota.CUserMsg_ParticleManager.SetMaterialOverride + 97, // 50: dota.CUserMsg_ParticleManager.add_fan:type_name -> dota.CUserMsg_ParticleManager.AddFan + 98, // 51: dota.CUserMsg_ParticleManager.update_fan:type_name -> dota.CUserMsg_ParticleManager.UpdateFan + 99, // 52: dota.CUserMsg_ParticleManager.set_particle_cluster_growth:type_name -> dota.CUserMsg_ParticleManager.SetParticleClusterGrowth + 104, // 53: dota.CUserMessage_UtilMsg_Response.itemdetails:type_name -> dota.CUserMessage_UtilMsg_Response.ItemDetail + 105, // 54: dota.CUserMessage_DllStatus.diagnostics:type_name -> dota.CUserMessage_DllStatus.CVDiagnostic + 106, // 55: dota.CUserMessage_DllStatus.modules:type_name -> dota.CUserMessage_DllStatus.CModule + 107, // 56: dota.CUserMessage_Inventory_Response.inventories:type_name -> dota.CUserMessage_Inventory_Response.InventoryDetail + 107, // 57: dota.CUserMessage_Inventory_Response.inventories2:type_name -> dota.CUserMessage_Inventory_Response.InventoryDetail + 107, // 58: dota.CUserMessage_Inventory_Response.inventories3:type_name -> dota.CUserMessage_Inventory_Response.InventoryDetail + 108, // 59: dota.CUserMessageRequestDiagnostic.diagnostics:type_name -> dota.CUserMessageRequestDiagnostic.Diagnostic + 109, // 60: dota.CUserMessage_Diagnostic_Response.diagnostics:type_name -> dota.CUserMessage_Diagnostic_Response.Diagnostic + 110, // 61: dota.CUserMessage_NotifyResponseFound.criteria:type_name -> dota.CUserMessage_NotifyResponseFound.Criteria + 111, // 62: dota.CUserMessage_PlayResponseConditional.ent_origin:type_name -> dota.CMsgVector + 111, // 63: dota.CUserMsg_ParticleManager.CreateParticle.aggregation_position:type_name -> dota.CMsgVector + 111, // 64: dota.CUserMsg_ParticleManager.UpdateParticle_OBSOLETE.position:type_name -> dota.CMsgVector + 111, // 65: dota.CUserMsg_ParticleManager.UpdateParticleFwd_OBSOLETE.forward:type_name -> dota.CMsgVector + 111, // 66: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.forward:type_name -> dota.CMsgVector + 111, // 67: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.deprecated_right:type_name -> dota.CMsgVector + 111, // 68: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.up:type_name -> dota.CMsgVector + 111, // 69: dota.CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE.left:type_name -> dota.CMsgVector + 111, // 70: dota.CUserMsg_ParticleManager.UpdateParticleTransform.position:type_name -> dota.CMsgVector + 114, // 71: dota.CUserMsg_ParticleManager.UpdateParticleTransform.orientation:type_name -> dota.CMsgQuaternion + 111, // 72: dota.CUserMsg_ParticleManager.UpdateParticleFallback.position:type_name -> dota.CMsgVector + 111, // 73: dota.CUserMsg_ParticleManager.UpdateParticleOffset.origin_offset:type_name -> dota.CMsgVector + 113, // 74: dota.CUserMsg_ParticleManager.UpdateParticleOffset.angle_offset:type_name -> dota.CMsgQAngle + 111, // 75: dota.CUserMsg_ParticleManager.UpdateParticleEnt.fallback_position:type_name -> dota.CMsgVector + 111, // 76: dota.CUserMsg_ParticleManager.UpdateParticleEnt.offset_position:type_name -> dota.CMsgVector + 113, // 77: dota.CUserMsg_ParticleManager.UpdateParticleEnt.offset_angles:type_name -> dota.CMsgQAngle + 111, // 78: dota.CUserMsg_ParticleManager.UpdateEntityPosition.position:type_name -> dota.CMsgVector + 100, // 79: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.float_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue + 101, // 80: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.vector_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue + 102, // 81: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.transform_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue + 103, // 82: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.ehandle_values:type_name -> dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.EHandleContext + 111, // 83: dota.CUserMsg_ParticleManager.AddFan.bounds_mins:type_name -> dota.CMsgVector + 111, // 84: dota.CUserMsg_ParticleManager.AddFan.bounds_maxs:type_name -> dota.CMsgVector + 111, // 85: dota.CUserMsg_ParticleManager.AddFan.fan_origin:type_name -> dota.CMsgVector + 111, // 86: dota.CUserMsg_ParticleManager.AddFan.fan_origin_offset:type_name -> dota.CMsgVector + 111, // 87: dota.CUserMsg_ParticleManager.AddFan.fan_direction:type_name -> dota.CMsgVector + 111, // 88: dota.CUserMsg_ParticleManager.UpdateFan.fan_origin:type_name -> dota.CMsgVector + 111, // 89: dota.CUserMsg_ParticleManager.UpdateFan.fan_origin_offset:type_name -> dota.CMsgVector + 111, // 90: dota.CUserMsg_ParticleManager.UpdateFan.fan_direction:type_name -> dota.CMsgVector + 111, // 91: dota.CUserMsg_ParticleManager.UpdateFan.bounds_mins:type_name -> dota.CMsgVector + 111, // 92: dota.CUserMsg_ParticleManager.UpdateFan.bounds_maxs:type_name -> dota.CMsgVector + 111, // 93: dota.CUserMsg_ParticleManager.SetParticleClusterGrowth.origin:type_name -> dota.CMsgVector + 111, // 94: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue.value:type_name -> dota.CMsgVector + 113, // 95: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue.angles:type_name -> dota.CMsgQAngle + 111, // 96: dota.CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue.translation:type_name -> dota.CMsgVector + 97, // [97:97] is the sub-list for method output_type + 97, // [97:97] is the sub-list for method input_type + 97, // [97:97] is the sub-list for extension type_name + 97, // [97:97] is the sub-list for extension extendee + 0, // [0:97] is the sub-list for field type_name } func init() { file_usermessages_proto_init() } @@ -10269,7 +10788,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue); i { + switch v := v.(*CUserMsg_ParticleManager_SetMaterialOverride); i { case 0: return &v.state case 1: @@ -10281,7 +10800,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue); i { + switch v := v.(*CUserMsg_ParticleManager_AddFan); i { case 0: return &v.state case 1: @@ -10293,7 +10812,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue); i { + switch v := v.(*CUserMsg_ParticleManager_UpdateFan); i { case 0: return &v.state case 1: @@ -10305,7 +10824,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext); i { + switch v := v.(*CUserMsg_ParticleManager_SetParticleClusterGrowth); i { case 0: return &v.state case 1: @@ -10317,7 +10836,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMessage_UtilMsg_Response_ItemDetail); i { + switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_FloatContextValue); i { case 0: return &v.state case 1: @@ -10329,7 +10848,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMessage_DllStatus_CVDiagnostic); i { + switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_VectorContextValue); i { case 0: return &v.state case 1: @@ -10341,7 +10860,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMessage_DllStatus_CModule); i { + switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_TransformContextValue); i { case 0: return &v.state case 1: @@ -10353,7 +10872,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMessage_Inventory_Response_InventoryDetail); i { + switch v := v.(*CUserMsg_ParticleManager_SetParticleNamedValueContext_EHandleContext); i { case 0: return &v.state case 1: @@ -10365,7 +10884,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMessageRequestDiagnostic_Diagnostic); i { + switch v := v.(*CUserMessage_UtilMsg_Response_ItemDetail); i { case 0: return &v.state case 1: @@ -10377,7 +10896,7 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CUserMessage_Diagnostic_Response_Diagnostic); i { + switch v := v.(*CUserMessage_DllStatus_CVDiagnostic); i { case 0: return &v.state case 1: @@ -10389,6 +10908,54 @@ func file_usermessages_proto_init() { } } file_usermessages_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessage_DllStatus_CModule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessage_Inventory_Response_InventoryDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageRequestDiagnostic_Diagnostic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessage_Diagnostic_Response_Diagnostic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CUserMessage_NotifyResponseFound_Criteria); i { case 0: return &v.state @@ -10407,7 +10974,7 @@ func file_usermessages_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_usermessages_proto_rawDesc, NumEnums: 5, - NumMessages: 102, + NumMessages: 106, NumExtensions: 0, NumServices: 0, }, diff --git a/dota/usermessages.proto b/dota/usermessages.proto index f797297b..97494a9a 100644 --- a/dota/usermessages.proto +++ b/dota/usermessages.proto @@ -42,7 +42,6 @@ enum EBaseUserMessages { UM_AnimGraphUpdate = 149; UM_HapticsManagerPulse = 150; UM_HapticsManagerEffect = 151; - UM_CommandQueueState = 152; UM_UpdateCssClasses = 153; UM_ServerFrameTime = 154; UM_LagCompensationError = 155; @@ -113,6 +112,10 @@ enum PARTICLE_MESSAGE { GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM = 32; GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM = 33; GAME_PARTICLE_MANAGER_EVENT_SET_VDATA = 34; + GAME_PARTICLE_MANAGER_EVENT_SET_MATERIAL_OVERRIDE = 35; + GAME_PARTICLE_MANAGER_EVENT_ADD_FAN = 36; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_FAN = 37; + GAME_PARTICLE_MANAGER_EVENT_SET_CLUSTER_GROWTH = 38; } enum EHapticPulseType { @@ -549,6 +552,41 @@ message CUserMsg_ParticleManager { optional string vdata_name = 1; } + message SetMaterialOverride { + optional string material_name = 1; + optional bool include_children = 2; + } + + message AddFan { + optional bool active = 1; + optional CMsgVector bounds_mins = 2; + optional CMsgVector bounds_maxs = 3; + optional CMsgVector fan_origin = 4; + optional CMsgVector fan_origin_offset = 5; + optional CMsgVector fan_direction = 6; + optional float force = 7; + optional string fan_force_curve = 8; + optional bool falloff = 9; + optional bool pull_towards_point = 10; + optional float curve_min_dist = 11; + optional float curve_max_dist = 12; + } + + message UpdateFan { + optional bool active = 1; + optional CMsgVector fan_origin = 2; + optional CMsgVector fan_origin_offset = 3; + optional CMsgVector fan_direction = 4; + optional float fan_ramp_ratio = 7; + optional CMsgVector bounds_mins = 5; + optional CMsgVector bounds_maxs = 6; + } + + message SetParticleClusterGrowth { + optional float duration = 1; + optional CMsgVector origin = 2; + } + required PARTICLE_MESSAGE type = 1; required uint32 index = 2; optional CUserMsg_ParticleManager.ReleaseParticleIndex release_particle_index = 3; @@ -585,6 +623,10 @@ message CUserMsg_ParticleManager { optional CUserMsg_ParticleManager.CreatePhysicsSim create_physics_sim = 35; optional CUserMsg_ParticleManager.DestroyPhysicsSim destroy_physics_sim = 36; optional CUserMsg_ParticleManager.SetVData set_vdata = 37; + optional CUserMsg_ParticleManager.SetMaterialOverride set_material_override = 38; + optional CUserMsg_ParticleManager.AddFan add_fan = 39; + optional CUserMsg_ParticleManager.UpdateFan update_fan = 40; + optional CUserMsg_ParticleManager.SetParticleClusterGrowth set_particle_cluster_growth = 41; extensions 100 to 201; } @@ -797,6 +839,7 @@ message CUserMessage_NotifyResponseFound { repeated float float_criteria_values = 9; repeated uint32 symbol_criteria_names = 10; repeated uint32 symbol_criteria_values = 11; + optional int32 speak_result = 12; } message CUserMessage_PlayResponseConditional { @@ -805,4 +848,5 @@ message CUserMessage_PlayResponseConditional { optional string response = 3; optional CMsgVector ent_origin = 4; optional float pre_delay = 5; + optional int32 mix_priority = 6; } diff --git a/dota/valveextensions.pb.go b/dota/valveextensions.pb.go index 3b7dc03e..74ddb845 100644 --- a/dota/valveextensions.pb.go +++ b/dota/valveextensions.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.5 +// protoc v3.21.12 // source: valveextensions.proto package dota @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" descriptorpb "google.golang.org/protobuf/types/descriptorpb" reflect "reflect" + sync "sync" ) const ( @@ -20,6 +21,71 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type EProtoDebugVisiblity int32 + +const ( + EProtoDebugVisiblity_k_EProtoDebugVisibility_Always EProtoDebugVisiblity = 0 + EProtoDebugVisiblity_k_EProtoDebugVisibility_Server EProtoDebugVisiblity = 70 + EProtoDebugVisiblity_k_EProtoDebugVisibility_ValveServer EProtoDebugVisiblity = 80 + EProtoDebugVisiblity_k_EProtoDebugVisibility_GC EProtoDebugVisiblity = 90 + EProtoDebugVisiblity_k_EProtoDebugVisibility_Never EProtoDebugVisiblity = 100 +) + +// Enum value maps for EProtoDebugVisiblity. +var ( + EProtoDebugVisiblity_name = map[int32]string{ + 0: "k_EProtoDebugVisibility_Always", + 70: "k_EProtoDebugVisibility_Server", + 80: "k_EProtoDebugVisibility_ValveServer", + 90: "k_EProtoDebugVisibility_GC", + 100: "k_EProtoDebugVisibility_Never", + } + EProtoDebugVisiblity_value = map[string]int32{ + "k_EProtoDebugVisibility_Always": 0, + "k_EProtoDebugVisibility_Server": 70, + "k_EProtoDebugVisibility_ValveServer": 80, + "k_EProtoDebugVisibility_GC": 90, + "k_EProtoDebugVisibility_Never": 100, + } +) + +func (x EProtoDebugVisiblity) Enum() *EProtoDebugVisiblity { + p := new(EProtoDebugVisiblity) + *p = x + return p +} + +func (x EProtoDebugVisiblity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EProtoDebugVisiblity) Descriptor() protoreflect.EnumDescriptor { + return file_valveextensions_proto_enumTypes[0].Descriptor() +} + +func (EProtoDebugVisiblity) Type() protoreflect.EnumType { + return &file_valveextensions_proto_enumTypes[0] +} + +func (x EProtoDebugVisiblity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EProtoDebugVisiblity) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EProtoDebugVisiblity(num) + return nil +} + +// Deprecated: Use EProtoDebugVisiblity.Descriptor instead. +func (EProtoDebugVisiblity) EnumDescriptor() ([]byte, []int) { + return file_valveextensions_proto_rawDescGZIP(), []int{0} +} + var file_valveextensions_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.FieldOptions)(nil), @@ -77,6 +143,14 @@ var file_valveextensions_proto_extTypes = []protoimpl.ExtensionInfo{ Tag: "varint,61006,opt,name=steamlearn_count", Filename: "valveextensions.proto", }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*EProtoDebugVisiblity)(nil), + Field: 61007, + Name: "dota.debugprint_visibility", + Tag: "varint,61007,opt,name=debugprint_visibility,enum=dota.EProtoDebugVisiblity", + Filename: "valveextensions.proto", + }, { ExtendedType: (*descriptorpb.EnumValueOptions)(nil), ExtensionType: (*string)(nil), @@ -119,16 +193,18 @@ var ( E_SteammlIsTimestamp = &file_valveextensions_proto_extTypes[5] // optional uint32 steamlearn_count = 61006; E_SteamlearnCount = &file_valveextensions_proto_extTypes[6] + // optional dota.EProtoDebugVisiblity debugprint_visibility = 61007; + E_DebugprintVisibility = &file_valveextensions_proto_extTypes[7] ) // Extension fields to descriptorpb.EnumValueOptions. var ( // optional string schema_friendly_name = 1000; - E_SchemaFriendlyName = &file_valveextensions_proto_extTypes[7] + E_SchemaFriendlyName = &file_valveextensions_proto_extTypes[8] // optional string schema_description = 1001; - E_SchemaDescription = &file_valveextensions_proto_extTypes[8] + E_SchemaDescription = &file_valveextensions_proto_extTypes[9] // optional bool schema_suppress_enumerator = 1002; - E_SchemaSuppressEnumerator = &file_valveextensions_proto_extTypes[9] + E_SchemaSuppressEnumerator = &file_valveextensions_proto_extTypes[10] ) var File_valveextensions_proto protoreflect.FileDescriptor @@ -137,80 +213,116 @@ var file_valveextensions_proto_rawDesc = []byte{ 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, - 0x47, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0xc8, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x76, 0x65, - 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x43, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x76, - 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc9, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x3a, 0x4b, 0x0a, - 0x11, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0xca, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x45, - 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x42, 0x0a, 0x0c, 0x64, 0x65, - 0x6c, 0x74, 0x61, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcb, 0xdc, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x3a, 0x4f, - 0x0a, 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcc, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x6d, 0x6c, 0x4d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, - 0x51, 0x0a, 0x14, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcd, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x6c, 0x49, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x3a, 0x4a, 0x0a, 0x10, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6c, 0x65, 0x61, 0x72, 0x6e, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, + 0xca, 0x01, 0x0a, 0x14, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x56, + 0x69, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, + 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x46, + 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x56, 0x61, 0x6c, 0x76, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x50, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x47, 0x43, 0x10, 0x5a, 0x12, 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x10, 0x64, 0x3a, 0x47, 0x0a, 0x0f, + 0x76, 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc8, + 0xdc, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x4d, 0x61, 0x70, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x43, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x6d, + 0x61, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xce, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x54, - 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x51, 0x0a, 0x12, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe9, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x60, 0x0a, 0x1a, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc9, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x76, + 0x61, 0x6c, 0x76, 0x65, 0x4d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x3a, 0x4b, 0x0a, 0x11, 0x64, 0x69, + 0x66, 0x66, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xca, + 0xdc, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x42, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x74, 0x61, + 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcb, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x3a, 0x4f, 0x0a, 0x13, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0xcc, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x6d, 0x6c, 0x4d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x51, 0x0a, 0x14, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0xcd, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x6d, 0x6c, 0x49, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x3a, + 0x4a, 0x0a, 0x10, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xce, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x70, 0x0a, 0x15, 0x64, + 0x65, 0x62, 0x75, 0x67, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0xcf, 0xdc, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x6f, + 0x74, 0x61, 0x2e, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x56, 0x69, + 0x73, 0x69, 0x62, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x14, 0x64, 0x65, 0x62, 0x75, 0x67, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x3a, 0x54, 0x0a, + 0x14, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x18, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x45, - 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, - 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, + 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x3a, 0x51, 0x0a, 0x12, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe9, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x60, 0x0a, 0x1a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x45, 0x6e, + 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x62, 0x75, 0x66, 0x66, 0x2f, + 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x2f, 0x64, 0x6f, 0x74, 0x61, 0x3b, 0x64, 0x6f, 0x74, 0x61, +} + +var ( + file_valveextensions_proto_rawDescOnce sync.Once + file_valveextensions_proto_rawDescData = file_valveextensions_proto_rawDesc +) + +func file_valveextensions_proto_rawDescGZIP() []byte { + file_valveextensions_proto_rawDescOnce.Do(func() { + file_valveextensions_proto_rawDescData = protoimpl.X.CompressGZIP(file_valveextensions_proto_rawDescData) + }) + return file_valveextensions_proto_rawDescData } +var file_valveextensions_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_valveextensions_proto_goTypes = []interface{}{ - (*descriptorpb.FieldOptions)(nil), // 0: google.protobuf.FieldOptions - (*descriptorpb.EnumValueOptions)(nil), // 1: google.protobuf.EnumValueOptions + (EProtoDebugVisiblity)(0), // 0: dota.EProtoDebugVisiblity + (*descriptorpb.FieldOptions)(nil), // 1: google.protobuf.FieldOptions + (*descriptorpb.EnumValueOptions)(nil), // 2: google.protobuf.EnumValueOptions } var file_valveextensions_proto_depIdxs = []int32{ - 0, // 0: dota.valve_map_field:extendee -> google.protobuf.FieldOptions - 0, // 1: dota.valve_map_key:extendee -> google.protobuf.FieldOptions - 0, // 2: dota.diff_encode_field:extendee -> google.protobuf.FieldOptions - 0, // 3: dota.delta_ignore:extendee -> google.protobuf.FieldOptions - 0, // 4: dota.steamml_max_entries:extendee -> google.protobuf.FieldOptions - 0, // 5: dota.steamml_is_timestamp:extendee -> google.protobuf.FieldOptions - 0, // 6: dota.steamlearn_count:extendee -> google.protobuf.FieldOptions - 1, // 7: dota.schema_friendly_name:extendee -> google.protobuf.EnumValueOptions - 1, // 8: dota.schema_description:extendee -> google.protobuf.EnumValueOptions - 1, // 9: dota.schema_suppress_enumerator:extendee -> google.protobuf.EnumValueOptions - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 0, // [0:10] is the sub-list for extension extendee + 1, // 0: dota.valve_map_field:extendee -> google.protobuf.FieldOptions + 1, // 1: dota.valve_map_key:extendee -> google.protobuf.FieldOptions + 1, // 2: dota.diff_encode_field:extendee -> google.protobuf.FieldOptions + 1, // 3: dota.delta_ignore:extendee -> google.protobuf.FieldOptions + 1, // 4: dota.steamml_max_entries:extendee -> google.protobuf.FieldOptions + 1, // 5: dota.steamml_is_timestamp:extendee -> google.protobuf.FieldOptions + 1, // 6: dota.steamlearn_count:extendee -> google.protobuf.FieldOptions + 1, // 7: dota.debugprint_visibility:extendee -> google.protobuf.FieldOptions + 2, // 8: dota.schema_friendly_name:extendee -> google.protobuf.EnumValueOptions + 2, // 9: dota.schema_description:extendee -> google.protobuf.EnumValueOptions + 2, // 10: dota.schema_suppress_enumerator:extendee -> google.protobuf.EnumValueOptions + 0, // 11: dota.debugprint_visibility:type_name -> dota.EProtoDebugVisiblity + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 11, // [11:12] is the sub-list for extension type_name + 0, // [0:11] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name } @@ -224,13 +336,14 @@ func file_valveextensions_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_valveextensions_proto_rawDesc, - NumEnums: 0, + NumEnums: 1, NumMessages: 0, - NumExtensions: 10, + NumExtensions: 11, NumServices: 0, }, GoTypes: file_valveextensions_proto_goTypes, DependencyIndexes: file_valveextensions_proto_depIdxs, + EnumInfos: file_valveextensions_proto_enumTypes, ExtensionInfos: file_valveextensions_proto_extTypes, }.Build() File_valveextensions_proto = out.File diff --git a/dota/valveextensions.proto b/dota/valveextensions.proto index 4027b39c..7e470c77 100644 --- a/dota/valveextensions.proto +++ b/dota/valveextensions.proto @@ -13,6 +13,7 @@ extend google.protobuf.FieldOptions { optional uint32 steamml_max_entries = 61004; optional bool steamml_is_timestamp = 61005; optional uint32 steamlearn_count = 61006; + optional EProtoDebugVisiblity debugprint_visibility = 61007; } extend google.protobuf.EnumValueOptions { @@ -20,3 +21,11 @@ extend google.protobuf.EnumValueOptions { optional string schema_description = 1001; optional bool schema_suppress_enumerator = 1002; } + +enum EProtoDebugVisiblity { + k_EProtoDebugVisibility_Always = 0; + k_EProtoDebugVisibility_Server = 70; + k_EProtoDebugVisibility_ValveServer = 80; + k_EProtoDebugVisibility_GC = 90; + k_EProtoDebugVisibility_Never = 100; +}